![]() |
Ελληνικά σε Λατινικά (μετατροπή) Καλησπέρα στους φίλους του forum. Θέλω να ρωτήσω εάν υπάρχει τίποτα έτοιμο για μετατροπή ελληνικών χαρακτήρων σε λατινικούς με βάση το ISO ΕΛΟΤ 743 το οποίο είναι ταυτόσημο με το Διεθνές πρότυπο ISO 843 όπως γίνεται στη σελίδα της διεύθυνσης διαβατηρίων (ELOT 743). Ευχαριστώ εκ των προτέρων για οποιαδήποτε πληροφορία. Φιλικά Δημήτρης |
1 Συνημμένο(α) Καλημέρα Η συνάρτηση, μετατρέπει: Ελληνικούς χαρακτήρες σε Λατινικούς (Όχι greeklish). Η μετατροπή, γίνεται με βάση τα 2 array της συνάρτησης και περιλαμβάνει: 1. απλούς χαρακτήρες, 2. χαρακτήρες με τονισμό, 3. χαρακτήρες με διαλυτικά, 4. χαρακτήρες με διαλυτικά & τονισμό. Στο τέλος, αντικαθιστά φθόγγους, με βάση το ISO ΕΛΟΤ 743. Επειδή δεν έχω ελέγξει επισταμένα όλους τους φθόγγους, μπορείτε να συμπληρώσετε στο τέλος του κώδικα και ο,τι άλλο θέλετε, με την μορφή του Replace, αντικαθιστώντας τα XXX, με όποιο φθόγγο θέλετε. Greek_ISO_ELOT_743 = Replace(Greek_ISO_ELOT_743, "XXX", "XXX") Η αντικατάσταση, θα γίνει στο τελικό αποτέλεσμα, δηλαδή στην λατινική λέξη ΠΧ Aggelou >>> Angelou Η συνάρτηση, αποδίδει την μετατροπή σε Proper. |
Καλησπέρα Σπύρο παρατήρησα ότι στη συνάρτηση που πρότεινες, δεν αντιμετωπίζεται η ακόλουθη περίπτωση. Σύμφωνα με την ιστοσελίδα της Διεύθυνσης Διαβατηρίων τα ονόματα: Ευαγγέλου, Ευανθία, Ελευθερία, μετατρέπονται στα: Evangelou, Evanthia, Eleftheria. Βλέπουμε δηλαδή ότι το σύμπλεγμα «ev» σε κάποιες περιπτώσεις γίνεται «f». Η περίπτωση αυτή είναι πιο σύνθετη και δεν αντιμετωπίζεται με μια απλή συνάρτηση Replace(). Απαιτεί περισσότερο κώδικα. |
Τα παραδείγματα που μου γράφεις Γιώργο, αντιμετωπίζονται, αν προσθέσουμε και τα Greek_ISO_ELOT_743 = Replace(Greek_ISO_ELOT_743, "Ey", "Ev") Greek_ISO_ELOT_743 = Replace(Greek_ISO_ELOT_743, "ey", "ef") Είπα ότι δεν έχω ελέγξει επισταμένα όλους τους φθόγγους γιατί τα Ελληνικά έχουν πολλές διαφορετικές περιπτώσεις. Εδώ είναι και η «δυσκολία» αυτού του προβλήματος. Να υπάρχει χρόνος, να εξετάσει κανείς όλα όσα πρέπει, όπως για παράδειγμα την ηχητική απόδοση του ΕΥ σε ΕΒ ή ΕΦ κλπ Ο κώδικας είναι μπούσουλας αλλά και πολύ κοντά στην πραγματικότητα. Άλλωστε ο Δημήτρης γνωρίζει από κώδικα και μπορεί να «παίξει» επάνω σε αυτό... |
Για κάποιες ακόμα «δύσκολες» περιπτώσεις, όπως Ευθαλία = Efthalia Ευτυχία = Eftyxia να προσθέσουμε Greek_ISO_ELOT_743 = Replace(Greek_ISO_ELOT_743, "Evt", "Eft") και Ευστράτιος = Efstratios Greek_ISO_ELOT_743 = Replace(Greek_ISO_ELOT_743, "Evs", "Efs") Γενικά νομίζω χρόνο θέλει και υπομονή και μάλλον μπορεί να τα αντιμετωπίσει όλα... |
Σπύρο το πρόβλημα είναι πιο σύνθετο. Για την «Ευτέρπη» η σωστή μετατροπή είναι «Efterpi». Σύμφωνα με την πρότασή σου θα έχουμε: Ευτέρπη > Eyterpi > Evterpi. Για τις δυσκολίες της προσπάθειας, συμφωνώ. |
Γιώργο μου, δεν με παρακολουθείς... Βάλε κι αυτά που έχω στο #5 post, και θα δεις... Δεν είναι δύσκολο αλλά θέλει υπομονή και μέθοδο... τις οποίες δεν έχω αυτήν την στιγμή για να ολοκληρώσω όλες τις περιπτώσεις... |
Σπύρο αυτά που γράφω αναφέρονται στο post #4. Είναι φανερό ότι γράφαμε ταυτόχρονα. |
Ok, όλα καλά... |
1 Συνημμένο(α) Καλησπέρα Και μια άλλη πρόταση στο συνημμένο: 1) Η μετατροπή από ελληνικά σε λατινικά γίνεται με τη συνάρτηση χρήστη : GreekToLatin(txt). 2) Πριν από την κατάρτιση της συνάρτησης μελετήθηκαν, για διάφορες περιπτώσεις, οι μετατροπές σύμφωνα με την επίσημη ιστοσελίδα της Διεύθυνσης Διαβατηρίων. 3) Η συνάρτηση διαμορφώθηκε με στόχο να δίνει τα ίδια αποτελέσματα. Μολονότι έκανα αρκετές δοκιμές, δεν αποκλείεται κάτι να μου διέφυγε. Θα χαρώ να επισημανθούν περιπτώσεις, που δεν μετατρέπονται σωστά, ώστε να ληφθούν υπόψη σε κάποια μελλοντική αναβάθμιση. |
Η «περίεργη» μετατροπή στον Ευαγγέλου Ευάγγελο γίνεται. γιατί προσπαθείς να μεταφράσεις, τους Ελληνικούς φθόγγους, απ' ευθείας Λατινικά. Το έργο το έχω από παλιά, (μαζί με μια μετάφραση σε greeklish) ημιτελές μεν, αλλά έχοντας δοκιμάσει αυτές τις μεθόδους... Ο μόνος τρόπος, είναι να αλλάξουν οι ήδη τροποποιημένοι σε Λατικά φθόγγοι. |
Σπύρο το περίεργο αποτέλεσμα το δίνει η επίσημη ιστοσελίδα. Το Ευάγγελος είναι συνηθισμένο όνομα και θεώρησα, αν μετατρέπονταν λανθασμένα, θα το διόρθωναν. Σε κάθε περίπτωση στόχος της συνάρτησης που δημιούργησα είναι να δίνει τα ίδια αποτελέσματα με την ιστοσελίδα. |
Ναι το είδα ότι έχουν σφάλμα. Προφανώς ο αλγόριθμός τους, έχει μετάφραση απ' ευθείας από Ελληνικά, αλλά τους ξεφεύγει ότι το Ευά(γγελος) με τόνο, το αλλάζει σε Ef (εσφαλμένα) και το Ευα(γγέλου) χωρίς τόνο σε Ev Γι αυτό θέλω την αλλαγή στο λατινικό μέρος έστω κι αν χρησιμοποιηθούν 3 ή και περισσότεροι χαρακτήρες στο replace |
Πιθανόν ο αλγόριθμός τους να έχει λάθη. Εγώ, επειδή πρόκειται για την επίσημη ιστοσελίδα, της Διεύθυνσης Διαβατηρίων τον θεώρησα σωστό (άλλωστε δεν έχουμε ακόμα κάτι καλύτερο). Έτσι δημιούργησα τη συνάρτηση με στόχο να δίνει τα ίδια αποτελέσματα. |
Σπύρο και Γιώργο σας ευχαριστώ πολύ για τον χρόνο σας και για τη λύση που δίνετε. Εάν βρω περιπτώσεις, που δεν μετατρέπονται σωστά θα τις επισημάνω, ώστε να ληφθούν υπόψη για μελλοντική αναβάθμιση. Φιλικά Δημήτρης |
Και οι δύο προσεγγίσεις πιστεύω ότι καλύπτουν το ζητούμενο μετατροπής του κειμένου από ελληνικούς σε λατινικούς χαρακτήρες. Ο κώδικας του Γιώργου νομίζω είναι πιο αναλυτικός και πιο κοντά στη δυσκολία της επίσημης μετατροπής. Όμως γίνεται μία διάκριση σε μεταγραφή και μεταγραμματισμό ( βλ. http://sete.gr/files/Media/Egkyklioi...atin-Greek.pdf ή εν συντομία https://www.helppost.gr/web-tools/me...otypo-elot743/ ), δηλαδή στη δυνατότητα αντιστρεψιμότητας του κειμένου και πάλι σε ελληνικούς χαρακτήρες. Υπάρχει αυτή η δυνατότητα με μία από τις δύο προσεγγίσεις; Φιλικά Δημήτρης |
Κατ' αρχήν να πούμε, ότι στην Ελλάδα είμαστε και καμία δουλειά δεν γίνεται σωστά... Το άρθρο ξεκινάει «Στον πίνακα που ακολουθεί περιλαμβάνονται οι συνιστώμενες από το πρότυπο...» που σημαίνει προτείνω αυτά, αλλά μπορεί και να μην είναι...?! Μήπως είναι συμβουλευτικού χαρακτήρα οι μεταφράσεις και γράφουν ανάλογα κατά το δοκούν; Από την άλλη οι πίνακες που δίνει από κάτω, έχουν τα αυ, ευ δηλαδή φθόγγους που έχουν διπλή μετάφραση ως... αυ = av af Δηλαδή; και τα δύο είναι σωστά; Ναι αλλά δεν λέει που και πως θα χρησιμοποιηθεί το καθ' ένα. Με τι κριτήρια δηλαδή. Θεωρώ λοιπόν, ότι η σωστή απόδοση πχ στο Ευάγγελος είναι Evangelos = Ε(Β)άγγελος Κοινή λογική, δεν βασίζομαι σε κάτι άλλο... Ακόμα επειδή έχω Ευάγγελο τον γιό μου, η ταυτότητα για παράδειγμα γράφει Evangelos. Δεν θα μπορούσε ποτέ να ήταν Ε(Φ)άγγελος. |
Καλησπέρα Η συνάρτηση που πρότεινα χρησιμοποιεί τον μετασχηματισμό τύπου 2 (μεταγραφή), που λαμβάνει υπόψη και την προφορά και χρησιμοποιείται κυρίως σε ταυτότητες και κάρτες. Κατά τον μετασχηματισμό (μεταγραφή) μιας ελληνικής λέξης σε λέξη με λατινικούς χαρακτήρες έχουμε απώλεια πληροφορίας. Για παράδειγμα χάνονται οι τόνοι, τα «η», «ι» γίνονται «i», τα «ο» και «ω» γίνονται «o», κλπ. Αν συνεπώς γράψουμε μια συνάρτηση που να αντιστρέφει τη μετατροπή το αποτέλεσμα δε θα συμφωνεί πάντα με την αρχική ελληνική λέξη. Πιστεύω ότι για την διευκόλυνση της επικοινωνίας και τον περιορισμό της σπατάλης πόρων θα πρέπει να υπάρχουν πρότυπα τόσο σε επίπεδο χώρας, όσο και διεθνώς (πχ Unicode). Ο ρόλος αυτός στην Ελλάδα έχει ανατεθεί στον ΕΛΟΤ. Τα πρότυπα, όπως είναι γνωστό, αναθεωρούνται και συμπληρώνονται, αν διαπιστωθεί ότι έχουν λάθη ή δημιουργήθηκαν νέες ανάγκες. Για την μετατροπή της διφθόγγου «ευ» σε («ev» ή «ef» ή «ey») στο κείμενο του προτύπου (στις παρατηρήσεις για τον πίνακα) δίνονται συγκεκριμένες οδηγίες, συνεπώς κάθε μετατροπή δε γίνεται στην τύχη, αλλά εξαρτάται από την περίπτωση. Η μετατροπή σύμφωνα με το πρότυπο του «Ευάγγελος» σε «Efangelos», μπορεί να είναι λανθασμένη, αλλά δεν πρέπει να μας οδηγήσει στην απαξίωση του προτύπου και στην απομόνωση. |
Καλησπέρα Σπύρο, στο αναλυτικό pdf στη σελίδα 5 έχει τον πίνακα 2 που αφορά στη μεταγραφή των χαρακτήρων και με σημειώσεις διευκρινίζει στους φθόγγους πότε χρησιμοποιείται πια μεταγραφή. Συγκεκριμένα για τα αυ και ευ μας λέει η σημείωση με αριθμό 3 ότι μεταγράφονται σε av / ev όταν γράφονται πριν από τους χαρακτήρες β, γ, δ, ζ, λ, μ, ν, ρ και όλα τα φωνήεντα. Ενώ στη σημείωση 4 μας λέει ότι μεταγράφονται σε af / ef όταν γράφονται πριν από τους χαρακτήρες θ, κ, ξ, π, σ, τ, χ, ψ και στο τέλος της λέξης. Όσον αφορά το όνομα Ευάγγελος το ευ είναι πριν από φωνήεν βέβαια και σύμφωνα με τους παραπάνω κανόνες τους θα πρέπει να μεταγραφεί σε Ev. Γιατί το σύστημα τους το μετατρέπει σε Ef δεν ξέρω. Ίσως έχει να κάνει με τον τονισμό στο χαρακτήρα α και αυτά που περιγράφει η σημείωση τους με αριθμό 10. |
Να πω στον Γιώργο, ότι δεν υπάρχει απαξίωση του προτύπου, αλλά δεν μπορώ να παραβλέψω και το τι γίνεται στην πράξη. Έχω μπροστά μου, το παράδειγμα με την ταυτότητα. Θεωρώ (και μένω σε αυτό) ότι πρέπει να είναι συμβουλευτικό - καθοδηγητικό το όλο θέμα, με σκοπό, να δει κάποιος πως μεταφράζεται πχ το Ευ και να το αλλάξει ανάλογα το «ηχητικό» Ελληνικό όνομα-λέξη. Δημήτρη ναι, υπάρχουν οδηγίες για όλα και αν είχαμε από την αρχή το .pdf, θα μπορούσαμε να βάλουμε στον κώδικα κι άλλες παράμετρους, πράγμα που το θεωρώ απλό πλέον. Η διαφορά τελικά στην απόδοση (δύο κώδικες) είναι: Η πιστή απόδοση, με βάση τον Γιώργο και η αλλαγή της πιστής απόδοσης, (στο λογικό κατ' εμέ ηχητικό) με βάση την εμπειρία μου στην πράξη. Φυσικά και οι δυο περιπτώσεις μπορούν να εμπλουτιστούν ή να μετατραπούν, ανάλογα ... |
Σας ευχαριστώ και πάλι και τους δύο, επειδή χαράξατε τον δρόμο που πρέπει να ακολουθήσει κανείς ώστε με κώδικα να βγάλει ένα καλό αποτέλεσμα. Να είστε πάντα καλά. Φιλικά Δημήτρης |
Πράγματι έχει να κάνει με τον τονισμό. Το χωρίς τόνο Ευαγγελος μετατρέπεται σωστά σε: Evangelos |
Γι αυτό άλλωστε, οι κρατικές υπηρεσίες έχουν το «κακό» ελάττωμα, να γράφουν πάντα με κεφαλαία... Για να μην έχουν πολλά-πολλά...(*βλέπε Ταυτότητες, διαβατήρια) |
1 Συνημμένο(α) Καλημέρα Στο συνημμένο η μετατροπή των ελληνικών χαρακτήρων σε λατινικούς γίνεται με βάση το πρότυπο 743 2η έκδοση του ΕΛΟΤ. Στο πρότυπο οι οδηγίες για τη μετατροπή των διφθόγγων (αυ, ευ και ηυ) είναι αναλυτικές και σωστές. Το λάθος που παρουσιάζεται, κατά την μετατροπή του «Ευάγγελος» στην επίσημη ιστοσελίδα της Διεύθυνσης Διαβατηρίων, δεν οφείλεται στο πρότυπο, αλλά στη λανθασμένη υλοποίησή του από τον κατασκευαστή της σελίδας. Στο πρότυπο επίσης υπάρχουν μετατροπές που εξαρτώνται από τον τονισμό. Αν αρχικά μετατρέψουμε όλους τους χαρακτήρες σε λατινικούς, δε θα είναι εφικτή η μετατροπή πάνω στο λατινικό κείμενο, αφού δεν έχει τόνους. Με άλλα λόγια τέτοιες αλλαγές θα πρέπει γίνουν πριν από τη γενική αλλαγή των χαρακτήρων. |
Με την βοήθεια του πληροφοριακού .pdf (το οποίο δεν είχαμε από την αρχή) θεωρώ, τον τελευταίο κώδικα του Γιώργου, αποτελεσματικό. Αν είχαμε την πληροφορία από την αρχή, το ζητούμενο θα είχε κλείσει σε 2-3 posts το πολύ... Η ιστοσελίδα έχει σφάλμα και στο «Παρασκευή» Οι πιο κάτω αλλαγές στον αρχικό μου κώδικα (post #2 - παρ' όλο που βάδιζε στα τυφλά) δίνουν ισοδύναμη μετάφραση μέχρι το σημείο που έχουμε ελέγχξει. Αν κανείς θέλει για εκπαιδευτικούς λόγους, μπορεί να το μελετήσει και να το βελτιώσει. Κώδικας: Greek_ISO_ELOT_743 = Replace(Greek_ISO_ELOT_743, "Mp", "B") 'Μπ ακάληςόπου μπορούμε να κάνουμε αλλαγές στο ήδη μεταφρασμένο λατινικό κείμενο, χωρίς να λάβουμε υπ' όψιν θέση, τονισμό κλπ...των φθόγγων. |
Πολύ καλές λύσεις, παιδιά, ευχαριστώ πολύ. |
| Η ώρα είναι 20:05. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.