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

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

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

Δημοσίευσηαπό BlackSlash13 » 15 Αύγ 2008, 13:21

Πηγα διακοπες με τον φορητο και τον εξωτερικο σκληρο δισκο γεμάτο με divX συμπιεσμένες ταινίες που τις εχω αγοράσει νομιμα για να μην κουβαλάω τα αυθεντικα DVD που μπορει και να χαλάσουν στις διακοπές. Ο βλάκας όμως, στο encoding ξεχασα να ενσωματώσω τους υπότιτλους ....

Και μαντεψτε ; Ειχα 4 λειτουργικα πανω (λινουξ) και ειχα ξεχασει να βαλω ελληνικη υποστηριξη. Με αποτελεσμα τα αρχεια srt των υποτιτλων να μην εμφανιζονται (δεν ελεγε να δουλεξει το ατοιμο το encoding ) με αποτελεσμα να βλεπω μονο τελιες και ερωτηματικα. Ετσι, αφου δεν ειχα ιντερνετ επρεπε να βρω μια λυση. Η λυση ηταν να κατσω να γραψω ολο το αρχειο με τους υποτιτλους απο τα ελληνικα στα greeklish. Πολυ χρονοβορο ομως... Οποτε εφτιαξα ενα προγραμμα να το κανει αυτο αντι για μενα. Δεν ειναι τιποτα σπουδαιο απλα το παραθετω ως ιδεα. πχ βαζεις το αρχειο srt σε ενα φακελο μαζι με τον source, κανεις compile. Στην αρχη σου ζηταει ενα ονομα, οπου δινει το ονομα του αρχειο που εχεις στον φακελο μαζι με τον κωδικο, πχ SexAndTheCity.srt και στην συνεχεια δινεις ενα ονομα για το καινουριο αρχειο με τα greeklish πχ SexGreek.srt. και voila

Κώδικας: Επιλογή όλων
#include <fstream>
#include <iostream>
#include <string.h>
#include <cstdlib>
using namespace std;

int main()
{
    char phrasi[100];
    char Source[80], Target[80];
    cout << "Greek2Lish Converter (by BlackSlash)\n" << endl;
    cout << "Dose to onoma tou arxeiou iso-8859-7: ";
    cin >> Source;
    cout << "Dose to onoma  tou arxeiou Greeklish: ";
    cin >> Target;

    ifstream fin(Source);
    ofstream fout(Target);
    cout << "Convertion started . . .";
    char ch;
    while( fin.get(ch) )
    {
   if(int(ch) == -31 || int(ch) == -36 ) {
      fout << "a";
   } else if( int(ch) == -63 || int(ch) == -74) {
      fout << "A";
   } else if ( int(ch) == -30) {
      fout << "b";
   } else if ( int(ch) == -62 ) {
      fout << "B";
   } else if ( int(ch) == -61 ) {
      fout << "G";
   } else if ( int(ch) == -29 ) {
      fout << "g";
   } else if ( int(ch) == -28 ) {
      fout << "d";
   } else if ( int(ch) == -60 ) {
      fout << "D";
   } else if ( int(ch) == -27 || int(ch) == -35 ) {
      fout << "e";
   } else if ( int(ch) == -59 || int(ch) == -72 ) {
      fout << "E";
   } else if ( int(ch) == -26 ) {
      fout << "z";
   } else if ( int(ch) == -58 ) {
      fout << "Z";
   } else if ( int(ch) == -25 || int(ch) == -34 || int(ch) == -23 || int(ch) == -33) {
      fout << "i";
   } else if ( int(ch) == -57 || int(ch) == -71 || int(ch) == -55 || int(ch) == -70) {
      fout << "I";
   } else if ( int(ch) == -24 || int(ch) == -56 ) {
      fout << "th";
   } else if ( int(ch) == -22 ) {
      fout << "k";
   } else if ( int(ch) == -54 ) {
      fout << "K";
   } else if ( int(ch) == -21 ) {
      fout << "l";
   } else if ( int(ch) == -53 ) {
      fout << "L";
   } else if ( int(ch) == -20 ) {
      fout << "m";
   } else if ( int(ch) == -52 ) {
      fout << "M";
   } else if ( int(ch) == -19 ) {
      fout << "n";
   } else if ( int(ch) == -51 ) {
      fout << "N";
   } else if ( int(ch) == -18 ) {
      fout << "ks";
   } else if ( int(ch) == -50 ) {
      fout << "Ks";
   } else if ( int(ch) == -17 || int(ch) == -4 ) {
      fout << "o";
   } else if ( int(ch) == -49 || int(ch) == -68 ) {
      fout << "O";
   } else if ( int(ch) == -16 ) {
      fout << "p";
   } else if ( int(ch) == -48 ) {
      fout << "P";
   } else if ( int(ch) == -15 ) {
      fout << "r";
   } else if ( int(ch) == -47 ) {
      fout << "R";
   } else if ( int(ch) == -13 || int(ch) == -14 ) {
      fout << "s";
   } else if ( int(ch) == -45 ) {
      fout << "S";
   } else if ( int(ch) == -12 ) {
      fout << "t";
   } else if ( int(ch) == -44 ) {
      fout << "T";
   } else if ( int(ch) == -11 || int(ch) == -3 ) {
      fout << "u";
   } else if ( int(ch) ==  -43 || int(ch) == -66 ) {
      fout << "Y";
   } else if ( int(ch) == -10 ) {
      fout << "f";
   } else if ( int(ch) == -42 ) {
      fout << "F";
   } else if ( int(ch) == -9 ) {
      fout << "x";
   } else if ( int(ch) == -41 ) {
      fout << "X";
   } else if ( int(ch) == -8 ) {
      fout << "ps";
   } else if ( int(ch) == -40 ) {
      fout << "Ps";
   } else if ( int(ch) == -7 || int(ch) == -2 ) {
      fout << "o";
   } else if ( int(ch) == -39 || int(ch) == -65 ) {
      fout << "O";
   } else {
      fout << ch;
   }
   
    }
    cout <<"Job done.***\n";
   fin.close();
    return 0;
}
BlackSlash13
babeTUX
babeTUX
 
Δημοσιεύσεις: 17
Εγγραφή: 09 Ιουν 2008, 19:01
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό Dimitris » 15 Αύγ 2008, 14:04

Πολύ καλή ιδέα. Ερώτηση το ubuntu υποστηρίζει να γράφουμε ελληνικά ακόμη και σε γραμμή εντολών. Αν έβαζες ελληνικούς χαρακτήρες στα fout δε θα λειτουργούσε; Σε C (με printf) που το είχα δοκιμάσει σε τερματικό τα ελληνικά λειτουργούσαν.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό BlackSlash13 » 15 Αύγ 2008, 14:54

Ισως να λειτουργουσε. Δεν το σκεφτηκα αυτο :D
BlackSlash13
babeTUX
babeTUX
 
Δημοσιεύσεις: 17
Εγγραφή: 09 Ιουν 2008, 19:01
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό simosx » 16 Αύγ 2008, 19:59

Ο λόγος που δε δουλεύουν τα αρχεία υπότιτλων είναι ότι στις περισσότερες φορές (όλες) έχουν για τα ελληνικά την κωδικοποίηση windows-1253 (8-bit). Έτσι, πρέπει να ρυθμίσεις το πρόγραμμα που παίζει τις ταινίες ότι η κωδικοποίηση των υποτίτλων είναι αυτή, ή διαφορετικά να αλλάξεις την κωδικοποίηση των υποτίτλων σε UTF-8 (βασική κωδικοποίηση του Ubuntu).

Ένας τρόπος για να αλλάξεις την κωδικοποίηση των υποτίτλων είναι με

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


Τώρα, οι υπότιτλοι παίζουν με κάθε πρόγραμμα στο Ubuntu.

Αυτά είναι βασικά στοιχεία του Ubuntu, και δεν απαιτούν εγκατάσταση της ελληνικής υποστήριξης (για μένα όμως είναι καλό να βάζουμε ούτως ή άλλως την ελληνική υποστήριξη).

Γενικά, είναι εφικτό για κάποιον να μετατρέψει ένα κείμενο σε greeklish (=transliteration, που είναι και ο σωστός όρος), με χρήση κάτι σαν το

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


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

Σε κάθε περίπτωση, είναι καλό που έφτιαξες πρόγραμμα για την επίλυση του προβλήματος.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό linuxman » 16 Αύγ 2008, 20:24

Αν είναι για τους υπότιτλους υπάρχει απλή λύση gedit είναι φανταστικό editor με πολλές λειτουργίες , πάρα πολλές , ούτε τερματικό και ούτε κόπος . :) :) :)

Εικόνα

Εικόνα

Εικόνα
Οδηγίες προς Νεοεισερχόμενους
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Linux Mint 17.1 Rebecca 3.13.0-37-generic 64bit (el_GR.UTF-8, X-Cinnamon cinnamon)
3 Intel Core i5-2310M CPU @ 2.10GHz ‖ RAM 3866 MiB ‖ Dell Inc. 0D7C51 - Dell Inc. Dell System Vostro 3750
4 Intel 2nd Generation Core Processor Family Integrated Graphics [8086:0116] {i915}
5 wlan0: Intel Centrino Wireless-N 1030 [Rainbow Peak] [8086:008a] (rev 34) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
http://www.greeklug.gr
Άβαταρ μέλους
linuxman
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10378
Εγγραφή: 10 Μάιος 2008, 20:41
Τοποθεσία: Thessaloniki / Macedonia / Greece
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό BlackSlash13 » 19 Αύγ 2008, 16:44

simosx έγραψε:Ο λόγος που δε δουλεύουν τα αρχεία υπότιτλων είναι ότι στις περισσότερες φορές (όλες) έχουν για τα ελληνικά την κωδικοποίηση windows-1253 (8-bit). Έτσι, πρέπει να ρυθμίσεις το πρόγραμμα που παίζει τις ταινίες ότι η κωδικοποίηση των υποτίτλων είναι αυτή, ή διαφορετικά να αλλάξεις την κωδικοποίηση των υποτίτλων σε UTF-8 (βασική κωδικοποίηση του Ubuntu).

Ένας τρόπος για να αλλάξεις την κωδικοποίηση των υποτίτλων είναι με

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


Τώρα, οι υπότιτλοι παίζουν με κάθε πρόγραμμα στο Ubuntu.

Αυτά είναι βασικά στοιχεία του Ubuntu, και δεν απαιτούν εγκατάσταση της ελληνικής υποστήριξης (για μένα όμως είναι καλό να βάζουμε ούτως ή άλλως την ελληνική υποστήριξη).

Γενικά, είναι εφικτό για κάποιον να μετατρέψει ένα κείμενο σε greeklish (=transliteration, που είναι και ο σωστός όρος), με χρήση κάτι σαν το

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


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

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


Οντως. Το δοκιμασα αυτο που λες και δεν παιζει. Ευχαριστω.
Καλη συνεχεια στις μεταφράσεις του gnome.
BlackSlash13
babeTUX
babeTUX
 
Δημοσιεύσεις: 17
Εγγραφή: 09 Ιουν 2008, 19:01
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό aggelis6 » 28 Αύγ 2008, 13:34

linuxman έγραψε:Αν είναι για τους υπότιτλους υπάρχει απλή λύση gedit είναι φανταστικό editor με πολλές λειτουργίες , πάρα πολλές , ούτε τερματικό και ούτε κόπος . :) :) :)

Εικόνα

Εικόνα

Εικόνα



Συμφωνώ και επαυξάνω...Λειτουργεί τέλεια...
Γνώσεις ⇛ Linux: Μέτριο ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Λειτουργικό ⇛ Debian, 64bit
Προδιαγραφές ⇛ Dell OptiPlex 5050 Intel i5-7500 (4) @ 3.800GHz │ RAM 32GB │ Intel HD Graphics 630 │ DELL 19"
Άβαταρ μέλους
aggelis6
babeTUX
babeTUX
 
Δημοσιεύσεις: 26
Εγγραφή: 23 Αύγ 2008, 12:48
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό xlv1000 » 07 Σεπ 2008, 15:28

linuxman έγραψε:Αν είναι για τους υπότιτλους υπάρχει απλή λύση gedit είναι φανταστικό editor με πολλές λειτουργίες , πάρα πολλές , ούτε τερματικό και ούτε κόπος . :) :) :)

Εικόνα

Εικόνα

Εικόνα


Εχω το ίδιο προβλημα με τους υποτιτλους αλλα δεν με βοήθησαν οι εικόνες.Συγκεκριμένα στην πρώτη εικόνα έχεις υπογραμμίσει με κόκκινο στο παράθυρο "κωδικοποιήσεις χαρακτήρων" Πού το βρήκες αυτό το παραθυρο?Εχω κολήσει ... :oops:
ευχαριστώ για το χρόνο σου
CPU:Intel(R) Celeron(R) CPU G530 @ 2.40GHz
GPU:Intel , DX 10.1 2048x1536.
RAM:4GB
LAN:Realtek® 8111E
AUDIO:Realtek® ALC 887 8-Channel
OS:UBUNTU 12.04
Επίπεδο Γνώσεων : Linux-χαμηλό , Αγγλικά-μέτρια
Άβαταρ μέλους
xlv1000
babeTUX
babeTUX
 
Δημοσιεύσεις: 147
Εγγραφή: 13 Αύγ 2008, 23:15
Τοποθεσία: Ξάνθη
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό linuxman » 07 Σεπ 2008, 16:05

Πας στο άνοιγμα αρχείου και όπως βλέπεις στην εικόνα έχει προσθήκη η αφαίρεση απο κει και κάνεις προσθήκη η αφαίρεση
απλός όταν θα πας να επιλέξεις το αρχείο υποτίτλων θα πρέπει να επιλέξεις το αρχείο έχοντας επιλέξει iso8859-7
μετά στην αποθήκευση επιλέγουμε το utf-8 και είναι οκ .
1.Εικόνα

2.Εικόνα

3.Εικόνα

4.Εικόνα
Οδηγίες προς Νεοεισερχόμενους
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Linux Mint 17.1 Rebecca 3.13.0-37-generic 64bit (el_GR.UTF-8, X-Cinnamon cinnamon)
3 Intel Core i5-2310M CPU @ 2.10GHz ‖ RAM 3866 MiB ‖ Dell Inc. 0D7C51 - Dell Inc. Dell System Vostro 3750
4 Intel 2nd Generation Core Processor Family Integrated Graphics [8086:0116] {i915}
5 wlan0: Intel Centrino Wireless-N 1030 [Rainbow Peak] [8086:008a] (rev 34) ⋮ eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
http://www.greeklug.gr
Άβαταρ μέλους
linuxman
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10378
Εγγραφή: 10 Μάιος 2008, 20:41
Τοποθεσία: Thessaloniki / Macedonia / Greece
Εκτύπωση

Re: Greeklish Subs

Δημοσίευσηαπό cyberpython » 07 Σεπ 2008, 16:11

Για τις κωδικοποιήσεις 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")
Κοινότητα ΕΛ/ΛΑΚ Οικονομικού Πανεπιστημίου Αθηνών / Ubuntu-gr / My Web Log
Επίπεδο Γνώσεων Linux: Μέτριο, Προγραμματισμός: Ναι, Aγγλικά: Καλά
Λειτουργικό : Ubuntu 10.04 - 32bits
Η/Υ : Intel Core2 4400@2 GHz / 2GB DDR2 RAM / GeForce 8400 GS 512MB / Creative SB Audigy SE
Άβαταρ μέλους
cyberpython
seniorTUX
seniorTUX
 
Δημοσιεύσεις: 733
Εγγραφή: 14 Μάιος 2008, 13:22
Εκτύπωση

Επόμενο

Επιστροφή στο Οδηγοί - How to - Tutorials