Μεταφράστε Πρότυπα Elementor & Divi Χωρίς να Χαλάσετε τις Διατάξεις

Τα κάνατε όλα σωστά. Αγοράσατε ένα premium θέμα, βρήκατε το αρχείο .po, το μεταφράσατε προσεκτικά και ανεβάσατε το .mo στον φάκελο γλωσσών σας. Οι συμβολοσειρές στην κεφαλίδα του θέματος ενημερώνονται σωστά. Το υποσέλιδο διαβάζεται στα Ισπανικά. Η ολοκλήρωση αγοράς σας στο WooCommerce είναι μεταφρασμένη. Αλλά μετά ανοίγετε την αρχική σελίδα και κάθε επικεφαλίδα, κουμπί και μπλοκ κειμένου που έχει δημιουργηθεί με το Elementor είναι ακόμα στα Αγγλικά.
Ελέγχετε το αρχείο .po. Βλέπετε τις αγγλικές συμβολοσειρές στον κώδικα. Ξαναμεταφράζετε. Τίποτα δεν αλλάζει. Εκκαθαρίζετε τις προσωρινές μνήμες (caches). Τίποτα δεν αλλάζει. Πείθετε τον εαυτό σας ότι κάτι είναι χαλασμένο μέχρι που κάποιος σε ένα φόρουμ επισημαίνει ευγενικά: Το Elementor (και τα Divi, Beaver Builder, και Bricks) δεν αποθηκεύουν περιεχόμενο σε αρχεία .po. Ποτέ δεν το έκαναν. Παλεύετε με ένα πρόβλημα που δεν μπορεί να λυθεί με την προσέγγιση που χρησιμοποιείτε.
Αυτός ο οδηγός εξηγεί γιατί το περιεχόμενο των page builder διαφέρει αρχιτεκτονικά από το περιεχόμενο των θεμάτων και των plugin, τις δύο διαδρομές για τη μετάφρασή του, και πώς να διατηρήσετε ανέπαφη τη σήμανση των widget κατά τη μετάφραση, ώστε οι προσεκτικά σχεδιασμένες διατάξεις σας να μην καταρρεύσουν.
Γιατί τα Elementor και Divi δεν χρησιμοποιούν αρχεία .po
Τα αρχεία .po αποθηκεύουν συμβολοσειρές που βρίσκονται στον κώδικα - κλήσεις όπως __( 'Shop', 'mytheme' ) διασκορπισμένες σε πρότυπα PHP. Το εργαλείο κατασκευής WP-CLI μπορεί να εξάγει αυτές τις συμβολοσειρές σε ένα πρότυπο .pot, οι μεταφραστές εργάζονται σε αρχεία .po και τα μεταγλωττισμένα αρχεία .mo φορτώνονται κατά τον χρόνο εκτέλεσης.
Το περιεχόμενο των page builder είναι διαφορετικό. Όταν πληκτρολογείτε "Welcome to our store" σε ένα widget επικεφαλίδας του Elementor, αυτό το κείμενο δεν βρίσκεται σε κανένα αρχείο PHP. Αποθηκεύεται ως JSON (Elementor) ή ως ένα σύνολο shortcode (Divi) στον πίνακα wp_postmeta, συσχετισμένο με την ανάρτηση όπου το τοποθετήσατε.
Πού βρίσκεται πραγματικά το περιεχόμενο των Page Builder
Το Elementor αποθηκεύει το δέντρο widget κάθε σελίδας στα postmeta με το κλειδί _elementor_data. Ανοίξτε οποιαδήποτε ανάρτηση στη βάση δεδομένων και θα βρείτε ένα πίνακα JSON που περιγράφει κάθε ενότητα, στήλη και widget, με τις ρυθμίσεις και το περιεχόμενο ενσωματωμένα:
{
"id": "a1b2c3",
"elType": "widget",
"widgetType": "heading",
"settings": {
"title": "Welcome to our store",
"size": "xl",
"header_size": "h1"
}
}
Το Divi αποθηκεύει το περιεχόμενο της σελίδας του ως shortcode ενσωματωμένα στο post_content:
[et_pb_section][et_pb_row][et_pb_column type="4_4"]
[et_pb_text]Welcome to our store[/et_pb_text]
[/et_pb_column][/et_pb_row][/et_pb_section]
Τα Bricks, Beaver Builder και Oxygen ακολουθούν το ίδιο μοτίβο με τη δική τους μορφή. Κανένα από αυτά τα περιεχόμενα δεν επηρεάζεται ποτέ από αρχεία .po / .mo.
Τι περιλαμβάνεται στα αρχεία .po
Το ίδιο το plugin του page builder έχει συμβολοσειρές διεπαφής χρήστη (UI) - ετικέτες κουμπιών στον επεξεργαστή, μηνύματα σφαλμάτων, ειδοποιήσεις διαχειριστή. Αυτές βρίσκονται σε αρχεία .po και μεταφράζονται από τα αρχεία .mo στον φάκελο wp-content/languages/plugins/. Αυτός είναι συνήθως ο λόγος που οι άνθρωποι μπερδεύονται: μεταφράζουν συμβολοσειρές "Elementor" και βλέπουν τη διεπαφή χρήστη του επεξεργαστή στα Ισπανικά, αλλά το πραγματικό περιεχόμενο που δημιούργησαν με αυτά τα widget παραμένει στα Αγγλικά.
Αυτή η διάκριση είναι επίσης η βασική αιτία των μισών αιτημάτων στο οδηγό αντιμετώπισης προβλημάτων για μεταφράσεις που δεν εμφανίζονται - ο αναγνώστης περιμένει ότι τα αρχεία .mo θα επηρεάσουν το περιεχόμενο που βλέπει στο frontend, αλλά το περιεχόμενο βρίσκεται στη βάση δεδομένων, όχι στον κώδικα.
Τι καλύπτουν πραγματικά τα αρχεία .po σε έναν ιστότοπο με Page Builder
Ας κάνουμε μια σαφή διάκριση μεταξύ των δύο, ώστε να γνωρίζετε ακριβώς τι χειρίζεται κάθε τύπος αρχείου.
Τα αρχεία .po / .mo μεταφράζουν
- Τις συμβολοσειρές προτύπων του θέματος:
get_template_part, κείμενο ενσωματωμένο σταheader.php,footer.php,functions.php. - Συμβολοσειρές UI των plugin: ολοκλήρωση αγοράς WooCommerce, ετικέτες διαχειριστή Yoast, ετικέτες πεδίων Contact Form 7.
- UI των plugin page builder: κουμπιά επεξεργαστή Elementor, μηνύματα επιβεβαίωσης αποθήκευσης Divi.
- Δυναμικές συμβολοσειρές που τα plugin εμφανίζουν στο frontend: WooCommerce "Προσθήκη στο καλάθι", "Εκτός αποθέματος", σύνολα καλαθιού.
Τα αρχεία .po / .mo ΔΕΝ μεταφράζουν
- Κείμενο επικεφαλίδας, παραγράφου, κουμπιού που πληκτρολογείται σε widget του Elementor.
- Λεζάντες εικόνων, εφέ αιώρησης (hover), τίτλοι accordion εντός μονάδων Divi.
- Περιεχόμενο σε επαναχρησιμοποιήσιμα πρότυπα, καθολικές ενότητες, αποθηκευμένα μπλοκ.
- Ετικέτες προσαρμοσμένου CSS ή ενσωματωμένα σενάρια (inline scripts) εντός widget του builder.
Αυτός είναι ο λόγος που η τεκμηρίωση των δημιουργών θεμάτων σχετικά με τη μετάφραση είναι τεχνικά σωστή αλλά συχνά άχρηστη για τους τελικούς χρήστες. Ο οδηγός μας για το πώς να μεταφράσετε οποιοδήποτε θέμα WordPress καλύπτει διεξοδικά την πλευρά του θέματος - αυτή η ανάρτηση συνεχίζει από εκεί που τελειώνει εκείνη.
Δύο Διαδρομές για τη Μετάφραση Περιεχομένου Page Builder
Υπάρχουν ακριβώς δύο τρόποι για τη μετάφραση περιεχομένου page builder, και οι δύο έχουν πραγματικούς συμβιβασμούς.
Διαδρομή Ένα: Διπλότυπα Σελίδων ανά Γλώσσα
Χρησιμοποιήστε ένα πολύγλωσσο plugin όπως τα WPML, Polylang ή TranslatePress. Δημιουργεί ένα αντίγραφο κάθε σελίδας ανά γλώσσα. Στο Elementor, αντιγράφετε ολόκληρη τη διάταξη και αλλάζετε το κείμενο σε κάθε αντίγραφο. Στο Divi, αντιγράφετε το σύνολο shortcode και μεταφράζετε το κείμενο μεταξύ των ετικετών.
Πλεονεκτήματα: Κάθε γλώσσα μπορεί να έχει ανεξάρτητα σχεδιασμένες διατάξεις (χρήσιμο όταν το μεταφρασμένο κείμενο είναι μεγαλύτερο και χαλάει τον αρχικό σας σχεδιασμό). Πλήρης συμβατότητα με τον οπτικό επεξεργαστή του page builder.
Μειονεκτήματα: Γραμμική κλιμάκωση - 5 γλώσσες σημαίνει 5 φορές την εργασία διάταξης. Οποιαδήποτε αλλαγή σχεδιασμού πρέπει να εφαρμοστεί 5 φορές. Η βάση δεδομένων αναπτύσσεται γρήγορα. Η προσωρινή αποθήκευση γίνεται πιο δύσκολη.
Διαδρομή Δύο: Επίπεδο Μετάφρασης Συμβολοσειρών
Ορισμένα plugin (Polylang Pro, το String Translation module του WPML, TranslatePress) μπορούν να εκθέσουν μεμονωμένες συμβολοσειρές μέσα στα widget του page builder για μετάφραση, και στη συνέχεια να τις ανταλλάξουν κατά τον χρόνο απόδοσης. Διατηρείτε μία διάταξη και το plugin μεταφράζει τις συμβολοσειρές επί τόπου.
Πλεονεκτήματα: Ενιαία πηγή αλήθειας για τη διάταξη. Οι αλλαγές σχεδιασμού εφαρμόζονται παντού.
Μειονεκτήματα: Μειωμένη ευελιξία όταν το μεταφρασμένο κείμενο αλλάζει δραματικά σε μήκος. Ορισμένα widget (πολύπλοκα με ένθετο περιεχόμενο, δυναμικές λίστες, φόρμες) δεν εκθέτουν καθαρά τις συμβολοσειρές. Κόστος απόδοσης ανά εμφάνιση.
Η σύγκριση Polylang vs WPML vs TranslatePress καλύπτει τους συμβιβασμούς κάθε plugin με περισσότερες λεπτομέρειες.
Διατηρώντας ασφαλή τη σήμανση των Widget κατά τη Μετάφραση
Όποια διαδρομή κι αν επιλέξετε, το μεταφρασμένο περιεχόμενο πρέπει να διατηρεί τη δομική σήμανση του builder. Εάν ο μεταφραστής σας αφαιρέσει ένα shortcode του Elementor, αντικαταστήσει ένα χαρακτηριστικό δεδομένων (data attribute) ή αναδιατάξει ένθετες ετικέτες, το widget θα εμφανιστεί χαλασμένο.
Επικίνδυνες Ζώνες στο Elementor
Τα widget του Elementor ενσωματώνουν shortcode και δυναμικές ετικέτες μέσα στις ρυθμίσεις κειμένου. Το πεδίο τίτλου ενός widget επικεφαλίδας μπορεί να περιέχει:
Welcome to <strong>our</strong> [user_name] store
Αυτό το [user_name] είναι μια δυναμική ετικέτα - το Elementor την αντικαθιστά με το όνομα του συνδεδεμένου χρήστη κατά την απόδοση. Εάν η μετάφραση την παραμορφώσει, οι χρήστες θα δουν κυριολεκτικά "[user_name]" που εμφανίζεται στους χρήστες.
Τα εικονίδια μέσα στα κουμπιά χρησιμοποιούν χαρακτηριστικά κλάσης (class attributes) που δεν πρέπει να μεταφράζονται. Το alt text των εικόνων αποθηκεύεται ξεχωριστά από το URL της εικόνας. Οι διατάξεις στηλών χρησιμοποιούν ρυθμίσεις ειδικές για breakpoints (title_mobile, title_tablet) που χρειάζονται ξεχωριστό χειρισμό.
Ενσωμάτωση Shortcode στο Divi
Τα shortcode του Divi είναι βαθιά ενσωματωμένα: [et_pb_section][et_pb_row][et_pb_column][et_pb_text]. Ένας μεταφραστής που θα αντιμετωπίσει το σύνολο ως απλό κείμενο θα κωδικοποιήσει τις αγκύλες, θα μεταφράσει τις τιμές των χαρακτηριστικών ή θα χάσει τις ετικέτες κλεισίματος. Οποιοδήποτε από αυτά διαφθείρει τη μονάδα και το Divi αρνείται να την αποδώσει.
Το Ασφαλές Πρότυπο
Για οποιονδήποτε builder, η μετάφραση πρέπει:
- Ανάλυση της μορφής του widget (JSON για Elementor, shortcode AST για Divi).
- Πλοήγηση στο δέντρο αναγνωρίζοντας μόνο τα πεδία κειμένου που είναι ορατά στον χρήστη.
- Κλείδωμα shortcode, δυναμικών ετικετών, χαρακτηριστικών HTML και ενσωματωμένου CSS.
- Αποστολή μόνο των επιφανειών κειμένου στον μεταφραστή με πλαίσιο.
- Επαναεισαγωγή του μεταφρασμένου κειμένου στην αρχική δομή.
Αυτή είναι η ίδια αρχή που εφαρμόζει η μηχανή μας στα αρχεία .po. Ο οδηγός μετάφρασης αρχείων .po χωρίς να χαλάσετε τις μεταβλητές κώδικα αναλύει λεπτομερώς τα μοτίβα %s και τους κρατητήρες θέσης - το αντίστοιχο για τους page builder είναι τα shortcode και οι δυναμικές ετικέτες.
Μια Υβριδική Ροή Εργασιών που Πραγματικά Λειτουργεί
Για τις περισσότερες ομάδες, η πρακτική απάντηση είναι ο συνδυασμός και των δύο προσεγγίσεων.
Βήμα 1: Μεταφράστε το UI του Θέματος και των Plugin μέσω αρχείων .po
Εξάγετε αρχεία .pot από το θέμα σας και τα βασικά plugin (WooCommerce, Yoast, UI του page builder). Μεταφράστε τα μία φορά μέσω ενός cloud μεταφραστή που σέβεται τη μορφή .po. Τοποθετήστε τα μεταγλωττισμένα αρχεία .mo στον φάκελο wp-content/languages/. Αυτό καλύπτει το 80% των συμβολοσειρών διεπαφής του ιστότοπού σας με σχεδόν μηδενική συνεχή συντήρηση.
Βήμα 2: Επιλέξτε ένα Πολύγλωσσο Plugin για Δυναμικό Περιεχόμενο
Εγκαταστήστε το Polylang ή το WPML για περιεχόμενο αναρτήσεων, σελίδων και προϊόντων. Διαμορφώστε τη δομή URL (/es/, /fr/) και τις ετικέτες hreflang. Αυτό σας παρέχει την υποδομή για περιεχόμενο βάσης δεδομένων ανά γλώσσα.
Βήμα 3: Διπλασιάστε Επιλεκτικά τα Πρότυπα του Page Builder σας
Για σελίδες προορισμού με υψηλή επισκεψιμότητα, αρχικές σελίδες και βασικό περιεχόμενο μάρκετινγκ, διπλασιάστε τη σελίδα σε κάθε γλώσσα και μεταφράστε τα widget χειροκίνητα. Έτσι έχετε πλήρη έλεγχο σχεδιασμού όπου αυτό έχει σημασία.
Βήμα 4: Χρησιμοποιήστε τη Μετάφραση Συμβολοσειρών για Επαναλαμβανόμενα Μπλοκ
Για καθολικές ενότητες, επαναχρησιμοποιήσιμα πρότυπα και CTAs υποσέλιδου που εμφανίζονται σε κάθε σελίδα, χρησιμοποιήστε τη λειτουργία μετάφρασης συμβολοσειρών του πολύγλωσσου plugin σας. Ενημερώνετε σε ένα σημείο, ανταλλάσσετε κατά την απόδοση.
Βήμα 5: Εκτελέστε Ελέγχους Ποιότητας
Το μεταφρασμένο περιεχόμενο του page builder πρέπει να αποδίδεται χωρίς αλλαγές διάταξης. Οι μεγαλύτερες γλώσσες (Γερμανικά, Ρωσικά) χαλούν το πλάτος των κουμπιών. Οι μικρότερες γλώσσες (Κινεζικά, Ιαπωνικά) αφήνουν αμήχανα κενά. Δοκιμάστε κάθε πρότυπο ανά γλώσσα πριν την κυκλοφορία.
Κοινές Παγίδες και Πώς να τις Αποφύγετε
Μερικές παγίδες που εμφανίζονται σε κάθε έργο μετάφρασης page builder.
Το Alt Text Εικόνας δεν Μεταφράζεται
Τόσο το Elementor όσο και το Divi αποθηκεύουν το alt text ανά περίπτωση widget, όχι στη Βιβλιοθήκη Πολυμέσων. Η μετάφραση της αρχικής εικόνας δεν μεταφράζει το alt text σε κάθε widget που τη χρησιμοποιεί. Ενημερώστε το alt text σε κάθε διπλότυπη σελίδα.
Φόρμες και Προσαρμοσμένα Πεδία
Οι φόρμες επικοινωνίας που είναι ενσωματωμένες σε widget page builder έχουν τις δικές τους συμβολοσειρές (ετικέτες, κείμενα κράτησης θέσης, μηνύματα επικύρωσης). Ανατρέξτε στον οδηγό μας για τη μετάφραση των Gravity Forms και Contact Form 7 για την πλευρά των φορμών.
Καθολικά Widget και Πρότυπα
Οι αλλαγές σε ένα καθολικό πρότυπο διαδίδονται σε κάθε σελίδα που το χρησιμοποιεί, συμπεριλαμβανομένων των μεταφρασμένων αντιγράφων. Αυτό μπορεί να είναι χρήσιμο ή καταστροφικό, ανάλογα με το αν θέλετε κοινό ή ξεχωριστό περιεχόμενο. Αποφασίστε ρητά ανά πρότυπο.
Λήξη Προσωρινής Μνήμης Μετάφρασης
Οι page builder αποθηκεύουν επιθετικά την αποδοθείσα HTML στην προσωρινή μνήμη. Μετά τη μετάφραση, εκκαθαρίστε όλες τις προσωρινές μνήμες, συμπεριλαμβανομένης της προσωρινής μνήμης CSS του Elementor (Elementor > Tools > Regenerate CSS) και της προσωρινής μνήμης στατικού CSS του Divi.
Συνοψίζοντας
Η μετάφραση ενός ιστότοπου που έχει δημιουργηθεί με Elementor ή Divi δεν είναι πιο δύσκολη από τη μετάφραση ενός στατικού θέματος - απλά απαιτεί το σωστό νοητικό μοντέλο. Οι συμβολοσειρές θεμάτων και plugin βρίσκονται σε αρχεία .po και μεταφέρονται μέσω αρχείων .mo. Το περιεχόμενο του page builder βρίσκεται στη βάση δεδομένων και μεταφέρεται μέσω πολύγλωσσων plugin ή χειροκίνητης αντιγραφής. Η σύγχυση των δύο διαδρομών είναι η πιο κοινή αιτία της απογοήτευσης "γιατί οι μεταφράσεις μου δεν λειτουργούν".
Η ροή εργασιών που κερδίζει είναι βαρετή: στατικά αρχεία .mo για οτιδήποτε βρίσκεται στον κώδικα, πολύγλωσσο plugin για το περιεχόμενο σελίδων και χειροκίνητη επιμέλεια για σελίδες προορισμού υψηλής αξίας. Κανένα μεμονωμένο εργαλείο δεν χειρίζεται και τα τρία, και όποιος σας υπόσχεται το αντίθετο σας πουλάει κάτι.
Είστε έτοιμοι να μεταφράσετε τα αρχεία
.poτου θέματός σας και των plugin χωρίς να χαλάσετε τη σήμανση των widget; Δοκιμάστε το SimplePoTranslate δωρεάν - δεν απαιτείται πιστωτική κάρτα. Ανεβάστε.po, κατεβάστε ασφαλείς μεταφράσεις, τοποθετήστε στον φάκελοwp-content/languages/.