دوستان اهل فیلم، احتمالاً همگی با نرمافزار Subtitle Workshop آشنایی دارید. Subtitle Workshop یک نرمافزار همهمنظوره برای ساخت و ویرایش زیرنویس با انواع فرمتهاست. همینطور فیلمیها میدونن که فرمت غالب فایلهای زیرنویس، SubRip با پسوند "srt" هست.
متاسفانه تقریباً همۀ نرمافزارهای Multimedia Player زیرنویسها رو در حالت چپ-به-راست پرداخت (Render) میکنن که این حالت فقط برای زبانهای با نگارش چپ به راست، مخصوصاً انگلیسی مناسبه و بس. به همین دلیل ما پارسیزبانها مجبوریم زیرنویسهای فارسی خودمون رو (که طبیعتاً به زبان فارسیه و زبان فارسی هم از راست به چپ نوشته میشه) در نگارش چپ-به-راست طوری بنویسیم که درظاهر به شکل یک عبارت معمولی فارسی "راست به چپ" نوشته شده خونده بشه. من به این نوع زیرنویسهای فارسی میگم "زیرنویس فارسی چپ-به-راست تنظیم شده" یا Adapted Left-To-Right Persian Subtitle.
اونایی که با Subtitle Workshop زیرنویس نوشتن، میدونن که نوشتن زیرنویس به این روش، اولش کار راحتی نیست و قلق خاصی داره که باید بهش عادت کرد. این مشکل عمدۀ پیش روی زیرنویس نویسهای ایرانیه (خودم چند تا زیرنویس ترجمه کردم و نوشتم و به این مشکل کاملاً آگاهم). این مورد رو که نادیده بگیریم، متاسفانه اکثر زیرنویس نویسهای ایرانی انگار اصلاً با قواعد نگارشی آشنا نیستن! بدتر از اون غلطهای املایی عجیبی تو زیرنویسهای فارسی وجود داره که واقعاً مایۀ شرمندگیه. فکر کنم همگی ما درس املا رو تو مدرسه گذروندیم! بگذریم...
اشکالهایی که در زیرنویسهای فارسی به چشم میخوره عبارتند از:
- اشتباهات ناشی از نگارش غلط زیرنویس فارسی چپ-به-راست تنظیم شده.
- غلطهای املایی.
- عدم استفاده از علائم سجاوندی بهخصوص نقطه و ویرگول.
- استفاده از علائم لاتین به جای علائم فارسی.
- رعایت نکردن فواصل قبل و بعد از علائم سجاوندی.
- استفاده از تعداد نقطههای دلخواه به جای علامت سهنقطه (...).
- استفاده از بیش از یک اسپیس بین کلمات و یا در اول و آخر خطوط.
- قرار دادن اسم نویسنده در متن زیرنویس (که هنگام پخش فیلم دیده بشه).
این اشکالها برای افرادی که به نظم و ظاهر اهمیت میدن، واقعاً آزار دهنده ست. یکی از این افراد خود من هستم. این موضوع طی سالها اونقدر اذیتم کرد که دستبهکار شدم و این نرمافزار رو نوشتم. این نرمافزار میتونه تعدادی از مشکلاتی رو که بالا بهش اشاره کردم، برطرف کنه. البته بگم که این نرمافزار بههیچوجه رقیبی برای Subtitle Workshop نیست، و در واقع اصلاً در حد و اندازههای اون نیست. اما تصحیحاتی که روی زیرنویسها انجام میده، جزو امکانات Subtitle Workshop نیست. میشه تصحیحاتی رو که این برنامه انجام میده، با ویرایشگرهایی مثل Microsoft Office Word و حتی خود Subtitle Workshop انجام داد، اما انجامش به شدت کلافه کننده و زمانبر خواهد بود. و اگه نرمافزار مشابه دیگهای وجود داشته باشه که مثل Subtitle Proofreader بتونه این مشکلات رو به سادگی برطرف کنه و من تا این لحظه از وجودش خبر ندارم، واقعاً باید بشینم و حسرت وقت و انرژیای رو که پای این برنامه گذاشتم بخورم...
خوب... با توضیحات بالا حالا دیگه میتونم نرمافزار رو معرفی کنم.
Subtitle Proofreader
Subtitle Proofreader نرمافزاریه که برای تصحیح غلطهای نگارشی زیرنویسها، بهخصوص در زیرنویسهای فارسی نوشته شده. نرمافزار هنوز قابلیت تصحیح املایی رو نداره، اما در فکرش هستم که این مورد رو به مرور بهش اضافه کنم. برنامه برای سیستم عامل Microsoft Windows و به زبان #C، در محیط Microsoft Visual C# 2010 و برپایۀ Microsoft .NET Framework نسخۀ 3.0 کدنویسی شده. بنابراین باید بستۀ Microsoft .NET Framework نسخۀ 3.0 یا بالاتر رو به صورت نصب شده روی کامپیوترتون داشته باشید تا بتونید از نرمافزار استفاده کنید. البته گمون نکنم کد برنامه خارج از تعریفهای Microsoft .NET Framework نسخۀ 2.0 باشه و بهنظرم میشه با نسخۀ 2.0 هم ازش استفاده کرد. نوشتن اولین نسخۀ قابل انتشار عمومی Subtitle Proofreader، یعنی همین نسخۀ 1.0.33، حدود پنج ماه زمان برده و امیدوارم بتونم بهمرور امکانات بیشتری بهش اضافه کنم و قابلیتهای فعلیش رو بهتر کنم و احیاناً اگه مشکلی (باگ) داشت، برطرفش کنم. و با اجازۀ همکارهای برنامهنویس عزیز، برنامه فعلاً بهصورت Freeware هست و قصد کدباز کردنش رو ندارم.
نرمافزار رو داخل یک فایل Rar که لینکش پیوست شده میتونید دانلود کنید و نیازی به نصب نداره. برای اجرا باید Microsoft .NET Framework مناسب روی کامپیوترتون نصب باشه. این بسته از ابتدا روی ویندوزهای Vista و Se7en وجود داره. نرمافزار فقط شامل یک فایل اجرایی (Exe) و دو فایل دادهای هست. اگه به مسائل امنیتی اهمیت میدید (که تو این مورد بهتون حق میدم) و اگه شک دارید که این برنامه کد مخرب داره یا نه، لازمه بگم که این برنامه بههیچوجه با اینترنت و شبکه کاری نداره و از همین ابتدا میتونید با فایروالتون بلاکش کنید. میتونید برنامه رو در محیط حفاظتشدۀ نرمافزارهای امنیتیتون اجرا کنید تا امکان عملیات خرابکارانه ازش سلب بشه. و اینکه برنامه بههیچوجه نیاز به حقوق Administrative نداره و این اجازه رو بهش ندید. البته اگه با اطمینان این برنامه رو اجرا میکنید که نیاز به هیچکدوم از کارهای گفته شده نیست.
این نرمافزار فقط فرمت SubRip با پسوند "srt" رو ساپورت میکنه. قابلیت ایجاد نداره و فقط ویرایشکننده هست. قابلیت کار با انواع انکودینگهای Unicode رو داره و تمامی Charset های استاندارد رو ساپورت میکنه. قابلیت تبدیل Charset ها و انکودینگها به همدیگه رو داره، که این قابلیت (به این وسعت) متاسفانه در Subtitle Workshop وجود نداره. نسخۀ استیبل Subtitle Workshop تا این تاریخ زیرنویسهای SubRip با انکودینگهای رایج UTF-8 و UTF-16 رو ساپورت نمیکنه. با Subtitle Proofreader میتونید تبدیل انکودینگ رو انجام بدید تا زیرنویسهای Unicode در Subtitle Workshop قابل ویرایش بشن.
نسخهی 1.0.33
تاریخ انتشار: 31 مرداد 1390
Download
http://www.4shared.com/file/RGz578Zd/Subtitle_Proofreader_v1033.html
http://www.mediafire.com/?cdbejwludr2ws9c
http://hotfile.com/dl/127550807/dbbcd35/Subtitle_Proofreader_v1.0.33.rar.html
عملیات اصلی این نرمافزار از دو منوی Correction و Proofreading قابل دسترسیان. از اونجا که برنامه هنوز راهنما یا Help نداره، این عملیات رو در زیر توضیح دادم.
منوی Correction
این منو فرمانهای تصحیح مرتبط با زمانبندی زیرنویسها رو شامل میشه. به ترتیب:
Sort Subtitles by Start Time
در فایلهای زیرنویس SubRip هر زیرنویس یک اندیس و یک بازۀ زمانی داره. معیار اکثر یا همۀ نرمافزارهای Multimedia Player برای پخش زیرنویسها، بازۀ زمانی زیرنویسهاست نه اندیس اونها (که بعضیها برای اینکه نام خودشون رو در زیرنویس درج کنن، از این خاصیت استفاده میکنن). مثلاً در بعضی از زیرنویسهای SubRip در انتها (یا حتی در وسط) زیرنویسی وجود داره که بازۀ زمانیش مربوط به ابتدای فیلمه و در ابتدای فیلم هم پخش میشه. اگه این فرمان رو روی زیرنویس اجرا کنید، Subtitle Proofreader زیرنویسها رو به ترتیب بازۀ زمانی مرتب میکنه و البته در اندیسها هیچ تغییری نمیده. اگه اندیسها به هم ریخت، میتونید از فرمان Renumber Subtitles در همین منو استفاده کنید تا اندیسها رو مرتب کنید.
Renumber Subtitles
هر زیرنویس در فایلهای SubRip یک اندیس یا شماره داره. نرمافزار Subtitle Workshop از اندیسهای نوشته شده در خود فایل زیرنویس استفاده نمیکنه و در عوض خودش اندیسهای مرتب (با شروع از عدد یک) رو به زیرنویس ها اختصاص میده. اما Subtitle Proofreader همون اندیسهای نوشته شده در داخل فایل رو لود میکنه و تغییری تو اندیسها نمیده. اما اگه خودتون بخواید اندیسها رو مرتب کنید، میتونید از این فرمان استفاده کنید.
توضیح: اندیس زیرنویسها، عدد درج شده در ستون اوله (ستون "No.").
Remove Overlappings
مشابه نرمافزار Subtitle Workshop این فرمان همپوشانی زمانی زیرنویسها رو برطرف میکنه.
منوی Proofreading
فرمانهای تصحیح نگارشی در این منو قرار دارن. به ترتیب:
Trim Initial & Final White Spaces of Subtitle Lines
این فرمان اسپیسهای اضافی ابتدا و انتهای خطوط زیرنویسها رو حذف میکنه. در زیرنویسهای فارسی و انگلیسی قابل استفاده است.
Remove Successive White Spaces
این فرمان اسپیسهای متوالی (بیش از یک اسپیس) رو حذف میکنه و فقط یکی رو نگه میداره. در زیرنویسهای فارسی و انگلیسی قابل استفاده است.
Remove Empty Lines
این فرمان خطهای خالی و یا خطهایی که فقط از اسپیس تشکیل شدن رو حذف میکنه. اگه با این حذفها، تمام خطهای یک زیرنویس حذف بشن، اون زیرنویس کلاً حذف میشه.
Remove Tags
این فرمان تگ ها رو از زیرنویس حذف میکنه. تگها برای تغییر دادن حالات متن بهکار میرن، مثل تگ <b> که خط رو ضخیم (بولد) میکنه. در زیرنویسهای SubRip معمولاً چهار نوع تگ داریم و نه بیشتر. این فرمان به معنای تگ اهمیتی نمیده و هر عبارتی که داخل براکت زاویهای (<>) باشه، از نظر برنامه تگ هست و حذف میشه. البته تگ باید ساختار درستی داشته باشه تا تشخیص داده بشه. بعد از حذف تگ، اسپیسهای قبل و بعدش طوری حذف میشه یا نمیشه که صحت نگارشی متن از بین نره. این فرمان در زیرنویسهای فارسی و انگلیسی قابل استفاده است.
Remove Hearing Impaired Brackets
عباراتی که مخصوص بینندههای ناشنوا و کمشنوا هستن، معمولاً درون براکتهای مربعی ([ ]) قرار میگیرن. این فرمان این براکتها رو به همراه محتویات داخلش حذف میکنه. مثل فرمان Remove Tags ساختار براکتها باید درست باشه تا به عنوان براکت ناشنوایان تشخیص داده بشه. بعد از حذف براکتها معمولاً خطوط خالی در زیرنویس بهجا میمونن. این خطوط خالی رو با فرمان Remove Empty Lines حذف کنید. فرمان برای زیرنویسهای فارسی و انگلیسی قابل استفاده است.
Change Case of Subtitles
این فرمان معمولاً فقط برای زیرنویسهای انگلیسی کاربرد داره، هر چند که در زیرنویسهای فارسی هم میشه ازش استفاده کرد. این فرمان عبارات انگلیسی رو از نظر حالات حروف، به حالت استاندارد جمله تبدیل میکنه. در حالت استاندارد جمله، حرف اول جمله بزرگ و سایر حروف کوچیک هستند. عملکرد این فرمان دقیق نیست، چون اسامی خاص، کوتهنوشتها، ضمیر I و سایر عبارات مشابه رو تشخیص نمیده و اگر با این عبارات در وسط جمله مواجه بشه، همگی رو با حروف کوچیک جایگزین میکنه. فقط وقتی از این فرمان استفاده کنید که واقعاً بهش نیاز هست، مثلاً در زیرنویسهای انگلیسیای که تماماً با حروف بزرگ تایپ شدن.
Change Arabic Kaf & Ya to Persian Kaf & Ye
این فرمان تمام حروف کاف و یاء عربی (ك، ي) موجود در زیرنویس رو به حروف کاف و ی فارسی (ک، ی) تبدیل میکنه. حروف کاف و یاء عربی در زیرنویسهای فارسیای که با Subtitle Workshop تایپ شدن، به جای حروف کاف و ی فارسی استفاده شدن. البته Subtitle Workshop تقصیری نداره، چون Encoding عربی ویندوز حروف کاف و ی فارسی رو ساپورت نمیکنه. این فرمان وقتی استفاده داره که بخواید از یک Encoding که حروف فارسی رو به طور کامل ساپورت میکنه (مثل UTF-8) برای ذخیره کردن زیرنویس استفاده کنید.
Change Persian Kaf & Ye to Arabic Kaf & Ya
این فرمان تمام حروف کاف و ی فارسی (ک، ی) موجود در زیرنویس رو به حروف کاف و یاء عربی (ك، ي) تبدیل میکنه. وقتی کاربرد داره که شما بخواید یه زیرنویس فارسی با انکودینگهایی مثل UTF-8 و Unicode رو به زیرنویس فارسی دارای انکودینگ عربی ویندوز که قابل ویرایش در نرمافزار Subtitle Workshop هست، تبدیل کنید.
Change Latin Punctuation Marks to Persian
علائم سجاوندی لاتین رو به علائم معادل فارسی تبدیل میکنه. ویرگول لاتین (Comma)، علامت سوال لاتین (Question Mark)، نقطهویرگول لاتین (Semicolon) و علامت درصد لاتین (Percent Sign) مشمول این تبدیل هستن. ویرگول لاتین اگه به عنوان ویرگول در جمله بهکار رفته باشه، به ویرگول فارسی، و اگه به عنوان ممیز (جداکنندۀ) هزارتایی بهکار رفته باشه، به ممیز عربی تبدیل میشه.
Change Latin Digits To Persian
اعداد لاتین رو به اعداد فارسی (عربی) تبدیل میکنه.
Change Persian Digits To Latin
اعداد فارسی رو به اعداد لاتین تبدیل میکنه.
Correct Placement of Punctuation Marks
این فرمان طرز قرارگیری علائم سجاوندی (فارسی یا انگلیسی) رو تصحیح میکنه. اگه فاصلۀ علائم با کلمات قبل و بعد رعایت نشده باشه، اونا رو با فواصل صحیح قرار میده (با توجه به اینکه علامت در وسط یا آخر جمله اومده باشه). همینطور اگه بین علائم سجاوندی اسپیس وجود داشته باشه، اونا رو حذف میکنه. عملکرد این فرمان در حالتهای خاص ممکنه دقیق نباشه. بنابراین حتماً بعد از اجراش، زیرنویسهای اصلاح شده رو بررسی کنید. برای زیرنویسهای فارسی و انگلیسی قابل استفادهست.
Correct Placement of Dialog Dashes
این فرمان طرز قرارگیری خطتیرههای مکالمهها رو تصحیح میکنه. این تصحیح شامل سه عمل میشه. اول اینکه خطتیره رو از زیرنویسهای تکخط دارای خطتیره حذف میکنه. دوم اینکه اگه حداقل یک خط از زیرنویسهای چندخطی دارای خطتیره باشه، بقیه رو هم دارای خطتیره میکنه (اگه نداشته باشن). و سوم، فاصلۀ اونها با ابتدای خط رو اگه نیاز باشه تصحیح میکنه. مثل فرمان قبل، عملکرد این فرمان در حالتهای خاص ممکنه دقیق نباشه. بنابراین حتماً بعد از اجراش، زیرنویسهای اصلاح شده رو بررسی کنید. این فرمان رو فقط باید روی زیرنویسهای انگلیسی و فارسی "راست-به-چپ" استفاده کرد.
(Correct Placement of Dialog Dashes (In Adapted Left-To-Right Persian Subtitles
این فرمان مشابه فرمان فوق (Correct Placement of Dialog Dashes)، اما برای زیرنویسهای "فارسی چپ-به-راست تنظیم شده" هست (توضیحات فرمان یادشده رو بخونید). زیرنویس فارسی چپ-به-راست تنظیم شده، زیرنویس فارسی چپ-به-راستی هست که با اینکه چپ-به-راست نوشته شده، اما به شکل زیرنویس فارسیای که راست-به-چپ نوشته شده دیده میشه. اونهایی که با Subtitle Workshop زیرنویس فارسی نوشتن، متوجه این حرف میشن. اکثر زیرنویسهای فارسی موجود از این نوع هستند.
Swap Latin Marks of Unadapted Left-To-Right Persian Subtitles
این فرمان فقط برای زیرنویسهای "فارسی چپ-به-راست تنظیم نشده" هست. روی سایر زیرنویسها ازش استفاده نکنید که تاثیری نداره (یا در حالات نادر، تاثیر مخرب داره). بعضی از زیرنویسهای فارسی چپ-به-راست تنظیم شده به علت ناآگاه بودن مترجم یا نویسنده، تایپ غلط یا هر علت دیگهای، دارای علائم سجاوندی و خطتیرههای مکالمه به شکل نامناسب هستند. این فرمان چنین زیرنویسهایی رو تصحیح میکنه.
و در انتها؛
- لطفاً در صورت برخورد با هر اشکالی در عملکرد نرمافزار، مشکل پیش اومده رو با جزئیات کامل به بنده اطلاع بدید تا در نسخههای بعدی برطرف بشه.
- اگه نیاز به عملکرد جدیدی رو احساس میکنید (مخصوصاً در ارتباط با غلطزدایی از زیرنویسهای فارسی) باز هم مورد رو اطلاع بدید.
- و لطفاً یه دوست آگاه بررسی کنه ببینه که آیا برنامه با Microsoft .NET Framework 2.0 اجرا میشه یا نه.