Μετατροπέας Πεζών-Κεφαλαίων
Επικολλήστε κείμενο, επιλέξτε τύπο — το αποτέλεσμα ενημερώνεται ζωντανά και δεν φεύγει ποτέ από το πρόγραμμα περιήγησής σας.
Επτά τύποι, δύο γνήσιοι ελληνικοί κανόνες
Τα ΚΕΦΑΛΑΙΑ και τα πεζά μοιάζουν απλά, αλλά στα ελληνικά κρύβουν πραγματικές λεπτομέρειες. Στα πεζά, ένα κεφαλαίο σίγμα στο τέλος λέξης πρέπει να γίνει «ς», όχι «σ» — το εργαλείο το εγγυάται ρητά αντί να το αφήνει στην τύχη της μηχανής του προγράμματος περιήγησης. Στα ΚΕΦΑΛΑΙΑ, η ελληνική τυπογραφική σύμβαση αφαιρεί τον τόνο («καλή» → «ΚΑΛΗ»), κάτι που το απλό toUpperCase() της JavaScript δεν κάνει από μόνο του — το διορθώνουμε ρητά. Ο Τύπος Τίτλου βάζει κεφαλαίο σε κάθε λέξη εκτός από σύντομες λειτουργικές λέξεις — και, ή, ο, η, το, οι, τα, του, της, των, στο, στη, στον, στην, με, σε, για, από, προς, ως — εκτός αν είναι η πρώτη ή η τελευταία λέξη. Ο Τύπος Πρότασης κάνει όλο το κείμενο πεζό και μετά βάζει κεφαλαίο μετά από κάθε όριο πρότασης (., !, ;). Οι τύποι προγραμματισμού χωρίζουν το κείμενο σε ό,τι δεν είναι γράμμα ή αριθμός (συμβατό με Unicode, οπότε οι τονισμένες λέξεις επιβιώνουν), κάνουν τα κομμάτια πεζά και τα ενώνουν: το camelCase βάζει κεφαλαίο σε κάθε λέξη μετά την πρώτη, το snake_case ενώνει με κάτω παύλες και το kebab-case με ενωτικά.
Παράδειγμα
Είσοδος: ο σωστός τρόπος για καθαρό κώδικα
- ΚΕΦΑΛΑΙΑ →
Ο ΣΩΣΤΟΣ ΤΡΟΠΟΣ ΓΙΑ ΚΑΘΑΡΟ ΚΩΔΙΚΑ - πεζά →
ο σωστός τρόπος για καθαρό κώδικα - Τύπος Τίτλου →
Ο Σωστός Τρόπος για Καθαρό Κώδικα - Τύπος Πρότασης →
Ο σωστός τρόπος για καθαρό κώδικα - camelCase →
οΣωστόςΤρόποςΓιαΚαθαρόΚώδικα - snake_case →
ο_σωστός_τρόπος_για_καθαρό_κώδικα - kebab-case →
ο-σωστός-τρόπος-για-καθαρό-κώδικα
Παρατηρήστε πως τα ΚΕΦΑΛΑΙΑ βγήκαν χωρίς κανέναν τόνο (η σωστή ελληνική σύμβαση), και ότι κάθε «ς» παρέμεινε στο τέλος της λέξης του σε κάθε τύπο, ακόμη και μέσα στο camelCase. Δοκιμάστε επίσης «ΟΔΟΣ ΑΘΗΝΑΣ» στα πεζά: βγαίνει «οδος αθηνας» με σωστά τελικά σίγμα σε κάθε λέξη.
Συχνές ερωτήσεις
Γιατί χρειάζεται ειδικός χειρισμός για το τελικό σίγμα;
Το ελληνικό σίγμα έχει δύο πεζούς τύπους: το «σ» στη μέση ή στην αρχή μιας λέξης και το «ς» στο τέλος — π.χ. «σοφός», όχι «σοφοσ». Όταν μετατρέπουμε «ΟΔΟΣ ΑΘΗΝΑΣ» σε πεζά, το σωστό αποτέλεσμα είναι «οδος αθηνας» με πραγματικά τελικά σίγμα και στις δύο λέξεις — όχι «οδοσ αθηνασ». Οι σύγχρονες μηχανές JavaScript εφαρμόζουν ήδη σωστά αυτόν τον κανόνα Unicode στο toLowerCase(), αλλά αυτό το εργαλείο τον επιβεβαιώνει ρητά στον κώδικά του, ώστε η σωστή συμπεριφορά να μην εξαρτάται σιωπηρά από το πρόγραμμα περιήγησης.
Γιατί τα ΚΕΦΑΛΑΙΑ βγαίνουν χωρίς τόνους;
Επειδή έτσι γράφονται σωστά τα ελληνικά κεφαλαία: η τυπογραφική σύμβαση αφαιρεί τον τόνο σε ολόκληρες λέξεις με κεφαλαία («καλή» → «ΚΑΛΗ», όχι «ΚΑΛΉ»). Το toUpperCase() της JavaScript δεν το κάνει αυτό από μόνο του — αφήνει τον τόνο πάνω στο κεφαλαίο γράμμα. Το εργαλείο διορθώνει το αποτέλεσμα αφαιρώντας τα συνδυαστικά σημάδια τόνου μετά τη μετατροπή. Απλοποίηση που δηλώνουμε ανοιχτά: τα διαλυτικά (π.χ. στο «ϊ», «ϋ») διατηρούνται, επειδή αλλάζουν την προφορά, ενώ αφαιρείται μόνο ο τόνος.
Ποιες λέξεις μένουν πεζές στο Τύπος Τίτλου;
Αυτός ο μετατροπέας κρατάει πεζά τα σύντομα λειτουργικά ελληνικά — και, ή, ο, η, το, οι, τα, του, της, των, στο, στη, στον, στην, με, σε, για, από, προς, ως — εκτός αν είναι η πρώτη ή η τελευταία λέξη, που πάντα παίρνει κεφαλαίο. Λάβετε υπόψη ότι η καθιερωμένη ελληνική τυπογραφία βάζει κεφαλαίο μόνο στην πρώτη λέξη ενός τίτλου· το αγγλόφωνο Τύπος Τίτλου χρησιμοποιείται κυρίως σε μάρκετινγκ, εμπορικά σήματα και δίγλωσσο περιεχόμενο.
Χειρίζεται τόνους και διαλυτικά σωστά σε όλες τις λειτουργίες;
Ναι. Ο διαχωρισμός λέξεων χρησιμοποιεί μοτίβο συμβατό με Unicode (γράμματα και αριθμοί σε κάθε αλφάβητο), οπότε «κώδικας» παραμένει «κώδικας» στην έξοδο camelCase αντί να χάνει τον τόνο του, και η μετατροπή πεζών/κεφαλαίων ακολουθεί τους κανόνες Unicode σε κάθε γράμμα.