سایت رزرو راستبهچپ فقط ترجمه نیست

یک آژانس در تهران زبان فارسی را روشن میکند، به صفحهٔ نخست نگاه میاندازد و کار را تمامشده میداند. دو هفته بعد مسافری لینک یک نرخ را در واتساپ برای همسفرش میفرستد و آن طرف دیواری از علامت درصد تحویل میگیرد. دیگری تماس میگیرد چون مبلغ کل در سمتی نشسته که انتظارش را نداشت. سومی پرواز تهران–دبی را یک روز اشتباه رزرو میکند، چون تقویم هفته را از دوشنبه شروع کرده بود. هیچکدام ایراد ترجمه نیست. یک سایت رزرو راستبهچپ پیش از آنکه مجموعهای از رشتههای متنی باشد، یک چیدمان، یک نظام عددی و یک نظام نشانی است؛ و رشتههای متنی اول از همه انجام میشوند، چون تنها بخشیاند که در یک اسکرینشات دیده میشود.
آنچه واقعاً تغییر میکند، تقریباً به همان ترتیبی که آژانسها با آن برخورد میکنند:
راستبهچپ یک تصمیم چیدمانی است، نه جهت متن
تنظیم dir="rtl" صفحه را قرینه میکند: منو به راست میرود، ستون فیلترها به چپ، پاراگرافها راستچین میشوند. این بخش تقریباً رایگان است. بخش گران هر چیزی است که نباید قرینه شود.
ساعت پرواز قرینه نمیشود: ۰۷:۴۵ همان ۰۷:۴۵ است. نوار مسیر که IKA و سپس DXB را نشان میدهد باید در دل یک پاراگراف راستبهچپ هم به همان ترتیب خوانده شود، چون مبدأ در هر جهتی مبدأ است. کد ایرلاین، شمارهٔ PNR و شمارهٔ بلیت الکترونیکی رشتههایی لاتیناند که داخل جملهٔ فارسی مینشینند؛ اگر جداسازی نشوند، الگوریتم دوجهتهٔ مرورگر نشانهگذاری اطرافشان را جابهجا میکند و نقطهٔ پایان جمله سر دیگر کد مینشیند — و مسافر آن را غلط تایپی در شمارهٔ رزروش میخواند. لوگو قرینه نمیشود. مثلث پخش قرینه نمیشود. فلش بازگشت قرینه میشود.
بعد چیزهایی که کسی فهرستشان نمیکند تا وقتی مسافری تذکر بدهد: ترتیب واحد پول و عدد، نوار مراحل فرایند رزرو، نقشهٔ صندلی، جهت حرکت اسلایدر، اینکه لوگوی ایرلاین در کدام سمت ردیف نتایج بنشیند، و جدول نرخ پهن از کدام لبه اسکرول شود. هر کدام یک تصمیم است، نه یک کلید.
ارقام، تاریخ و تقویمی که مسافر واقعاً در دست دارد
فارسی با دو دستهٔ رقم نوشته میشود که هر دو رایجاند، و سفر پر از رقم است: نرخ، ساعت، مدت، بار مجاز، فیلد کارت، کد یکبارمصرف. اینکه بازار شما کدام دسته را میخواند پرسشی است که یکبار و با مشتریان خودتان پاسخ میگیرد و بعد بیاستثنا اجرا میشود. خطای دیدهشدنی انتخاب دستهٔ کمکاربردتر نیست؛ قاطیکردن آن دو است — نرخ با یک دسته و ساعت پرواز با دستهٔ دیگر روی یک کارت نتیجه — که سایت را نیمهکاره نشان میدهد.
تاریخ فرضهای بیشتری با خود میآورد. هفتهای که از دوشنبه آغاز شود برای مسافری که هفتهاش شنبه شروع میشود غلط است، و تقویمی که از روز اشتباه شروع شود دقیقاً یک نوع خطا تولید میکند: رزرو یک ستون آنطرفتر. کسی که سفر زیارتی میچیند با ماه قمری فکر میکند و کسی که مرخصی تابستان میگیرد با ماه شمسی؛ نمایش هر دو تقویم کنار میلادی در انتخابگر تاریخ و در برگهٔ مسیر چیزی از شما نمیگیرد و یک تماس تلفنی را حذف میکند. نمایش همهجای آن، در یک سفر کاری به فرانکفورت، فقط شلوغی است.
یک سایت رزرو راستبهچپ باید چه چیزهایی را درست کند
فاصلهٔ میان سایت ترجمهشده و سایت بومیشده سطحبهسطح است، نه یکجا. این فهرستی است که ارزش بحث با برنامهنویستان را دارد:
| سطح | فقط ترجمهشده | واقعاً بومی |
|---|---|---|
| نام مسافر | برچسب فیلدها فارسی | ورود با حروف لاتین، با همان عبارتی که روی گذرنامه است، چون ایرلاین همان نام را در PNR نگه میدارد |
| تاریخ | نام ماهها فارسی | روز اول هفتهٔ مخاطب، ارقام مخاطب، تقویم شمسی و قمری کنار میلادی آنجا که سفر اقتضا میکند |
| پول | نام ارز ترجمهشده | ارز پیشفرض بازار و فهرستی که واقعاً در آن میفروشید |
| تلفن و کد تأیید | برچسبها فارسی | پیششمارهٔ کشور از پیش انتخابشده، ارقام لاتین در فیلد ورودی، کد در یک نگاه خواندنی |
| فرودگاه و شهر | نامها فارسی | نام فارسی با کد IATA لاتین که همچنان دیده میشود، چون همکار شما DXB تایپ میکند و مسافر فارسی میخواند |
| نشانی صفحه | عنوان ترجمهشده | یک سیاست نشانی برای هر زبان، که یکبار تصمیم گرفته میشود |
| قلم | قلم جایگزین پیشفرض سیستم | قلمی که بهخاطر ارقام و اندازههای ریزش انتخاب شده، نه قلمی لاتین که فارسی از پشتش قرض گرفته شده |
| تماس | صفحهٔ تماس ترجمهشده | شمارهای که مسافر همان بازار واقعاً میتواند بگیرد، در ساعتی که بیدار است |
ردیف نام همان ردیفی است که پول واقعی میبرد و بیش از همه اشتباه میشود. مسافر نامش را فارسی مینویسد چون فرم دعوتش کرده، بلیت روی همان رشته صادر میشود و با گذرنامهای که ایرلاین کنترل میکند نمیخواند. هر چه بعد از آن میآید — ابطال و صدور دوباره، بحث، استرداد — روی دوش شماست نه ایرلاین.
ردیف قلم ارزانتر از آن است که به نظر میرسد. روی این پلتفرم قالب، شامل قلم و رنگ و لوگو، از پنل مدیریت و بدون انتشار دوباره عوض میشود؛ پس امتحان یک قلم دیگر روبهروی جدول نرخ خودتان کار یک بعدازظهر است نه یک نسخهٔ جدید. ردیف ارز موضوعی مستقل است که در سایت چندارزی و جایی که سود نشت میکند بازش کردهایم.
نشانی صفحه و آنچه از یک پیست در واتساپ جان سالم به در میبرد
نشانی فارسی در نوار آدرس زیبا دیده میشود و از همان کلماتی ساخته شده که مردم در جعبهٔ جستوجو تایپ میکنند. همان نشانی در یک فیلد متن ساده درصدکدگذاری میشود و چند برابر باد میکند، و چیزی که به دست مسافر میرسد شبیه خروجی ماشین است. آوانگاری لاتین تمیز پیست میشود و برای هیچکس خواندنی نیست: نه با چیزی که فارسیزبان جستوجو میکند میخواند و نه با چیزی که انگلیسیزبان.
تصمیم را بر اساس کارکرد نشانی جدا کنید. صفحهٔ محتوا با جستوجو زنده است، پس نشانی فارسی بگیرد؛ شکل کدگذاریشده فقط هنگام کپی ظاهر میشود و صفحهٔ مقصد در هر دو حالت درست است. اما لینک عمیق رزرو — یک نتیجهٔ جستوجو، یک نرخ نگهداشتهشده، یک پیشنهاد برای همکار — در هیچ حالتی زیبا نخواهد بود، چون تاریخ و تعداد مسافر را در رشتهٔ پرسوجو حمل میکند. برای آن یک لینک کوتاه بسازید و کوتاه نگهش دارید.
قاعدهٔ زیر هر دو یکی است: برای هر صفحه در هر زبان یک نشانی متعارف. انتشار یک مطلب هم با نشانی فارسی و هم با آوانگاری، اعتبار آن صفحه را بین دو آدرس نصف میکند و نگهداری هر دو را روی دست شما میگذارد.
hreflang، یا وقتی صفحهٔ فارسی با صفحهٔ انگلیسی خودتان رقابت میکند
دو نسخهٔ زبانی از یک صفحه، دو صفحه نیستند. اگر خزنده نتواند این را تشخیص بدهد، نتیجهٔ رایج جریمه نیست؛ این است که یک نسخه انتخاب و نسخهٔ دیگر شبهتکراری شمرده و بیصدا کنار گذاشته میشود.
چهار چیز آنها را از هم جدا نگه میدارد. هر زبان نشانی خودش را لازم دارد، و این یعنی یک آدرس با کلید جاوااسکریپتی کافی نیست. هر نسخه همهٔ زبانها را فهرست میکند، از جمله خودش، چون مجموعهای که به خودش ارجاع ندهد یکجا دور انداخته میشود. تگ canonical هر صفحه به خودش اشاره میکند نه به نسخهٔ انگلیسی؛ ارجاع صفحات فارسی به انگلیسی سریعترین راه است برای اینکه هیچ صفحهٔ فارسیای ایندکس نشود. و x-default به جایی میرود که میخواهید مخاطب بیزبانِ منطبق آنجا فرود بیاید.
از تقسیم به fa-IR و fa-AF پرهیز کنید مگر آن صفحهها واقعاً فرق داشته باشند: ارز متفاوت، شمارهٔ متفاوت، موجودی متفاوت. دو گونهٔ منطقهای از متنی یکسان یعنی دو صفحه که سر یک عبارت با هم رقابت میکنند و نام شما روی هر دوست.
هزینهٔ اشتباه
رها کردن سبد در صفحهٔ نخست اتفاق نمیافتد. در مرحلهٔ اطلاعات مسافر میافتد، که گرانترین جای قیف برای از دست دادن کسی است: جستوجو کرده، انتخاب کرده، نرخ را دیده و پذیرفته، و شما هزینهٔ جستوجویی که او را آورده پرداختهاید.
بقیهٔ هزینه بیصداتر است. هر تماس گیجکننده یک دقیقه از وقت کارمندی است که برای صرفهجویی در آن آنلاین شدهاید. هر ناهمخوانی نام یک صدور دوباره است و مسافری که شما را مقصر میداند نه ایرلاین را. و صفحهٔ فارسیای که هرگز ایندکس نمیشود مطلبی است که پول نوشتنش را دادهاید و کسی پیدایش نمیکند — تنها گونهٔ شکستی که هیچ شکایتی تولید نمیکند، و به همین دلیل میتواند یک سال ادامه پیدا کند.
از کجا شروع کنیم
اگر فارسی بازار دوم شماست، کار یک بازسازی است و جدول بالا فهرست کارهایتان. اگر بازار اول است، ترتیب برعکس میشود: دستهٔ ارقام و قلم را پیش از پالت رنگ انتخاب کنید، فرم مسافر را روبهروی یک گذرنامهٔ واقعی بسازید، و انگلیسی را ترجمه بدانید.
در هر دو حالت ارزانترین آزمون یک ویترین واقعی جلوی یک مسافر واقعی است. ویزارد ساخت سایت سفر از دل همان فرم یک سایت با برند شما روی زیردامنهٔ پلتفرم بالا میآورد و کارت بانکی نمیخواهد؛ ویترین با چهل زبان منتشر میشود که فارسی، عربی، عبری و اردو میانشان است، و دامنهٔ خودتان بعداً وصل میشود. اگر هنوز میان ساختن موتور رزرو و گرفتن آمادهٔ آن مرددید، استدلالش اینجا باز شده — اما پیش از تصمیم آن را به فارسی امتحان کنید، چون کار راستبهچپ همان بخشی است که برآوردهای داخلی جا میاندازند.