Σελίδα 2 από 2

Re: Greeklish Subs

ΔημοσίευσηΔημοσιεύτηκε: 07 Σεπ 2008, 23:13
από linuxman
cyberpython έγραψε:Για τις κωδικοποιήσεις 2 είναι οι τρόποι :

1) Ο δύσκολος και πιο χρονοβόρος (αλλά οι υπότιτλοι παίζουν σε όλους τους players)
Ανοίγουμε το gedit. Πατάμε το κουμπί άνοιγμα και βρίσκουμε το αρχείο υπότιτλων που μας ενδιαφέρει. Πρίν κάνουμε κλικ στο κουμπί άνοιγμα επιλέγουμε στο πεδίο κωδικοποίηση το "Greek (Windows 1253)"
Αφού το αρχείο ανοίξει (και βλέπουμε το κείμενο σωστά), πατάμε στο Μενού "Αρχείο -> Αποθήκευση Ως..." και πρίν το αποθηκεύσουμε αλλάζουμε της κωδικοποίηση σε UTF8.

2)Εγκαθιστούμε το VLC και πάμε "Settings -> Preferences"
Πάμε στο "Input / Codecs -> Other Codecs -> Subtitles" και αλλάζουμε το subtitles text encoding σε "CP1253"
Κάνουμε κλικ στο Save.
(Αν δεν έχουμε ήχο -και χρησιμοποιούμε ALSA- ξαναπηγαίνουμε στο "Settings -> Preferences" και στο "Audio -> Output modules" τσεκάρουμε το "Advance options" και απιλέγουμε το "ALSA audio output")


Ναι καλώς τρόπος , άλλα γιατί να μην αλλάζουμε σε UTF-8 να είμαστε και καλύτερα ?

Re: Greeklish Subs

ΔημοσίευσηΔημοσιεύτηκε: 08 Σεπ 2008, 12:05
από xlv1000
ευχαριστώ για το χρόνο και για τις απαντήσεις ΟΛΟΥΣ :D

Re: Greeklish Subs

ΔημοσίευσηΔημοσιεύτηκε: 18 Σεπ 2008, 04:00
από gomputor
Καταρχάς γειά χαρά σε όλους καθώς αυτό είναι και το πρώτο ποστ που γράφω στο φόρουμ.
Καθότι καινούργιος στο Linux (λίγο παραπάνω από μήνα), είχα κι εγώ το ίδιο πρόβλημα με
τους ελληνικούς υπότιτλους για τις ταινίες που έχω. Το πρόβλημα είναι ότι όλοι οι υπότιλοι
που έχω κατεβάσει από διάφορα σάιτ είναι κωδικοποιημένοι με ISO 8859-7 που είναι καθαρά
κώδικας για τα Windows.
Τελικά όμως η λύση είναι απλή, αρκεί να βλέπεις τις ταινίες με το VLC. Απλά πατάς το
Advanced Settings... δίπλα στην επιλογή του υπότιτλου, και μετά στο καινούριο παράθυρο που
ανοίγει, στο Subtitles text encoding επιλέγεις ISO 8859-7 και μετά βλέπεις την ταινία με
ελληνικούς υπότιτλους. :)
Υποθέτω ότι αν και άλλα προγράμματα σου δίνουν την δυνατότητα να επιλέξεις ISO 8859-7,
τότε δεν θα υπάρχει πρόβλημα. Και στο gedit αν επιλέξεις Greek(ISO 8859-7) όταν ανοίγεις ένα
αρχείο, το δείχνει κανονικά με ελληνικούς χαρακτήρες.
Βέβαια πιστεύω ότι η μετατροπή αυτών των αρχείων σε unicode είναι η καλύτερη λύση.
:)

Re: Greeklish Subs

ΔημοσίευσηΔημοσιεύτηκε: 18 Σεπ 2008, 10:54
από logari81
νομίζω το έχουμε εξαντλήσει το θέμα αλλα ας προσθεσω κι εγώ πως το βλεπω. Το ερώτημα ειναι αν ειναι στραβος ο γιαλός ή αν στραβά αρμενίζουμε. Σε αυτήν την περίπτωση όλοι αυτοι που ανεβάζουν/κατεβάζουν/χρησιμοποιουν υπότιτλους σε ISO 8859-7 ή Windows 1253 αρμενίζουνε στραβά καθοτι αυτές οι κωδικοποιήσεις είναι "πρόχειρες λύσεις". Το θεμα τωρα είναι αν εμεις προσπαθούμε να στραβωσουμε και το γιαλό για να έρθει κοντα στο καράβι (αλλάζοντας τις αρχικες-σωστες ρυθμισεις του vlc ή οποιουδήποτε αλλου προγραμματος) ή αν θα προσπαθήσουμε να φέρουμε το καράβι πάλι στην ίσια πορεια πείθοντας και όλο το υπόλοιπο σύμπαν να χρησιμοποιεί UTF-8. Το σωστο θα ήταν επομένως το κατεβασμα των υποτιτλων η μετατροπή τους σε UTF-8 και το ξανανέβασμα τους σε αυτή την μορφη.

Re: Greeklish Subs

ΔημοσίευσηΔημοσιεύτηκε: 18 Σεπ 2008, 19:05
από gomputor
logari81 έγραψε:νομίζω το έχουμε εξαντλήσει το θέμα αλλα ας προσθεσω κι εγώ πως το βλεπω. Το ερώτημα ειναι αν ειναι στραβος ο γιαλός ή αν στραβά αρμενίζουμε. Σε αυτήν την περίπτωση όλοι αυτοι που ανεβάζουν/κατεβάζουν/χρησιμοποιουν υπότιτλους σε ISO 8859-7 ή Windows 1253 αρμενίζουνε στραβά καθοτι αυτές οι κωδικοποιήσεις είναι "πρόχειρες λύσεις".


Συγγνώμη, αλλά για να καταλάβω... δλδ αν κατεβάσεις έναν υπότιτλο από κάποιο σάιτ
το οποίο σάιτ δεν σε πληροφορεί σε τι κωδικοποίηση είναι οι υπότιτλοι (και δεν έχει
υποπέσει στην αντίληψη μου κάποιο σάιτ που να σε πληροφορεί για την κωδικοποίηση),
αλλά απλά γράφει 'greek subtitle', και αυτοί οι υπότιλοι φυσικά οι περισσότεροι είναι σε
κωδικοπιοίηση των Windows καθότι οι περισσότεροι χρησιμποποιούν αυτό το λειτουργικό,
αρμενίζεις λάθος; Και το να χρησιμοποιήσεις μια ρύθμιση που σου παρέχει το εκάστοτε
πρόγραμμα που χρησιμοποιείς για να κάνεις κάτι, σημαίνει ότι στραβώνεις και το γιαλό;
Με την ίδια λογική, ένας χρήστης των Windows μπορεί να πει ότι στράβωσε ο γιαλός άμα
του πάω ένα αρχείο που δεν είναι σε κωδικοποίηση του λειτουργικού του.
Συγγνώμη, αλλά δεν μπορώ να το καταλάβω.Ίσως βέβαια και να παρερμήνευσα το κείμενο σου!
(και φυσικά δεν θέλω να προσβάλλω.)

Όπως και νάχει όμως, πιστεύω ότι είναι καθαρά μια θεωρητική κουβέντα αυτή και ότι 100
άνθρωποι μπορούν νάχουν 100 διαφορετικές απόψεις πάνω σε αυτό.
Το θέμα είναι ότι αφού χρησιμοποιούμε Ubuntu, το καλύτερο είναι να ήταν αυτοί
οι υπότιλοι σε utf-8 (πράγμα στο οποίο όλοι συμφωνούμε).

Οπότε κάθισα και έγραψα ένα μικρό σκρίπτ σε Python για να μετατρέπει το αρχείο των
υπότιτλων απο ISO 8859-7 ή windows-1253 σε utf-8. Απλά του περνάς σαν παράμετρο στην
command line το αρχείο που θες να μετατρέψεις, κάνει ενα backup του αρχικού αρχείου ώστε
αν κάτι δεν πάει καλά να μην το χάσεις, και στη συνέχεια το μετατρέπει σε utf-8.
Μέχρι στιγμής το δοκίμασα με πολλά αρχεία δικά μου και όλα λειτουργούν άψογα.

Το σκριπτ είναι το εξης:

Κώδικας: Επιλογή όλων
#!/usr/bin/env python

import os, sys, shutil

def convert_to_utf8(filename):
    file_lines = []
    fpath = os.path.splitext(filename)[0]
    ext = os.path.splitext(filename)[1]
    newfilename = fpath + ext + '.bak'
    shutil.copy(filename,newfilename)

    f = open(filename, 'r')
    try:
        for line in f.readlines():
            file_lines.append(line.decode('iso-8859-7'))
    except:
        file_lines = []
        try:
            for line in f.readlines():
                file_lines.append(line.decode('windows-1253'))
        except Exception, e:
            print e
    finally:
        f.close()

    n = open(filename,'w')
    try:
        for i in file_lines:
            n.write(i.encode('utf-8'))
    except Exception, e:
        print e
    finally:
        n.close()

if __name__ == '__main__':
    convert_to_utf8(sys.argv[1])



Απλά κάντε το copy και σώστε το σαν converter.py (ή όποια ονομασία θέλετε).
Μετά το τρέχετε με παράμετρο το αρχείο που θέλετε να μετατρέψετε π.χ

Κώδικας: Επιλογή όλων
python converter.py /home/user/my_movies/And_Justice_for_All.srt

και το σκριπτ αφου δημιουργήσει ένα αντίγραφο του αρχείου με την κατάληξη .bak,
(π.χ And_Justice_for_All.srt.bak) στη συνέχεια το κωδικοποιεί σε utf-8 και είναι
έτοιμο να το χρησιμοποιήσετε.
Φυσικά αν το αρχείο μας έχει κενά ανάμεσα στις λέξεις (π.χ And Justice for All.srt)
τότε το περικλείουμε είτε σε μονά '' είτε σε διπλά " " εισαγωγικά
π.χ
Κώδικας: Επιλογή όλων
python converter.py /home/user/my_movies/'And Justice for All.srt'

Αν για τον οποιοδήποτε λόγο το σκρίπτ δεν μπορεί να κάνει την κωδικοποίηση
(π.χ επειδή το αρχείο μας μπορεί να είναι σε άλλη κωδικοποίηση απο iso-8859-7
ή windows-1253 ή επειδή μπορεί να είναι φθαρμένο), τότε απλά ανακτήστε το αρχείο
με την κατάληξη .bak (το αρχικό δλδ).

(Το αρχείο .bak δημιουργείται φυσικά στον ίδιο κατάλογο με το αρχικό μας αρχείο.
Και υποθέτω ότι έχετε εγκατεστημένη την Python στο σύστημα σας, αν και νομίζω
όλες οι debian based distributions την έγκαθιστούν από default. Αν κάνω λάθος
διορθώστε με.)

Αν κάποιοι το βρουν χρήσιμο και το χρησιμοποιήσουν, τότε μπορώ να το φτιάξω να κάνει
μαζικές μετατροπές αρχείων σε κάποιο directory, ή ακόμη και να το φτιάξω με γραφικό
περιβάλλον ώστε να μην το χρησιμοποιούμε από command line αλλά από κάποιο παράθυρο.
Απλά πέστε το :)
Και συγγνώμη για το μεγάλο ποστ...
Καλησπέρα.

Re: Greeklish Subs

ΔημοσίευσηΔημοσιεύτηκε: 18 Σεπ 2008, 19:17
από Cruster
Το θέμα είναι πολύ ενδιαφέρον μιας και υπάρχει πολύ συχνά πρόβλημα με την κωδικοποίηση των υποτίτλων. Εγώ έφτιαξα ένα nautilus-script (μόνο για gnome) που μετατρέπει την κωδικοποίησή τους.

Κώδικας: Επιλογή όλων
#!/bin/bash
#
#    Copyright (C) 2008 Panagiotis Koutsias (panoskoutsias_at_hotmail_com)
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# Name: Convert Encoding
# Type: Nautilus Script
#
# Dependency : iconv
#        : zenity
#
# To install it just copy this file in your ~/.gnome2/nautilus-scripts folder
#
# Use: Select the files you want to convert their encodings in nautilus,
# right click on one of them and from the context menu "Scripts" choose Convert Encoding
#
# ToDo: Identify files into folders
#


#Option to handle files with spaces
IFS=$'\n'

#Get source & destination encoding
SRC_ENC=`zenity --entry --text="Enter the encoding of the selected file(s):"`
DST_ENC=`zenity --entry --text="Enter the encoding for the destination file(s):"`
   
   #Convert all files
   for FILE in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do

      #Get file name
      FILENAME=`basename $FILE`

      #Convert specific file
      iconv -f $SRC_ENC -t $DST_ENC $FILENAME -o $FILENAME.utf8
      
      #Create backups
      cp $FILENAME $FILENAME~
      mv $FILENAME.utf8 $FILENAME

   done


Η εγκατάσταση είναι απλή:

Εκτελείτε:
Κώδικας: Επιλογή όλων
gedit ~/.gnome2/nautilus-scripts/Convert\ Encoding

και κάνετε επικόλληση τον κώδικα από το παραπάνω μήνυμα και αποθηκεύετε.

Μετά εκτελείτε:
Κώδικας: Επιλογή όλων
chmod +x ~/.gnome2/nautilus-scripts/Convert\ Encoding

και με δεξί κλικ στο(α) αρχείο(α) που θέλετε να μετατρέψετε στο υπομενού Scripts διαλέγετε το Convert Encoding και απαντάτε στις ερωτήσεις που ζητάει.

Re: Greeklish Subs

ΔημοσίευσηΔημοσιεύτηκε: 18 Σεπ 2008, 20:52
από logari81
το γιατι η κωδικοποησεις που χρησιμοποιούνται στα windows ειναι "λαθος" ειναι ενα καθαρά τεχνικό θεμα το οποίο δεν ειμαι ειδικός να εξηγήσω. Εμπιστευομαι όμως την άποψη του simosx

viewtopic.php?f=24&t=332&p=2440&#p2440

που είναι σίγουρα πολύ καλα κατατοπισμένος στο θεμα κι έχει αφιερωσει πολύ χρονο από την ζωή του για τετοια ζητήματα. Ελπίζω να διαβάσει το νήμα και να μας κατατοπίσει λίγο για το πώς εχει η κατάσταση και το κατα πόσο είναι στραβός ο γιαλός τελικά.

Re: Greeklish Subs

ΔημοσίευσηΔημοσιεύτηκε: 18 Σεπ 2008, 22:53
από simosx
Περιγραφικά, θα έλεγα ότι το πρόβλημα δεν είναι τόσο «στις κωδικοποιήσεις που χρησιμοποιούν τα Windows», όσο στη χρήση οκτάμπιτων κωδικοποιήσεων, που γίνεται για λόγος συμβατότητας με παλαιότερες εκδόσεις του λειτουργικού.

Το πρόβλημα με τις κωδικοποιήσεις 8-bit είναι ότι ένα κείμενο σε τέτοια κωδικοποίηση δεν παρέχει από μόνο του πληροφορίες για τον εύκολο προσδιορισμό της κωδικοποίησης.

Αν είναι για ηλεκτρονική αλληλογραφία, το πρωτόκολλο SMTP παρέχει πληροφορίες για την κωδικοποίηση του περιεχομένου ενός γράμματος (με το σχετικό πεδίο για encoding). Ακόμα, το θέμα ενός γράμματος μπορεί να είναι σε κάποια κωδικοποίηση διότι υπάρχει τρόπος προσδιορισμού. Για παράδειγμα, δείτε http://simosx.livejournal.com/2189.html

Αν το κείμενο είναι υπότιτλοι, ετικέτες ID3v2 σε τραγούδια, ονόματα αρχείων μέσα σε αρχείο ZIP, εγγραφές CDDB για τα CD ήχου, εκεί δεν υπάρχουν πληροφορίες κωδικοποίησης.

Θα μπορούσε να πει κανείς ότι το λειτουργικό σύστημα είναι σε θέση να επιλέξει μεταξύ windows-1253, και αν δε δουλέψει, χρησιμοποιεί UTF-8. Το πρόβλημα εδώ είναι ότι πρόκειται για πολλές γλώσσες στο κόσμο, και η πολυπλοκότητα αυξάνεται πάρα πολύ. Υπάρχει τουλάχιστον μια προσπάθεια με μια βιβλιοθήκη που με στατιστικούς τρόπους προσπαθεί να μαντέψει την κωδικοποίηση. Κάτι τέτοιο είναι ενδιαφέρον, ωστόσο το κατά πόσο καταφέρνει να έχει σωστό αποτέλεσμα εξαρτάται από το μέγεθος του μηνύματος. Ακόμα, χρειάζεται να γίνει προσπάθεια για να μπει μια τέτοια βιβλιοθήκη σε όλες τις διανομές, πρώτα.

Η ιδανική λύση είναι να μεταβούμε στην κωδικοποίηση UTF-8, διότι όταν έχεις κείμενο στην κωδικοποίηση αυτή, το κείμενο θα ισχύει για πάντα.

Αν κάποιος έχει όρεξη να κοιτάξει για τη λύση στο πρόβλημα «υπάρχει κάτι που μπορούμε να κάνουμε τώρα για να διευκολύνουμε τη μετάβαση;», γράφω παρακάτω κάποιες οδηγίες. Το θέμα όμως είναι ότι η βέλτιστη λύση είναι να κάνουμε το κόσμο να μεταβεί από τις παρωχημένες κωδικοποιήσεις σε σύγχρονες κωδικοποιήσεις (υποστήριξη κάθε γλώσσας).

Στη βιβλιοθήκη glib (GNOME), υπάρχει κώδικας που βλέπει αν ένα κείμενο είναι έγκυρο UTF-8. Αν το κείμενο δεν είναι έγκυρο UTF-8, τότε το μετατρέπει από iso-8859-1 (θεωρεί πάντα ότι αυτή είναι η αρχική κωδικοποίηση) σε UTF-8. Αν το κείμενο ήταν όμως ελληνικά, τότε είναι που βλέπουμε χαρακτήρες όπως áäâãÿãěă. Θα μπορούσε να δημιουργηθεί μια νέα μεταβλητή περιβάλλοντος π.χ. GLIB_COMPAT_ENCODING όπου κάθε εγκατάσταση του Ubuntu ανάλογα με τη γλώσσα, να θέτει τη μεταβλητή αυτή σε π.χ. windows-1253. Αυτή θα ήταν η αρχική κωδικοποίηση στις μετατροπές, όταν ένα κείμενο δεν είναι έγκυρο UTF-8. Προγραμματιστικά, ένα τέτοιο έργο νομίζω ότι χρειάζεται να κοιτάξει στον κώδικα της glib, να βρει το σημείο που κάνει την μετατροπή iso-8859-1 (ή windows-1251;) σε UTF-8, και να το κάνει να μετατρέπει από getenv ("GLIB_COMPAT_ENCODING") σε UTF-8. Μιλάμε για 3-5 γραμμές κώδικα C, στο κατάλληλο σημείο. Αν είναι να ασχοληθεί κανείς, είναι καλό να ολοκληρωθεί μέχρι το τέλος του Δεκεμβρίου, για να μπει σίγουρα στο Ubuntu 9.04.

Re: Greeklish Subs - κωδικοποιήσεις

ΔημοσίευσηΔημοσιεύτηκε: 28 Απρ 2012, 23:18
από andrikos
BlackSlash13 έγραψε:
simosx έγραψε:Γενικά, είναι εφικτό για κάποιον να μετατρέψει ένα κείμενο σε greeklish (=transliteration, που είναι και ο σωστός όρος), με χρήση κάτι σαν το

Κώδικας: Επιλογή όλων
iconv -f windows-1253 -t ASCII//TRANSLIT < old-subtitles.srt > new-subtitles.srt


Ωστόσο, για κάποιο λόγο δε δουλεύει. Μια πρόχειρη αναζήτηση στο Google εμφανίζει άλλους με το ίδιο πρόβλημα, ωστόσο δε βρήκα λύση.

Σε κάθε περίπτωση, είναι καλό που έφτιαξες πρόγραμμα για την επίλυση του προβλήματος.


Οντως. Το δοκιμασα αυτο που λες και δεν παιζει. Ευχαριστω.
Καλη συνεχεια στις μεταφράσεις του gnome.


Για την αυτόματη μετατροπή σε greeklish δεν υπάρχουν ακόμα οι κανόνες, αλλά συζητιέται το θέμα σε αυτό το bug report:
http://sourceware.org/bugzilla/show_bug.cgi?id=12031

Re: Greeklish Subs - κωδικοποιήσεις

ΔημοσίευσηΔημοσιεύτηκε: 29 Απρ 2012, 14:41
από jennie
andrikos έγραψε:Για την αυτόματη μετατροπή σε greeklish δεν υπάρχουν ακόμα οι κανόνες, αλλά συζητιέται το θέμα σε αυτό το bug report:
http://sourceware.org/bugzilla/show_bug.cgi?id=12031


Το λεγόμενο betacode είναι μία, αρκετά καθιερωμένη στους διεθνείς ακαδημαϊκούς κύκλους, μεταγραφή για τα Αρχαία Ελληνικά. Χρησιμοποιεί το Q για το Θ, το C για το Ξ, το U για το Υ και το Y για το ψ. Ίσως, θα μπορούσε να υπάρξει και αυτή η επιλογή για το locale grc=αρχαία (σε αντίθεση με το ell=νέα Ελληνικά).
Όσο για τα Νέα Ελληνικά, εγώ έχω αρχίσει να χρησιμοποιώ το q=θ εδώ και κάποιον καιρό, αλλά αυτό είναι προσωπική προτίμηση (περί ορέξεως...). Και μάλλον προτιμώ το u αντί του y για το ύψιλον, αλλά δεν είμαι σίγουρη ποια επιλογή είναι πιο διαδεδομένη μεταξύ των Ελλήνων χρηστών.