تبدیل اعداد فارسی به انگلیسی در وب سایت

خواص دارویی و گیاهی

تبدیل اعداد فارسی به انگلیسی در وب سایت
تبدیل اعداد فارسی به انگلیسی در وب سایت

یکی از مشکلات رایجی که اخیرا برنامه نویس ها و طراحان با آن درگیر هستند. مشکل فارسی سازی اعداد در وبسایت ، اپلیکیشن و برنامه‌های حروفچینی و گرافیکی است.

در این مقاله قصد داریم توضیح دهیم مشکل تایپ اعداد چیست و چگونه می‌توان آن را حل کرد.

مشکل از سال ها قبل شروع شد. زمانی که تایپ فارسی در محیط کامپیوتر اولین قدم های خودش را برمی‌داشت و کم کم حروفچینی کامپیوتری جایگزین روش های قدیمی چاپ شده بود.

در همان زمان بود که بعضی شرکت های ایرانی خواستند حروف تایپی موجود در صنعت نشر و چاپ ایران را به فونت تبدیل کنند و چون در آن زمان هم (خیلی جدی تر از الان) مشکل کیبورد فارسی وجود داشت. هنگام تایپ فارسی، عددها انگلیسی بودند و حتی بعضی حروف، عربی تایپ می‌شدند. این بود که راه حل جالبی به ذهنشان رسید!

راه حل این بود که در فونت های تولید شده، شکل گرافیکی اعداد انگلیسی را به شکل فارسی تغییر دهند.

تبدیل اعداد فارسی به انگلیسی در وب سایت

(و البته چند تغییر دیگر مثلا به جای«ي» و «ك» عربی ، «ی» و «ک» فارسی قرار دادند.)

در ظاهر این هکِ ساده به خوبی کار می‌کند و موقع تایپ برای همیشه از دست اعداد انگلیسی و حروف عربی راحت خواهیم شد.

این راه حل برای فارسی نویسی در حوزه چاپ به خوبی عمل می کرد تا زمانی که فارسی نویسی در محیط وب و نرم افزار به صورت جدی مطرح شد.

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

 

بنابراین ما در حین کار با فونت‌های فارسی رایج با دو دسته فونت مواجه هستیم:

۱- فونت‌های عادی که اعداد فارسی را فارسی و اعداد انگلیسی را انگلیسی نشان می‌دهند. (مثل Tahoma  و Arial)

۲- فونت های با اعداد تمام فارسی (هک شده) که کلا همه اعداد (چه فارسی و چه انگلیسی) را فارسی نشان می‌دهند. (مثل Byekan )

۱- مشخص ترین مشکل فونت‌های با اعداد تمام فارسی (هک شده) این است که نمی‌توان با آن اعداد انگلیسی را تایپ کرد. مثلا مجبوریم بنویسیم: ۳DMAX

تایپ ایمیل یا آدرس سایتی که حاوی عدد باشد هم با این فونت ها خیلی بدشکل خواهد شد. مثلا:  www.۹۸ia.com

۲- هنگام جستجو در مطالب سایت یا نرم افزار مشکلاتی ایجاد خواهد شد.

۳- ممکن است در برخی محاسبات مشکل ایجاد شود.

۴- با عوض شدن احتمالی فونت در مرورگرهایی که فونت ما را پشتیبانی نمی‌کنند مشکلات نمایان خواهد شد.

 

با وجود تمام مشکلاتی که برای اعداد تمام فارسی ذکر شد مجموعه فونت‌های فونت‌ایران (مانند ایران‌سنس ، ایران یکان ، ایران شارپ و …) حاوی فونت‌های با اعداد تمام فارسی هستند.

استفاده از فونت‌های با اعداد تمام فارسی اگر با آگاهی از چگونگی عملکرد باشد انتخاب اشتباهی نیست و در واقع ساده‌ترین روش برای فارسی کردن اعداد است اما لازم است به مشکلات احتمالی آن کاملا آگاه باشید.

 

1- فارسی وارد کردن اعداد از ابتدا

بهترین راه حل این است که از فونت استاندارد استفاده کنیم و برای تایپ اعداد به فارسی از کیبورد استاندارد فارسی استفاده کنیم. در ویندوز ۸ و یا بالاتر این کیبورد، با نا Persian(Standard)Keyboard در لیست کیبوردهای ویندوز وجود دارد. همچنین می توانید از این آدرس آن را دانلود و نصب کنید.

 

۲- فارسی کردن اعداد انگلیسی باد کدنویسی

اما اگر اعداد از اول فارسی ایجاد نشده باشد مجبوریم اعداد انگلیسی را با فارسی جایگزین کنیم برای اینکار چندین راه با مزایا و معایب مختلف وجود دارد:

1- با توابع زبان های سمت سرور نظیر PHP : اگر برنامه نویس باشید قطعا میدانید که می‌شود توسط برخی توابع ، عبارات مورد نظر را با عبارت دلخواه دیگر جایگزین کرد . شما میتوانید توسط این توابع مانند تابع str_replace در زبان php آرایه ای از اعداد 0 تا 10 انگلیسی را با آرایه‌ای از اعداد 0 تا 9 فارسی جایگزین کنید . البته این تنها یکی از روش هایی بود که مارا به هدفمان می‌رساند .
برای مثال اگه ما : عدد 256 را برای $English_Number وارد کنیم خروجی $Persian_Number به صورت ۲۵۶ خواهد بود :

فارسی کردن اعداد انگلیسی در وردپرس

اگر سایتتان وردپرسی است و از یکی از افزونه‌های ParsiDate یا wp-jalali استفاده می‌کنید. به راحتی می‌توانید از بخش تنظیمات افزونه اعدادِ مربوط به تاریخ، مطالب، بخش نظرات و جاهای دیگر وبسایت‌تان را فارسی کنید.

برای فارسی کردن باقی بخش ها هم می‌توانید مستندات افزونه را مشاهده کنید توابعی برای فارسی سازی باقی بخش‌ها وجود دارد.

البته مشکل این است که فارسی سازی توسط این افزونه از طریق توابع PHP و سمت سرور انجام می‌شود . به همین خاطر پیشنهاد ما فارسی سازی سمت کلاینت است تا از بار سرور کاسته شود . در ادامه برخی از همین روش ها ذکر شده .

 

2- جی کوئری: راه‌حل دیگر فارسی سازی اعداد، جی کوئری است . مزیت این روش این است که علاوه بر اینکه میتوان کل اعداد صفحه را فارسی کرد ، می‌توان انتخاب کرد کخ فقط برخی از کلاس ها ، آیدی ها ، تگ ها و … فارسی شود و به بقیه اعداد کاری نداشته باشد .

کد زیر را قبل از بسته شدن تگ قرار دهید:

 

فایل persianumber.js را دریافت و لینک آن را بسته به وب‌سایت‌تان اصلاح کنید.

برای تبدیل اعداد به فارسی از کد زیر استفاده کنید:

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

تبدیل اعداد فارسی به انگلیسی در وب سایت

در کد‌های بالا demo class بخشی است که می‌خواهید اعداد آن فارسی شود ولی اگه بخواهید کل اعداد فارسی شود میتوانید بجای .demo از ستاره * استفاده کنید .

برای مثال،کد‌های بالا اعداد زیر را فارسی و یا عربی می‌کند (بسته به چیزی که در بخش قبل تعیین کردید):

 

اما این روش نیز علاوه بر مزیت هایی که دارد ، دارای این مشکل است که به فراخونی کتابخانه JQuery نیاز دارد و این مسئله میتواند واقعا مشکل ساز شود. چون ممکن است شما در برنامه خود اصلا نیاز به فراخونی جیکوئری نداشته باشید یا از ورژن های دیگه آن بخواهید استفاده کنید که ممکن است موجب تداخل شود.

 

3-جاوا اسکریپت: اگر به هر دلیلی نخواستید از روش دوم هم استفاده کنید میتوانید از جاوا اسکریپت استفاده کنید که کدهای آن را در زیر مشاهده می‌کنید. ولی این روش هم معایبی دارد:

کد جاوااسکریپت برای فارسی سازی همه‌ی اعداد:

اگر می خواهید بعضی قسمت ها فارسی سازی نشود از کد زیر استفاه کنید:

راه حل جلوگیری از فارسی شدن اعداد در درون کدهای یک قسمت هم این است که از المنت lang در کد html استفاده کنید. برای مثال:

در این مقاله به روش‌های فارسی ساز اعداد پرداختیم ولی جا دارد این نکته را هم ذکر کنیم که کلا اعداد فارسی، انگلیسی و عربی یونیکدهای متفاوتی دارند و در اساس با هم فرق می‌کنند . مثلا اگر هنگام خرید یک محصول اعداد را فارسی و بار دیگه انگیسی وارد کنید و زمانی که به درگاه بانک منتقل شدید متوجه میشید که اساسا هنگام ورود اعداد فارسی با مشکل مواجه میشید.همینطور افیست در گوگل عبارت ” کوچه 10″ را یک بار با اعداد فارسی و بار دیگه با عدد انگلیسی جست و جو کنید متوجه خواهید شد که نتایج جست و جو با هم کاملا فرق می‌کند. پس بسته به نوع برنامه ، سایت و … ممکن است نیاز باشد حتما از اعداد انگلیسی استفاده کنید:

جدول یونیکد اعداد فارسی انگلیسی و عربی:

دریافت در قالب پروژه:

converts English to Persian Numbers-fontiran com

با تشکر از امین رسولی برای تهیه این مطلب آموزشی

 

منابع

 

 

سلام اگر بخوام یک عبارت ترجمه بشه چیکار باید کرد مثلا no comments?

درود و شادباش بی‌بهانه

از اینکه اینجا فروشگاه فونت‌فارسی و شما کاملا گنگ و حتی اشتباه سوالتون مطرح کردید بگذریم، پاسخ شما با فرض استفاده از وردپرس‌‌فارسی افزونه Loco Translate می‌باشد.

با عرض سلام و وقت بخیر
من در پروژه ای که با انگولار متریال ساخته شده بود این پلاگین ها را استفاده کردم، اعداد ثابت فارسی شد اما با بقیه عملکردهای انگولار تداخل داشتند نظیر اسلایدر و آنها را از کار می انداختند .
از طرفی اعدادی که از دیتابیس خوانده میشوند اگر از ابتدا با کیبورد انگلیسی تایپ شده باشند و پروژه نیز انگولار باشد فارسی نمیشوند .

در انگولار باید از عملگر های پایپ | (2 به بالا) یا filter (ورژن 1) استفاده کنید تا در هنگام رندر عدد همزمان به فارسی تبدیل شود

با jQuery 3 مشکل دارد

باسلام
خسته نباشید

کد jQuery که در سایت قرار دادید، برای bootstrap ورژن 4 به بالا مشکل پیدا میکنه، چون ورژن jQuery مورد نیاز بوت استرپ به v3.3.1 ارتقا پیدا کرده.
برای رفع این مشکل، از پلاگینی که آقای محمد شوبیری زحمت توسعش رو کشیدن، استفاده کنید:https://www.jqueryscript.net/other/Convert-Numbers-To-Persian-Arabic-jQuery-persianNum.html

این پلاگین در صورتی که نام class یا attribute های داخل صفحه شامل عدد باشه، به مشکل برنمیخورید.

موفق باشید

مطلب مفیدی بود ممنون
حالا وقتی تازه داری سایت رو طراحی میکنی و اعداد فارسی نیست چه کاری باید انجام داد؟
مثلا من با فونت iransans وقتی طراحی میکنم اعداد فارسی نیست ولی مثلا با سری فونت های b طراحی میکنم فارسی میشه
این موضوع عادی هست یا مشکل ؟

سلام
در بسته اصلی ایران سنس فونت های دسته farsinumral مانند فونت سری B عمل می کند.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

در فونت‌ایران ۲ چیز باعث خوشبختی و افتخار ماست:یکی این‌که می‌بینیم شما بصورت داوطلبانه حقوق طراحان فونت را رعایت می‌کنید.دوم این‌که طرح های شما به کمک فونت‌های ما زندگی همه را زیباتر کرده است.دربارۀ ما بیشتر بدانید …

اگر قبلا از فونت‌ایران خرید کرده‌اید، برای ثبت نام از همان ایمیل قبلی خودتان استفاده کنید.

لطفا ایمیل خودتان را در زیر وارد کنید، لینک بازیابی کلمه عبور به ایمیل شما ارسال خواهد شد. لطفا پوشه spam و یا junk را هم بررسی کنید.

مرجع آموزش طراحی و برنامه نویسی وب (از سال 1389)

یکی از کارهایی که معمولا مشتریان از ما طراحان وب سایت می خواهند این است که اعداد در سایت شان به صورت فارسی نمایان شود و نه لاتین. یک شانس وجود دارد اینکه بتوانید مشتری را راضی کنید اعداد لاتین ضرر خاصی برای سایت ندارند و … ولی اگر نشد مجبورید این کار را انجام دهید.

یکی از ساده ترین روش های تبدیل اعداد انگلیسی به فارسی و بر عکس در طراحی وب سایت استفاده از JavaScript و یا دقیق ترش استفاده از jQuery است . در این زمینه کدها و پلاگین های مختلفی نوشته شده است که در این مطلب با یکی از بهترین شان کار خواهیم کرد.

تبدیل اعداد فارسی به انگلیسی در وب سایت

۱.کافیست فایل latin2Arabic.jquery.js را دانلود کرده و بعد از فایل اصلی jQuery ، وارد صفحه کنید.به این شکل:

۲.حالا می خواهیم اعداد انگلیسی را به فارسی یا عربی تبدیل کنیم:

۳.نتیجه به این صورت است:

۴.اگر می خواهید اعداد فارسی را به لاتین تبدیل کنید کافیست این کار را انجام دهید:

۵.و اگر می خواهید اعداد را به HTML Entity تبدیل کنید :

اگه شما نیز راه حل دیگری برای تبدیل اعداد فارسی به انگلیسی سراغ دارید حتما در فرم زیر نظر بزارید.

دانلود پلاگین تبدیل اعداد انگلیسی به فارسی جی کوئری

منبع

سلام;
علي زماني هستم.موسس سايت، Full Stack Developer و مدرس طراحی وب. همه مطالب فتولیا یا تالیف خود ماست یا ترجمه بهترین مقالات خارجی و هر دو کار بسیار زمان بر هستند.لطفا اگه از مطالب سايت در جايي استفاده كرديد،منبع رو هم ذكر كنيد.جاي دوري نمي ره.فرصت كرديد ما مشتاق نظرات شماييم. برای سفارش کار می توانید از طریق “فرم تماس با ما” با من تماس بگیرید. اینستاگرام من

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دیدگاه

وب‌سایت

در خبرنامه ما عضو شوید و آخرین مطالب و مقالات آموزشی را اول شما دریافت کنید

آدرس ایمیل:

ایمیل شما پیش ما محفوظ است و به هیچ عنوان منتشر یا در اختیار غیر قرار نخواهد گرفت.

این Vue.js چیست؟ فرقش با jQuery در چیه؟ بعد از اینکه Vue.js یاد گرفتم باید jQuery رو فراموش کنم؟ می…

قوانین سایت

قوانین سایت

قوانین سایت

قوانین سایت


مشاهده

قوانین سایت

طراح گرافیک و فونت هستم: shahabsiavash.com – فروشگاه فونت سیاوش: sfonts.ir – یه بار منتقد برگزیدهٔ کشوری شدم تو خانهٔ هنرمندان ایران. کتابهام: «گرافیک و طنز»، «خودکارگرافی» و «دربارهٔ فونت»

یکی از این مشکلات متداول هنگام فارسی کردن پوسته‌های انگلیسی و یا استفاده از آنها این است که تمام اعداد به صورت انگلیسی دیده می‌شوند.

در گذشته‌ها که هنوز امکان ضمیمه کردن و استفاده از فونتهای دلخواه در وب وجود نداشت تاهوما معمولا تنها گزینه و خانه‌زاد وب فارسی بود. اما بعدتر که فونتهای دیگر مانند یکان و رویا و… کم کم جای خود را باز کردند، حالا طراحان و صاحبان سایتها دوست داشتند که اعداد مختلف مانند تعداد بازدیدها و دیدگاه‌ها و تاریخ و… همه فارسی باشند.

اگر شما با یک کیبورد استاندارد فارسی، اعداد را با کد درست به صورت فارسی تایپ کنید مشکلتان در هنگام وارد کردن و نوشتن متنهای خودتان مرتفع می‌شود اما باز هم اعداد درون پوسته که به عنوان مثال شامل متغیرها می‌شود را نمی‌توانید با این راه فارسی کنید.

برای این کار نیاز به موارد زیر داریم:

تبدیل اعداد فارسی به انگلیسی در وب سایت

اگر فونت شما دو زبانه است کار شما بسیار راحت است. اما اگر فونت فارسی مورد نظر شما فقط حروف فارسی را دارد باید کمی بیشتر وقت صرف کنید. در این باره در آینده بیشتر خواهم نوشت.

این برنامه‌ها در سراسر وب برای دانلود موجود هستند. برنامه ۹ FontCreator یا ۱۰ پیشنهاد می‌شود. برنامه FontForge هم به صورت آزاد در دسترس است.

حالا فونت را در برنامه فونت کریتور باز کرده و به بخش Numbers زیر Characters در ستون سمت چپ برنامه بروید. باید چیزی شبیه به این را ببینید:

۱۰ تایشان که لاتین هستند. اینها همان گلیف‌هایی هستند که وقتی شما متن فارسی را روی سایتتان می‌گذاشتید، از عالم غیب ظاهر می‌شدند و شما را آزار می‌دادند.

۱۰ تای دیگر اعداد عربی هستند که وقتی ماوس را روی آنها نگه دارید می‌بینید که پیشوند Arabic-indic دارند.

۱۰ تای دیگر اعداد فارسی و اردو هستند که پیشوند Extended arabic-indic دارند.

اگر همین الان دارید از خودتان می‌پرسید که خب تفاوت اعداد فارسی و عربی چه می‌تواند باشد؟ تفاوتش در تصویر بالا موجود است! اعداد چهار، پنج و شش در عربی و فارسی متفاوت نوشته می‌شوند.

برای این که تمام اعداد سایت یا بلاگ شما با فونت دلخواه‌تان کاملا فارسی باشد و هیچ گاه ریخت اعداد لاتین یا عربی را نبینید، به راحتی اعداد فارسی را انتخاب کرده و کپی کنید و بعد ابتدا ده عدد لاتین و سپس ده عدد عربی را جداگانه انتخاب کرده و عمل دشوار Paste را انجام دهید. حالا تمام اعداد شما ولو آنها را با کیبورد استاندارد فارسی بنویسید یا از جای دیگر کپی کنید یا در درون ابزارک‌ها و افزونه‌ها به طور کامل فارسی دیده خواهند شد.

پس از انجام مراحل بالا باید چیزی شبیه به این را در مونیتور خود ببینید:

در نهایت فونت خود را با فرمت woff برای وب خروجی بگیرید. در حال حاضر تمام مرورگرها (ی مدرن) فونتهای با این فرمت را پشتیبانی کرده و نمایش می‌دهند و دیگر نیازی به فرمت‌های نخ‌نمای eot و svg و یا ttf و otf (که بیشتر در نشر رومیزی به کار می‌روند) برای وب نیست.

همهٔ اینها به شرطی است که شما فونت مورد نظر خود را به درستی از طریق تنظیمات پوسته یا با کد font-face@ فراخوانی کرده باشید.

با اندکی خلاصه‌سازی از تکنامهنویسنده: شهاب سیاوش

طراح گرافیک و فونت هستم: shahabsiavash.com – فروشگاه فونت سیاوش: sfonts.ir – یه بار منتقد برگزیدهٔ کشوری شدم تو خانهٔ هنرمندان ایران. کتابهام: «گرافیک و طنز»، «خودکارگرافی» و «دربارهٔ فونت»

با ثبت نام در ویرگول به آرشیو بزرگی از مقالات مرتبط با این موضوع دسترسی خواهید داشت

مطلبی دیگر از این نویسنده

مطلبی دیگر در همین موضوع

بر اساس علایق شما

از این پس او نمی‌تواند پروفایل کاربری و مطالب شما را ببیند.

o_[ː[7WЀ”r5JQLzEg


رمز عبور خود را فراموش نموده اید؟

توسط
Morteza63, در 5 تیر 1396 در عمومی


درو به همه دوستان


وقت همگی بخیر

دوستان همه اعداد من در قالب فارسی نمایش داده میشه ولی نیاز دارم در بعضی مطالب اعداد رو ویرایش بکنم تا به انگلیسی  نمایش داده بشه . چطور میتونم اینکار رو انجام بدم؟ ممنون میشم راهنمایی بفرمایید

تبدیل اعداد فارسی به انگلیسی در وب سایت


سلام

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

 


 

کاربر محترم برای ارسال نظر نیاز به یک حساب کاربری دارید.

ثبت نام برای یک حساب کاربری جدید در انجمن ها بسیار ساده است!

در حال حاضر می خواهید به حساب کاربری خود وارد شوید؟ برای ورود کلیک کنید


دپارتمان پشتیبانی


SUPPORT@SOS110.ir


دپارتمان هاستینگ


HOSTING@JOOMINAHOST.COM


دپارتمان برنامه نویسی


EXTENSION@JOOMINA.IR

تهران – خیابان آزادی – کوچه شهید خیاط گلشنی شماره 17


شعبه تبریز


خیابان پاستور جدید 5 – پلاک 21

بلوار معالی آباد، برج اداری تجاری آفتاب طبقه دوم


اداری واحد 521


تلفن: 322132121-071


Powered by Invision CommunityПоддержка Invision Community в России

تبدیل اعداد فارسی به انگلیسی در وب سایت
تبدیل اعداد فارسی به انگلیسی در وب سایت
0

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *