چرا اسم فارسی چند املای انگلیسی دارد و کدام درست است؟
اسم فارسی املای لاتین یکتا ندارد، چون مصوتهای کوتاه نوشته نمیشوند و حرفها چند معادل دارند؛ جایی که سند هست، همان سند درست است.
اسم فارسی یک املای لاتین یکتا ندارد. «محمد» را Mohammad، Mohamad، Muhammad و Mohammed نوشتهاند و هر چهار را در عمل دیدهاید. این اختلاف باگ نیست؛ نتیجهٔ مستقیم یک ویژگی خط فارسی است.
اگر میخواهید اسم خودتان یا مشتریتان را با حروف انگلیسی بنویسید، اول باید بدانید کدام نوشتن «درست» است. جواب کوتاه: هر جا سندی هست که یک بار املا را ثبت کرده، همان درست است. بقیه فقط پیشنهادند.
چرا اینقدر اختلاف هست
دو دلیل اصلی دارد.
مصوتهای کوتاه نوشته نمیشوند. در خط فارسی «محمد» سه حرف دارد: م، ح، م، د. صدای «ا» و «و» و «ی» نوشته میشود اما فتحه و کسره و ضمه معمولاً نه. وقتی همین را به لاتین میبرید، مجبورید بهجای مصوت حدس بزنید. «ع» هم همینطور است: بعضی آن را a مینویسند، بعضی '، بعضی هیچ.
حروفی که صدای مشترک دارند. «خ» را kh مینویسند یا x یا h. «ش» را sh یا s یا ch. «و» گاهی v و گاهی u یا o. هیچکدام از اینها غلط نیست؛ فقط قراردادهای مختلفی است.
اینها چیزی است که در منابع مربوط به نویسهگردانی اسمهای عربی و فارسی هم بارها نوشته شده: وقتی از خطی به خط دیگر میروید، املا مسئله میشود. (نمونهای از این بحث: نوشتهٔ ترجمهٔ نامها از عربی.)
سند، نه سلیقه
تا اینجا معلوم شد چرا نمیشود یک جواب قطعی داشت. حالا قاعدهٔ عملی:
- اگر اسم قبلاً در سندی لاتین ثبت شده (مثلاً گذرنامه، کارت بانکی بینالمللی، حساب خارجی)، دقیقاً همان را بنویسید. حتی اگر به نظر شما غلط است. اختلاف یک حرف بین دو سند ممکن است در بررسیهای بعدی دردسر درست کند.
- اگر هیچ سندی هنوز نیست، یکی را انتخاب کنید و در همهٔ جاها همان را به کار ببرید. بعداً هر جا مجبور شدید املا را به سند دیگری مطابق کنید، کار سادهتر میشود.
- هر جا قرار است با سند مقایسه شود، متن را از کاربر بگیرید و تبدیل خودکار را فقط پیشنهاد بدانید.
این سومی در محصول شما مهم است. تصور کنید فرم ثبتنام یک سرویس خارجی نام دارندهٔ کارت را به لاتین میخواهد. اگر فرم خودش نوشته را بسازد و ثابت کند، کاربری که گذرنامهاش Mohamad است و پیشنهاد Mohammad را میبیند، یا باید اصلاحش کند یا با اختلاف جلو برود. فیلد باید قابل ویرایش باشد.
ابزار تبدیل چه چیزی میدهد
سرویس تبدیل فارسی به فینگلیش یک رشتهٔ فارسی میگیرد و رشتهٔ لاتین برمیگرداند. خروجی در نمونهٔ پاسخ مستندات، یک رشتهٔ لاتین با حروف کوچک است، مثل mohammad naderi.
دو نکته درباره این نتیجه:
- یک نتیجه میدهد، نه چند گزینه. اگر املای گذرنامه با آن فرق کرد، سرویس راهی برای حدس زدن املای ثبتشده شما ندارد.
- در نمونه حروف کوچک است. اگر فرم شما
Mohammad Naderiمیخواهد، حرف اول هر واژه را خودتان بزرگ کنید.
برای ورودی، حداقل دو و حداکثر ۲۰۰ نویسه پذیرفته میشود و مقدار خالی را میگیرد invalid_input. جزئیات هر خطا در مستندات API است.
یک مثال کامل
فرض کنید یک فروشگاه دارید که کالا را به خارج میفرستد و فرم گمرک نام گیرنده را لاتین میخواهد.
- کاربر نام فارسی را وارد میکند.
- سرور شما آن را به سرویس میفرستد و پیشنهاد لاتین را میگیرد.
- پیشنهاد در فیلدی قابل ویرایش نشان داده میشود با نوشتهٔ کوچک زیرش: «اگر در گذرنامه یا مدرک شما املای دیگری است، آن را بنویسید».
- نسخهٔ نهایی که کاربر دید و پذیرفت ذخیره میشود، نه خروجی خام سرویس.
bash curl -X POST 'https://<دامنه-ما>/api/v1/persian-to-finglish/' \ -H 'Authorization: Bearer melli_live_…' \ -H 'Content-Type: application/json' \ -d '{"persianText":"محمد نادری"}'
نتیجهٔ مرحلهٔ ۴ را ذخیره کنید و دوباره از سرویس نخواهید. اگر همان رشته را دوباره تبدیل کنید و چیز دیگری برگردد، سندی که پیشتر چاپ کردهاید با رکورد فعلی نمیخواند.
آنچه این سرویس نمیکند
ترجمه نمیکند. «خیابان» میشود شکلی از khiaban و نه street. اگر ترجمهٔ معنایی میخواهید، این ابزار کار شما را راه نمیاندازد.
املای ثبتشده در هیچ سندی را نمیداند و با گذرنامه یا کارت ملی کسی مقایسهاش نمیکند. و اسم را «تصحیح» هم نمیکند: ورودی غلط تایپی، خروجی غلط تایپی میدهد.
برعکسش (لاتین به فارسی) را هم نداریم. اگر کاربرتان mohammad مینویسد و میخواهید «محمد» را در جستوجو پیدا کنید، باید خودتان جدول یا قاعدهای داشته باشید.
نمونهای از اختلاف در یک فرم
فرض کنید دو همکار شما اسم «محمدرضا» را در دو سامانه مختلف ثبت کردهاند. یکی Mohammadreza نوشته و دیگری Mohammad Reza. هیچکدام غلط نیست، اما اگر این دو بعداً با هم مقایسه شوند، سامانه ممکن است آنها را دو نفر بداند. برای همین بهتر است در همان لحظه که اسم برای اولین بار به لاتین نوشته میشود، یک منبع واحد برایش تعیین کنید: یا مدرک کاربر، یا فیلدی که خودش تأیید میکند.
اگر تبدیل خودکار را میخواهید، سرویس تبدیل فارسی به فینگلیش را بهعنوان پیشنویس به کار ببرید و نتیجه را برای تأیید به کاربر بدهید. این کوچکترین کاری است که جلوی اختلاف بعدی را میگیرد.
چند راه ساده برای کمکردن اختلاف در سازمان خودتان
اگر در شرکت شما اسم کارمندان یا مشتریان به لاتین ثبت میشود، سه قاعدهٔ ساده جلوی بخش بزرگی از ناهمگونی را میگیرد. اول، یک ستون جدا برای «املای لاتین تأییدشده» بگذارید و آن را از ستون اسم فارسی مستقل نگه دارید. دوم، هر جا کاربر خودش املا را نوشته، منبع را بنویسید (دستی، پیشنهاد خودکار، سند). سوم، هنگام جستوجو، املاهای نزدیک را یکی بگیرید: mohammad و mohamad را با هم پیدا کنید، ولی در سند چاپی فقط املای تأییدشده را بنویسید.
این سه قاعده هزینهای ندارند و چند ماه بعد، وقتی دو فهرست را با هم مقایسه میکنید، دلیل وجودشان روشن میشود.
پیشنهاد من
اختلاف املا از خط فارسی میآید، نه از ابزار. سند ثبتشده همیشه بر پیشنهاد غالب است. خروجی سرویس را پیشنهاد بدانید، در فیلد قابل ویرایش بگذارید، و نسخهٔ پذیرفتهشدهٔ کاربر را ذخیره کنید. اگر جای شما بودم، پیش از وصلکردن ابزار به فرم، ده تا بیست اسم واقعی تیم خودم را تبدیل میکردم و میدیدم چند تا با سند خودشان میخواند؛ همین عدد به شما میگوید فیلد باید چقدر برجسته قابل ویرایش باشد.
وبسرویس مرتبط با این راهنما
API تبدیل فارسی به فینگلیش
نوشتن نام و متن فارسی با حروف انگلیسی.
راهنماهای مرتبط
پرسش و تجربه کاربران
اگر این راهنما جوابتان را نداد، همینجا بپرسید. پرسشها را تیمملی ایپیآی پاسخ میدهد و هر نظر پیش از انتشار بررسی میشود.
هنوز پرسشی ثبت نشده، اولین نفر باشید.
