یک رشتهی واقعی را در نظر بگیرید: برچسب دکمهی «اتصال به Search Console» که عصر یک سهشنبه، هنگام افزودن یک مرحلهی جدید به فرآیند راهاندازی دامنه، عرضه شد. چیز خاصی نداشت — یک کلید `data-i18n`، یک جملهی انگلیسی، همان نوع تغییری که دهها بار در هفته عرضه میشود. این هم آنچه واقعاً بین کامیت و نمایش روی صفحه، بهترتیب، برایش اتفاق میافتد.
رشته، بههمانصورتی که کامیت شد
توسعهدهنده کلید انگلیسی را دستی مینویسد، مثل همیشه، و ترجمهی چینی را هم دستی درست کنارش اضافه میکند — این دو هرگز بهصورت ماشینی تولید نمیشوند، چون همانهایی هستند که گویشوران بومی تیم واقعاً میخوانند و انحراف را در آنها میگیرند. بقیهی رشته دستنخورده باقی میماند. هیچ فایل ترجمهای برای فرانسه یا کرهای لمس نمیشود. کسی هیجده فایل JSON دیگر را برای هماهنگی باز نمیکند. کل نکته همین است: کامیت به دو زبانی محدود است که یک انسان واقعاً نوشته.
رجیستریای که در آن قرار میگیرد
کلید در یک منبع حقیقت واحد قرار میگیرد که هم بکاند و هم فرانتاند از آن میخوانند — یک فایل که کد، نام بومی، پیشوندهای لوکیل مرورگر، و جهت متن هر زبان پشتیبانیشده را میداند. چیزی دربارهی «اتصال به Search Console» بهطور خاص نمیداند؛ فقط میداند که هر کلید جدیدی که ظاهر شود، بیست جای خالی زبانی منتظرش است که هجدهتای آنها فعلاً این کلید را ندارند.
اجرایی که آن را دریافت میکند
عرضهی ویژگی خودِ محرک است. کسی برای «ترجمهی مرحلهی جدید راهاندازی» تیکت باز نمیکند. یک اجرای تولید در برابر رجیستری اجرا میشود، هر کاتالوگ را با منبع انگلیسی مقایسه میکند، و دقیقاً همان رشتههای ازقلمافتاده را پر میکند — ازجمله همین یکی — و بقیهی خطوط در بقیهی فایلها دستنخورده باقی میمانند. اگر منتظر میماندیم کسی به یاد بیاورد، این دکمه یک سال بعد هم هنوز در رابط کاربری آلمانی «اتصال به Search Console» مینوشت، درست کنار سایر بخشهای آلمانیشده. این همان حالت شکستی است که کل خط لوله را برای جلوگیری از آن ساختیم: نه ترجمههای بد، بلکه ترجمههایی که هرگز اتفاق نمیافتند چون چیزی مسئله را جدی نگرفته.
کلمهای که عمداً ناقص عرضه میشود
این بخشی است که مردم را غافلگیر میکند. مرحلهی راهاندازی جدید همچنین یک مقدار وضعیت دامنهی جدید معرفی میکند، و مقادیر وضعیت از پایگاهداده میآیند، نه از صف یک مترجم — اینها در لبهی رندر بومیسازی میشوند، با یک پشتیبان انگلیسی از قبل تعبیهشده. پس در آن چند ساعت بین عرضهی کد و بازتولید کاتالوگها، یک کاربر فرانسوی بهجای فضای خالی، خطا، یا استکتریس، کلمهی خام انگلیسی آن وضعیت را میبیند. عمداً بدترشکلتر از یک ترجمهی درست، عمداً بهتر از یک شکست.
ترجیح میدهیم یک شکاف صادقانه عرضه کنیم تا یک شکست بیصدا.
تعویضگر زبان
وقتی کاتالوگها آماده میشوند، هیچچیز دربارهی نحوهی دسترسی کاربر به آنها تغییر نمیکند. آیکون کرهی زمین در ناوبری هر صفحهی عمومی قرار دارد — نه یک تنظیم پنهان در بخش حساب کاربری — و برگرداندنش صفحهی جاری را همانجا دوباره رندر میکند. اگر کسی وسط همان مرحلهی جدید راهاندازی باشد و از انگلیسی به ویتنامی سوییچ کند، برچسب دکمه زیر نشانگرش دوباره برچسبگذاری میشود بدون بارگذاری مجدد صفحه یا ازدستدادن جایگاهش در فرآیند. صادقانه بگویم، این جزئیات بیش از خودِ خط لولهی ترجمه زمان مهندسی گرفت، چون «رندر مجدد همهچیز بدون بارگذاری مجدد» به هر مؤلفهی دارای وضعیتِ صفحه دست میزند، نه فقط متن ثابت.
ایجنتی که هرگز رجیستری را ندید
و حالا نکتهی غافلگیرکننده: هیچکدام از این ماشینآلات چیزی نیست که کاربر آن فرآیند راهاندازی واقعاً دربارهاش نظر بدهد. آنچه توجه او را جلب میکند این است که دستیار به هر زبانی که سؤال کرده پاسخ میدهد — نه چون رجیستری رشتهها را خوانده، بلکه چون یک مدل زبانی است که بههمانشکل پاسخ میدهد، درست همانطور که به یک انسان پاسخ میدهد.
- دستیار هوش مصنوعی را در میانه راهاندازی باز کنید و سؤالی به زبان ویتنامی بپرسید — پاسخ به ویتنامی داده میشود.
- از سازنده سایت بخواهید طرحی به زبان ژاپنی تهیه کند — طرح به ژاپنی برمیگردد.
- درخواست گزارش سئو به زبان اسپانیایی دهید — گزارش از ابتدا تا انتها اسپانیایی است.
رشتههای رابط کاربری همان ماشین بیست-کاتالوگی هستند که پیشتر توصیف شد؛ خروجی ایجنت مکانیزمی کاملاً متفاوت است که به همان تجربه میرسد، و این همان چیزی است که محصول را طوری حس میکند که انگار مخصوص شما ساخته شده، نه اینکه برایتان ترجمه شده باشد.



