وقتی ترجمه دیگر یک وظیفه نیست

در ابتدا، فقط «یک زبانِ دیگر» است. یک ورودی تکراری. چند فیلد کپیشده. کسی روابط را دوباره بررسی میکند. دیگری قالببندی را اصلاح میکند. آزاردهنده است، اما قابل مدیریت.
بعدها محتوا به رشد خود ادامه میدهد.
صفحات بیشتر. کامپوننتهای بیشتر. نواحی داینامیک بیشتر. افراد بیشتری روی همان ورودیها کار میکنند. ناگهان ترجمه دیگر یک وظیفه نیست—بلکه یک فرایند است. و آن فرایند شروع به نشتِ زمان، اطمینان و انسجام در جاهایی میکند که توضیحشان سخت اما حسکردنشان آسان است.
آنچه اوضاع را بدتر میکند این است که از لحاظ فنی چیزی خراب نیست. صفحات منتشر میشوند. محتوا وجود دارد. با این حال هر زبان جدید اصطکاک را افزایش میدهد. هر بهروزرسانی خطرناک به نظر میرسد. هر قدم دستی تبدیل به نقطهای دیگر میشود که ممکن است بهطور پنهانی اشتباه پیش برود.
این همان نقطهای است که تیمها معمولاً دربارهٔ ابزارها، هزینهها یا تعداد نیروی انسانی بحث میکنند.
این بحث اشتباه است.
مشکل واقعی زبان نیست. مشکل مقیاس است. و مقیاس برای اینکه شما چقدر محتاط هستید اهمیتی قائل نیست—تنها به سیستمها واکنش نشان میدهد.
این مطالعهٔ موردی بررسی میکند که چه اتفاقی میافتد وقتی ترجمه بهعنوان یک ویژگی یا یک دکمه در نظر گرفته نشود، بلکه بهعنوان زیرساخت محسوب شود.
چرا از مترجم هوش مصنوعی داخلی Strapi استفاده نکنیم؟
این ابزار خودکار نیست، پشتیبانی محدودی از ترجمهٔ دستهای ارائه میدهد و همچنان نیاز به کار دستی برای تنظیم روابط، انتشار صفحات و مدیریت تصاویر دارد. وقتی با یک تیم کوچک بیش از 10 زبان را مدیریت میکنید، انجام این کار بهصورت دستی دیگر واقعگرایانه نیست.
معماری راهحل و جریان دادهها
یک افزونهٔ ترجمهٔ سفارشی برای Strapi CMS که ترجمهها را بهصورت کارهای پسزمینه پردازش میکند با پیگیری پیشرفت در زمان واقعی، ساختارهای پیچیدهٔ تو در توی محتوا مانند کامپوننتها، نواحی داینامیک و بلوکها را مدیریت میکند و HTML، Markdown، URLها، جاینشانهها و سایر قالببندیهای ویژه را حفظ میکند.

همچنین از لغو کارها، منطق تلاش مجدد و بازیابی خطای مقاوم پشتیبانی میکند، در حالی که یک رابط کاربری مدیر زیبا فراهم میآورد که به کاربران اجازه میدهد مدلها را انتخاب کنند و تنظیمات ترجمه را بهراحتی پیکربندی کنند.
ویژگیهای کلیدی
سامانهٔ وظایف پسزمینه

ترجمهها بهصورت وظایف پسزمینهای پردازش میشوند که توسط یک مدیریتکنندهٔ وظایف اختصاصی اداره میگردند. این امکان اجرای عملیات طولانی، پیگیری پیشرفت بهصورت لحظهای، لغو و رفتار تلاش مجدد را بدون مسدود کردن رابط کاربری مدیریت Strapi فراهم میکند.
استخراج هوشمند محتوا

یک استخراجکنندهٔ محتوا در ورودیها، کامپوننتها و نواحی پویا (dynamic zones) در Strapi جستجو میکند تا فیلدهای قابلترجمه را بیابد و در عین حال ساختارهای غیرقابلترجمه مانند شناسهها (IDs)، روابط و ارجاعات رسانهای را حفظ کند.
پشتیبانی از چند مدل

مترجم از چندین مدل OpenAI GPT پشتیبانی میکند تا تیمها بتوانند با توجه به پروژه و مقصد زبانی، هزینه، سرعت و کیفیت را متعادل کنند.
گروهبندی هوشمند

فیلدها بهصورت گروههایی دستهبندی میشوند تا استفاده از توکنها کارآمد بماند و در عین حال در محدودیتهای نرخ قرار گیرد. این گروهبندی برای رسیدن به بیش از ۱۰۰۰+ صفحه در بازهٔ ۲۴ ساعته حیاتی است.
تنظیمات رفتار ترجمه

مدیران میتوانند تنظیم کنند که محتوا تا چه حد لفظی یا آزاد ترجمه شود، آیا اصطلاحات برند حفظ شوند، و چگونه با جاینگهدارها (placeholders)، HTML و Markdown برخورد شود.
پرِامپتهایی که به مدلهای GPT ارسال میشوند قابل پیکربندی هستند، که امکان تنظیم لحن، درجهٔ رسمیت و اولویتهای مخصوص locale برای هر پروژه را فراهم میکند.
مدیریت روابط

سیستم روابط بین ورودیها را پس از ترجمه رعایت و بازسازی میکند تا محتوای محلیسازیشده در تمامی لوکالها (locales) بهدرستی مرتبط باقی بماند.
توان عملیاتی و برآورد برای ۱۰۰۰ صفحه
با فرض میانگین ۵۰ فیلد قابلترجمه در هر صفحه و ۵ زبان هدف:
1000 pages × 50 fields = 50,000 فیلد برای ترجمه
50,000 fields ÷ 20 batch size = 2,500 API calls
2,500 calls × 5 seconds average = 12,500 ثانیه =
~3.5 ساعت برای هر زبان
5 languages × 3.5 hours = ~17.5 ساعت مجموع
+ Overhead (extraction, saving, relations) = ~۲۰–۲۴ ساعتگام بعدی
وقتی محتوا به حجم مشخصی میرسد، میزان تلاش دیگر بهصورت خطی افزایش نمییابد.
آنچه در ده صفحه کار میکند، بیصدا در صد صفحه شکست میخورد. آنچه در یک زبان قابل مدیریت بهنظر میرسد، در ده زبان آسیبپذیر میشود. نه به این دلیل که افراد از توجه دست میکشند—بلکه به این دلیل که فرایندهای دستی با رشد دوام نمیآورند.
پرخرجترین شکستها بهندرت آشکار هستند. آنها خود را بهصورت تردید در ویرایش محتوا، ترس از انتشار یا جریانهای کاریای که دیگر هیچکس کامل به آنها اعتماد ندارد نشان میدهند. وقتی این مشکلات قابلمشاهده میشوند، معمولاً مدتهاست که وجود داشتهاند.
همین آگاهی ما را به اینجا رساند.
این سیستم ترجمه از ابتدا بهعنوان یک محصول یا یک قابلیت شروع نشد—بلکه بهعنوان پاسخی به محدودیتهای واقعی در یک محیط تولیدی آغاز شد. و بهسرعت روشن شد که این مشکل منحصر به یک تیم یا یک پروژه نیست.
بنابراین آن را عمومی میکنیم.
ما در حال آمادهسازی برای متنباز کردن کل سیستم هستیم—نه یک نسخه نمایشی، نه یک مثال سادهشده، بلکه زیرساخت واقعی که این خطلوله را در محیط تولید اجرا میکند. سیستم وظایف، منطق مدیریت محتوا، استراتژیهای دستهبندی، مکانیزمهای حفاظتی—همه چیز لازم برای کار در مقیاس.
در حال حاضر در حال نهاییسازی مستندات و رفع آخرین نواقص قبل از انتشار مخزن هستیم.
اگر میخواهید بدانید چه زمانی منتشر میشود، دسترسی زودهنگام بگیرید، یا روند تکامل آن را در فضای متنباز دنبال کنید، مشترک شوید.
من همچنین درسهای عملی از ساخت و اجرای سیستمهایی مثل این را به اشتراک میگذارم—مقیاسبندی CMS، هوش مصنوعی در تولید، و مصالحههایی که در آموزشها دیده نمیشوند.
بدون هیاهو. بدون حرفهای بیمحتوا. فقط چیزهایی که کار میکنند.
اگر این مفید بهنظر میرسد، میدانید چه کار باید بکنید.
