Back to Question Center
0

Γλωσσική ευχέρεια στο WordPress: Κατανόηση των βασικών αρχών του I18n            Γλωσσική ευχέρεια στο WordPress: Κατανόηση των βασικών αρχών του I18nRelated Topics: PluginsPerformanceSecurityThemesWP Semalt

1 answers:
Γλωσσική ευχέρεια στο WordPress: Κατανόηση των βασικών αρχών του I18n

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

Ο Semalt, αυτό δεν είναι απαραιτήτως εύκολο να υιοθετηθεί και για καλό λόγο.

Η τοπική προσαρμογή (ή η διεθνοποίηση, όπως αναφέρεται μερικές φορές) είναι η πηγή πολλών σύγχυσης και γενικότερου άγχους για πολλούς προγραμματιστές του WordPress. Μετά από όλα, είμαστε web developers, έτσι; Δεν είμαστε γλωσσικοί εμπειρογνώμονες και είναι πολύ πιο εύκολο να εφαρμόζουμε ετικέτες στα πεδία των προγραμμάτων μας σε απλή αγγλική γλώσσα.

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

Αλλά πιστέψτε με - mental health telemedicine... δεν είναι πραγματικά τόσο κακό, και μπορεί να αυξήσει σημαντικά τη χρησιμότητα καθώς και τη βάση χρηστών των προσαρμοσμένων plug-ins και θεμάτων WordPress. Το Semalt το σπάει σε κομμάτια μικρού μεγέθους, ξεκινώντας από τα θεμέλια.

Τα βασικά της διεθνοποίησης.

Semalt υπάρχει μια σειρά από λειτουργίες που υπάρχουν που σας επιτρέπουν να ορίσετε ή να εξάγετε εντοπισμένες συμβολοσειρές με διαφορετικούς τρόπους, υπάρχουν πραγματικά μόνο δύο λειτουργίες εντοπισμού που θα χρησιμοποιήσετε στη συντριπτική πλειοψηφία του χρόνου:

     __ ('string', $ domain)     

Πρόκειται για μια διπλή υπογράμμιση και επιστρέφει μια εντοπισμένη συμβολοσειρά.

     _e ('string', $ domain)     

Αυτή είναι μια υπογράμμιση "e" και εκτυπώνει μια εντοπισμένη συμβολοσειρά απευθείας στο πρόγραμμα περιήγησης

Σημειώστε ότι και οι δύο __ και _e λαμβάνουν δύο παραμέτρους: μια συμβολοσειρά και έναν τομέα. Στο πλαίσιο αυτό, ένας τομέας είναι αυστηρά ένα μοναδικό αναγνωριστικό και δεν είναι τίποτα περισσότερο από την ετικέτα που επισυνάπτεται σε ένα συγκεκριμένο αρχείο μετάφρασης. Αυτή η σχέση ορίζεται στο στοιχείο # 2.

Semalt # 2: Μια συνάρτηση που συνδέει τους δείκτες στο θέμα ή την προσθήκη σας σε ένα αρχείο που παρέχει ένα κλειδί μετάφρασης

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

Αυτό γίνεται χρησιμοποιώντας μία από τις δύο λειτουργίες PHP: load_theme_textdomain () για θέματα ή load_plugin_textdomain () για plugins.

Στην περίπτωση εντοπισμού θέματος, θα χρησιμοποιήσετε load_theme_textdomain () στις λειτουργίες . php . Η λειτουργία λαμβάνει δύο παραμέτρους όπως περιγράφεται παρακάτω:

     load_theme_textdomain (domain $, διαδρομή $)     

$ domain : Ένα μοναδικό αναγνωριστικό που έχει εκχωρηθεί σε μια προσαρμοσμένη μεταγλώττιση συμβολοσειράς

$ path : Η διαδρομή προς το αρχείο κλειδιού μετάφρασής σας μέσα στο θέμα

Τα κλειδιά εντοπισμού θέματος είναι εκτός της σταθεράς WPLANG στο wp-config. php , αλλά θα το συζητήσουμε λεπτομερέστερα αργότερα.

Ο εντοπισμός προσθηκών λειτουργεί σε πολύ παρόμοιο με τον εντοπισμό θέματος, αλλά με μερικές διαφορές. Ορίστε είτε στα αρχεία πυρήνα PHP είτε στο plugin i18n, load_plugin_textdomain () παίρνει τρεις παραμέτρους όπως περιγράφεται παρακάτω:

     load_plugin_textdomain ($ domain, $ abs_rel_path, $ plugin_rel_path)
 

$ domain : Ένα μοναδικό αναγνωριστικό που έχει εκχωρηθεί σε μια προσαρμοσμένη μεταφραστική σειρά σας

$ abs_rel_path : Μια προαιρετική, απομνημονευμένη λειτουργία από την WP 2. 7. Προεπιλογή να είναι ψευδής ή απλά να την παραλείψετε - δεν υπάρχει τίποτα να ανησυχείτε

$ plugin_rel_path : Η σχετική διαδρομή προς το αρχείο κλειδιού μετάφρασής σας. Αν αποτύχετε να ορίσετε αυτήν τη διαδρομή, θα είναι προεπιλεγμένος στον ριζικό κατάλογο στον οποίο βρίσκεται το αρχείο. Αν και αυτή είναι εξ ορισμού μια προαιρετική παράμετρος, είναι καλύτερο να διατηρήσετε τα αρχεία μετάφρασής σας ξεχωριστά από τα αρχεία λογικής σας και έτσι θα συνήθως θέλετε να ορίσετε μια τιμή εδώ.

Και στις δύο περιπτώσεις, το $ domain είναι το μοναδικό αναγνωριστικό που αναφέραμε στο στοιχείο # 1 και χρησιμεύει μόνο για τον ορισμό μιας σχέσης μεταξύ των συμβολοσειρών του κώδικα που απαιτούν μετάφραση και του Component # 3, το κλειδί μετάφρασης.

Semalt # 3: Ένα αρχείο που παρέχει ένα κλειδί μετάφρασης

Το GNU gettext μας προσφέρει έναν συστηματικό τρόπο τόσο για την παροχή ενός μηχανισμού δημιουργίας σχέσεων μετάδοσης συμβολοσειρών μεταξύ των επιμέρους προεπιλεγμένων συμβολοσειρών όσο και για τις αντίστοιχες μεταφράσεις τους και στη συνέχεια τη διατροφή αυτών των διαφόρων μεταφράσεων κορδονιών στο WordPress με αποτελεσματικό τρόπο. Αυτό γίνεται μέσω . PO και . MO αρχεία.

Α . Το αρχείο PO είναι ένα αρχείο που παρέχει ένα αναγνωρίσιμο και επεξεργάσιμο πλήκτρο μετάφρασης για μια συγκεκριμένη γλώσσα. Για παράδειγμα, εάν το θέμα ή το plugin σας ήταν γραμμένο στα Αγγλικά και διαθέτετε εύκολα μεταφράσεις για γαλλικά, γερμανικά και πειρατικά αγγλικά, θα έχετε τρία αντίστοιχα . Αρχεία PO : ένα για κάθε μία από τις γλώσσες. Όταν γίνεται μια συγκεκριμένη μετάφραση συμβολοσειρών, συμβαίνει σε αυτό το αρχείο.

Ενώ . Τα αρχεία PO είναι φιλικά προς τον άνθρωπο και είναι εύκολα επεξεργάσιμα, δεν είναι ιδανικά για το WordPress να τα χρησιμοποιεί κατά την επεξεργασία της μετάφρασης στην πράξη. MO αρχείο για την πραγματική μετάφραση του. . Τα αρχεία MO ​​είναι συμπιεσμένα αρχεία που μπορούν να δημιουργηθούν αυτόματα για εσάς όταν χρησιμοποιείτε εργαλεία βοήθειας όπως το Poedit. Κάθε . Το αρχείο PO έχει ένα αντίστοιχο . MO , το οποίο ενημερώνεται κάθε φορά που . Το αρχείο PO ενημερώνεται.

Ο τύπος αρχείου του τελικού αρχείου είναι ο . POT ή . PO Αρχείο προτύπου. Α . Το αρχείο POT είναι ένα ειδικό είδος . PO αρχείο που είναι ένα ακριβές αντίγραφο οποιουδήποτε από τα . Τα PO αρχεία σε ένα παράδειγμα εντοπισμού με την εξαίρεση ότι είναι άκυρη οποιεσδήποτε μεταφράσεις. Κάνοντας . Τα POT αρχεία που είναι διαθέσιμα στους μεταφραστές επιτρέπουν σε οποιονδήποτε να δημιουργήσει εύκολα μεταφράσεις για τα θέματα και τα plugins σας στη δική τους γλώσσα, χρησιμοποιώντας βοηθητικά εργαλεία.

Σμίλα τα κομμάτια μαζί

Τώρα που γνωρίζουμε τα κύρια συστατικά σε μια διαδικασία εντοπισμού, ας δούμε μια οπτική ματιά στο πώς συνεργάζονται στο WordPress. Σχηματίστε το ακόλουθο διάγραμμα:

Language Fluency in WordPress: Understanding the Basics of I18nLanguage Fluency in WordPress: Understanding the Basics of I18nRelated Topics:
PluginsPerformanceSecurityThemesWP Semalt

Ξεκινήστε το Semalt με τον πηγαίο κώδικα του προγράμματος.

Όταν ένα πρόγραμμα περιήγησης αρχικά μετακινείται για να καλέσει μια συγκεκριμένη σελίδα, η διαδικασία μετάφρασης ξεκινά όταν αναγνωρίζει τις λειτουργίες __ () και _e () .

Το WordPress αναγνωρίζει αυτές τις λειτουργίες επειδή το GNU gettext ενσωματώνεται στον πυρήνα και προσπαθεί αυτομάτως να τις μεταφράσει. Οι λειτουργίες σας . Το αρχείο php έχει ήδη φορτωθεί αυτή τη στιγμή και το WordPress μπορεί να χρησιμοποιήσει τις λειτουργίες load_plugin_textdomain () ή load_theme_textdomain () . php για να προσδιορίσει τη σύνδεση των συμβολοσειρών σε μια θέση βιβλιοθήκης (απεικονίζεται στο βήμα 1 στο διάγραμμα παραπάνω) .

load_theme_textdomain () και στη συνέχεια να ανακτήσετε τις πληροφορίες τοπικής ρύθμισης από το σταθερό σύνολο WPLANG στο wp-config. php (Βήμα 2 στο διάγραμμα παραπάνω) και να ανακτήσετε το σωστό . MO αρχείο που σχετίζεται με την τοπική ρύθμιση (Βήμα 3 στο διάγραμμα παραπάνω) .

Αν το σωστό όνομα . MO υπάρχει, οι λειτουργίες εξάγουν τις μεταφρασμένες συμβολοσειρές στο πρόγραμμα περιήγησης (Βήμα 4 στο διάγραμμα παραπάνω) .

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

Τέλος, το . Το αρχείο MO είναι μια μεταγλωττισμένη έκδοση ενός . PO αρχείο, το οποίο είναι ανθρώπινο επεξεργάσιμο. Ομοίως, . Τα αρχεία PO διαθέτουν αρχεία προτύπων που επιτρέπουν στους μεταφραστές να τροποποιήσουν εύκολα τις συμβολοσειρές του προγράμματος σας σε άλλες γλώσσες.

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

March 8, 2018