پشتیبانی از متن فارسی معمولاً یکباره خراب نمیشود.
اول از چیزهای کوچک شروع میکند: جهت متن درست انتخاب نمیشود، فونت شکل حروف را خوب نشان نمیدهد، عبارتهای فارسی و انگلیسی در یک خط ترتیبشان را از دست میدهند، یا خروجی تصویری از نظر فنی ساخته میشود اما خواندنش سخت است.
چند پروژهی فارسی من از همین نقطهها شروع شدند. نه از یک ایدهی بزرگ دربارهی localization، بلکه از این سؤال ساده که چرا یک کاربر فارسیزبان باید برای خواندن یا ساختن متن خودش مدام با ابزار بجنگد.
Repositoryهای مرتبط:
الگوی تکرارشونده
کار تکراری اینجا خیلی نمایشی نیست:
- انتخاب فونتی که شکلهای فارسی را تمیز نشان بدهد.
- رعایت جهت راستبهچپ، نه فقط ترجمهی چند string.
- مدیریت متن ترکیبی فارسی و انگلیسی بدون خرابکردن ترتیب خواندن.
- وادارکردن extension مرورگر به اعمال جهت و فونت روی layoutهای بیرونی.
- ساخت ابزار visualization که بفهمد tokenization و rendering وابسته به زباناند.
اینها مسئلههای جدا نیستند. typography، layout، parsing و UX محصول در نهایت به یک نقطه میرسند:
آیا کاربر فارسی این متن را راحت میخواند؟
چرا مهم است
ابزارهای بومیسازیشده معمولاً مثل polish دیده میشوند. در عمل، برای فارسی زیرساختاند.
برای یک word cloud فارسی، rendering باید script-aware باشد. برای یک extension بهترکنندهی LinkedIn، کنترل جهت و فونت بخشی از تجربه است. برای محصول دوزبانهای مثل سفرناک، RTL نباید چیزی باشد که آخر کار به design system چسبانده میشود.
این یادداشت جایی است برای جمعکردن همین تصمیمهای کوچک؛ تصمیمهایی که باعث میشوند یک رابط فارسی فقط «پشتیبانیشده» نباشد و واقعاً قابل خواندن و استفادهکردن باشد.
کارهای بعدی
- انتخاب فونت و fallbackهای مناسب برای UI فارسی را مستند کن.
- نمونههای خرابی متن ترکیبی فارسی-انگلیسی را اضافه کن.
- fixهای extension مرورگر را با fixهای design-system مقایسه کن.
- کارهای تقویم فارسی و نمایش شعر را به این یادداشت وصل کن.