मैं उपशीर्षक फ़ाइल के एन्कोडिंग को कैसे बदल सकता हूं?


14

मैंने एक फिल्म के लिए एक ग्रीक उपशीर्षक डाउनलोड किया, और यह वही है जो मैं देखता हूं जब मैं इसे Gedit के साथ खोलता हूं।

यहां छवि विवरण दर्ज करें

सबटाइटल VLC पर बढ़िया काम करता है, बिलकुल सही। लेकिन क्या होगा अगर मैं कुछ ग्रीक शब्दों के साथ इस उपशीर्षक को संपादित करना चाहता हूं? मुझे तुरंत चरित्र एन्कोडिंग के बारे में एक त्रुटि मिलती है।

यहां छवि विवरण दर्ज करें

मैं पुनः प्रयास करता हूं और फिर VLC उपशीर्षक को पहचान नहीं पाता ...

जवाबों:


16

उपशीर्षक संस्करण / अनुवाद (पाठ-आधारित उपशीर्षक, यही है) के लिए, मैं दृढ़ता से गौपोल का सुझाव देता हूं

sudo apt-get install gaupol

इसके अलावा gaupol, आप उपशीर्षक संपादक और सूक्ति उपशीर्षक भी आज़मा सकते हैं ।

हालाँकि, स्क्रीनशॉट से यह स्पष्ट है कि आपकी .srtफ़ाइल यूनिकोड में एन्कोडेड नहीं है

यह पता चला है के रूप में, iconv बदल करता है UTF-8 में फ़ाइल की एन्कोडिंग, लेकिन बदली गई फ़ाइल अभी भी आप जब Gedit में खोलने को देखने के लिए एक ही वर्ण होगा।

इसका जो समाधान मुझे मिला वह यह है:

  1. Gaupol खोलें और मेनू फ़ाइल पर जाएँखोलें या बटन खोलें पर क्लिक करें ।
  2. खुली खिड़की के निचले हिस्से में एक चयन मेनू है, जिसका शीर्षक चरित्र एन्कोडिंग हैअन्य ... (अंतिम विकल्प) पर क्लिक करें ।

    Gaupol की खुली खिड़की में कैरेक्टर एन्कोडिंग विकल्प

  3. अपनी फ़ाइल के लिए उपयुक्त एन्कोडिंग का चयन करें, जैसे ग्रीक ISO-8859-7 , और बटन एक्सेप्ट पर क्लिक करें

    शो चरित्र एन्कोडिंग संवाद बॉक्स

  4. अब अपनी .srtफ़ाइल खोलें और सुनिश्चित करें कि सभी वर्ण सही तरीके से प्रस्तुत किए गए हैं। अन्यथा, उपरोक्त प्रक्रिया को दूसरे एन्कोडिंग के साथ दोहराएं। आप file -bi yourfile.srtअपनी फ़ाइल के सही एन्कोडिंग को निर्धारित करने के लिए कमांड चला सकते हैं (हालांकि मैंने पढ़ा है कि परिणाम आवश्यक रूप से सटीक नहीं हैं)।

  5. अपनी उपशीर्षक फ़ाइल को सही वर्ण एन्कोडिंग में खोलने के साथ, अब मेनू पर जाएँ फ़ाइलइस रूप में सहेजें ... और वर्ण एन्कोडिंग विकल्प (फिर से, विंडो के नीचे) को बदलकर UTF-8 में रखें और फ़ाइल को सहेजें (संभवतः के साथ) एक नया नाम, सुरक्षा के लिए)।

कोडपेज जोड़ने की यही प्रक्रिया Gedit के लिए काम करेगी । फिर भी मैं गौपोल के निर्देशों को छोड़ देता हूं क्योंकि यह सवाल उपशीर्षक फाइलों के बारे में है।

सौभाग्य।


मेरे पास पहले से ही गैपॉल है, और यह मेरे स्क्रीनशॉट्स जैसे शब्दों को पहले (अपठनीय अक्षरों में) दिखाता है। और जैसा कि मैंने पहले कहा, अगर मैं UTF-8 को नए एन्कोडिंग के रूप में सेट करता हूं, तो VLC उपशीर्षक की पहचान नहीं करता है ..
Leon Vitanos

आपको utf-8 के रूप में संपादित करने और दाढ़ी बनाने से पहले एन्कोडिंग को बदलना होगा
carnendil

क्या आप कुछ अधिक विशिष्ट हो सकते हैं? Yoy मतलब परिवर्तन एन्कोडिंग के माध्यम से बचाने के रूप में? U का अर्थ है "आइकनव" के साथ टर्मिनल के माध्यम से एनकोड? दोनों ने कोशिश की, VLC उसके बाद उपशीर्षक को नहीं पहचानेंगे
Leon Vitanos

मुझे क्षमा करें, मुझे स्वयं को जांचने के लिए कुछ ग्रीक भाषा के उपशीर्षक लेने पड़े। वास्तव में, iconvचरित्र एन्कोडिंग बदल जाता है, लेकिन प्रोग्राम उन वर्णों को प्रतिस्थापित नहीं करेगा, जो UTF-8 के रूप में खोले जाने पर दिखाए जाते हैं। कृपया मेरे अद्यतन उत्तर की जाँच करें। चीयर्स।
कारनेन्डिल

4
iconv -f ISO-8859-7 -t UTF-8  Input_file.srt   > Output_file.srt  

केट संपादक से उन्हें खोलें आप उचित पाठ देख सकते हैं, यदि आपको अभी भी उन्हें Gedit से खोलने की आवश्यकता है, तो दूसरे शब्दों में, स्थायी रूप से ऊपर टर्मिनल कमांड चलाने वाले कोडिफिकेशन को बदल दें।


iconv, जो मैं प्रयोग करने में सक्षम था, वह फ़ाइल की एन्कोडिंग को बदल देगा, लेकिन किसी भी सामग्री को स्थानापन्न नहीं करेगा, अर्थात केवल स्रोत और लक्ष्य एन्कोडिंग के बीच मेल खाने वाले वर्ण ही सही तरीके से प्रस्तुत करेंगे, अन्य सभी उसके अनुसार प्रस्तुत करेंगे। लक्ष्य एन्कोडिंग उन्हें कैसे समझता है। मेरे जवाब और उनकी टिप्पणियों को देखें ।
कारनेडिल

thnks @carnendil मैंने जो कहा, वह यह था कि यह संहिताकरण को बदल देता है क्योंकि मैं भी ग्रीक हूं (मातृ भाषा नहीं), जाहिर है मेरा मतलब था कि एन्कोडिंग और केवल आउटपुट फाइल में इनपुट अभी भी निर्देशिका में खड़ा है, लेकिन क्या आप पर्याप्त हो सकते हैं ... इसे बैश स्क्रिप्ट में लागू करें? मैं "के लिए जाना चाहिए। iconv ... किया" पाश?
billybadass

इस तरह का जवाब, ध्यान दें कि अभी भी एन्कोडिंग को utf-8 से वीडियो प्लेयर वरीयताओं # में बदलना है! * में फ़ाइल के लिए बिन / बैश करें। आइएस आइआरवी-एफ ISO-8859-7 -t UTF-8 -o "$ file.new" "$ file" && mv -f "$ file.new" "$ file" किया
बिलबिलादस

3

मैं सुझा दूंगा enca। गैपोल के विपरीत, आप न केवल उपशीर्षक-फाइलें, बल्कि किसी भी पाठ फ़ाइल को संभाल सकते हैं।

  1. एन्का स्थापित करें:

    sudo apt-get install enca
    
  2. फ़ाइल की एन्कोडिंग का पता लगाने के लिए, देखें कि क्या एनेका इसका अनुमान लगा सकती है:

    enca <file>
    

    या, यदि यह विफल हो जाता है और आप पाठ फ़ाइल की भाषा जानते हैं, उदाहरण के लिए

    enca -L ru <file>
    

    और देखें कि यह आपको क्या देता है। से समर्थित भाषाओं की सूची प्राप्त करें man enca

  3. मैं UTF-8 में बदलने की सलाह दूंगा, आप इसे चलाकर कर सकते हैं

    enconv -x utf8 <file>
    

    या, फिर, यदि encaभाषा द्वारा अनुमान नहीं लगा सकते

    enconv -L ru -x utf8 <file>
    

    यह ट्रिक काम आना चाहिए।


1

समस्या यह है कि Gedit (और कई अन्य लिनक्स ऐप्स) पाठ के एन्कोडिंग को सही ढंग से नहीं पहचानते हैं। दूसरी ओर VLC शायद इसे सही ढंग से ("उपशीर्षक प्राथमिकताएं" टैब के माध्यम से) पहचानने के लिए सेट है, और इसलिए आपको वहां कोई समस्या नहीं है। समाधान सरल है:

आप फ़ाइल को डबल-क्लिक करके नहीं खोलते हैं, लेकिन गेडिट के "ओपन" संवाद के माध्यम से । वहां, आप नीचे बाईं ओर एक पा सकते हैं drop-down for Encoding, जिसमें डिफ़ॉल्ट रूप से "स्वचालित रूप से पता लगाया गया" चुना गया है। इसे "Windows-1253" या "ISO-8859-7" पर सेट करें और आप जाने के लिए अच्छा है, फ़ाइल सही तरीके से खुलती है (और आप भविष्य के मुद्दों से बचने के लिए इसे UTF-8 में सहेज सकते हैं)


0

एक अन्य उपशीर्षक संपादक जो विभिन्न स्वरूपों में परिवर्तित करने की अनुमति देता है (और सुविधाओं के टन के साथ आता है) एजिसब है । यह देशी प्रारूप (.ass) वीएलसी मीडिया प्लेयर के साथ-साथ एमपीलेयर द्वारा समर्थित है और इसे परिवर्तित करने के लिए एन्कोडिंग मुद्दों को ठीक करना चाहिए।


0

SRT फ़ाइलों के अनुवाद के लिए आप ड्यूलसब का भी उपयोग कर सकते हैं । यह ओपन-सोर्स (GPLv3) और क्रॉस-प्लेटफॉर्म है। यह Google अनुवादक का उपयोग करता है।


0

अपने सामान्य जानकारियां के लिए, अब वहाँ है subtitle-index.org , यह उपशीर्षक का एक बहुत है, उनमें कई criterias (अवधि, वर्तनी जाँच, lisibility, एन्कोडिंग) के साथ रैंक केंद्रित है, और प्रस्तावों सबसे अच्छा एक UTF-8 के रूप में प्रत्यक्ष डाउनलोड में।

बहुत अच्छा काम करते हुए, यह एन्कोडिंग समस्याओं से बचा जाता है जो कि बहुत ही सुंदर और कष्टप्रद हैं।


0

यह UTF-8 एन्कोडिंग वाले सबटाइटल्स में उपशीर्षक सहित किसी भी टेक्स्ट फाइल को परिवर्तित करने के लिए पायथन 3 फ़ंक्शन है।

def correctSubtitleEncoding(filename, newFilename, encoding_from='ISO-8859-7', encoding_to='UTF-8'):
    with open(filename, 'r', encoding=encoding_from) as fr:
        with open(newFilename, 'w', encoding=encoding_to) as fw:
            for line in fr:
                fw.write(line[:-1]+'\r\n')
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.