تبدیل ساده SRT به ASS فقط یک استایل عمومی میسازد. در پروژههای انیمه و فنساب معمولاً هدف این است که متن ترجمه روی ASS اصلی قرار بگیرد و تایپست، تابلوها، موسیقی و موقعیتها از بین نروند.
چرا تبدیل مستقیم کافی نیست؟
SRT اطلاعاتی مثل نام استایل، Actor، لایه، رنگ، فونت و تگهای حرکت را ندارد. اگر خروجی صرفاً از SRT ساخته شود، تمام این جزئیات حذف میشوند.
روش مطمئن، تطبیق ترجمه با رویدادهای ASS اصلی است. زمان شروع و پایان، متن منبع و ترتیب رویدادها برای پیدا کردن جای درست هر ترجمه استفاده میشوند.
- حفظ Style و Actor
- حفظ Position و Drawing
- گزارش خطوط بدون تطبیق
- اجرای RTL در آخرین مرحله
خطوط خالی و اختلاف تعداد
گاهی مترجم صدای تقتق، تشویق یا کیوهای بیکلام را عمداً خالی میکند. این خطوط نباید باعث shift شدن همه ترجمههای بعدی شوند. الگوریتم باید جای خالی را بهعنوان تصمیم مترجم بشناسد، نه حذف تصادفی شناسه.
اگر یک جمله فارسی ترجمه دو خط انگلیسی باشد، تطبیق باید با زمان و همپوشانی انجام شود و قبل از دانلود، اختلافهای مشکوک به کاربر نشان داده شوند.
تگهای حساس به رزولوشن
تگهایی مانند pos، move، org، clip، fs و drawing به PlayRes وابستهاند. هنگام استانداردسازی رزولوشن باید مختصات و اندازههای حساس با نسبت درست تبدیل شوند.
تگهای ASS را نباید با split ساده رشتهای دستکاری کرد. parser باید بخش Dialogue و override tag را جدا نگه دارد تا کاماهای داخل clip یا drawing ساختار خط را خراب نکنند.
مراحل انجام کار
- 1
ASS اصلی را انتخاب کنید
فایلی را بدهید که زمانبندی، استایلها و تایپست صحیح در آن قرار دارد.
- 2
ترجمه را اضافه کنید
فایل ترجمه SRT یا ASS مربوط به همان نسخه و همان اپیزود را انتخاب کنید.
- 3
گزارش تطبیق را بخوانید
خطوط جایگزینشده، تکراری، بدون تطبیق و هشدارهای AI را بررسی کنید.
- 4
خروجی ASS را تست کنید
فایل را در Aegisub و یک پلیر libass باز کنید و سپس نسخه نهایی را دانلود کنید.
پرسشهای متداول
آیا فونتهای ASS هم حفظ میشوند؟
نام فونت و استایلها حفظ میشوند؛ برای جابهجایی فایل باید فونتها نیز attach یا همراه خروجی ارائه شوند.
با خطوط خالی ترجمه چه میشود؟
خطوط خالی معتبر جای خود را نگه میدارند و نباید باعث جابهجایی ترجمههای بعدی شوند.
چرا فایل در Aegisub malformed میشود؟
معمولاً تعداد فیلدهای Style یا Dialogue، کاماهای تگها یا Format header ناسازگار شده است و باید با parser ASS بررسی شود.
