Μεταφράστε ένα WordPress Theme σε 4 απλά βήματα !

Σε αυτό το άρθρο θα σας δείξουμε βήμα-προς-βήμα πώς θα δώσετε σε ένα θέμα (Theme) WordPress τη δυνατότητα να μεταφραστεί σε οποιαδήποτε γλώσσα.

1 – Προσθέστε τις απαραίτητες λειτουργίες.

Ας αρχίσουμε από τα βασικά: Αντιγράψτε τις ακόλουθες γραμμές στο αρχείο functions.php του θέματός σας.

load_theme_textdomain( 'theme name', TEMPLATEPATH.'/languages' );
 
$locale = get_locale();
$locale_file = TEMPLATEPATH."/languages/$locale.php";
if ( is_readable($locale_file) )
	require_once($locale_file);

Στη γραμμή 1, βλέπετε τη function load_theme_textdomain (). Η function αυτή σας επιτρέπει να φορτώσετε ένα text domain. Μπορείτε να δώσετε οποιοδήποτε όνομα, αλλά να έχετε κατά νου ότι πρέπει να είναι μοναδικό. Έτσι, η καλύτερη πρακτική είναι να χρησιμοποιήσετε το όνομα του θέματος σας.

wordpress text domain

2 – Δώστε τη δυνατότητα μετάφρασης στο θέμα σας.

Θα πρέπει να χρησιμοποιήσετε τις function PHP gettext.
Αυτή η function έχει (Gettext) έχει δύο λειτουργίες: _E και __ (δύο παύλες).
Η λειτουργία “_E” χρησιμοποιείται απλά για να εμφανίσει ένα κείμενο, και η λειτουργία __ χρησιμοποιείται όταν το κείμενο που θα εμφανίζεται περιβάλλετε ήδη από ετικέτες PHP.

Παραδείγματα:

<?php _e("The page you're looking for doesn't exist", "theme name"); ?>
<?php the_content(__('Read more...', "theme name")); ?>

Παρατηρήστε πάλι το text domain name (theme name) παραπάνω, να θυμάστε ότι θα πρέπει να είναι το ίδιο με αυτό που δηλώσαμε στο αρχείο functions.php.

Το βαρετό μέρος είναι ότι θα πρέπει να αντικαταστήσετε κάθε κείμενο που θέλετε να του δώσετε τη δυνατότητα μετάφρασης με την απαιτούμενη function.

 

3 – Δημιουργήστε ένα αρχείο .po

Τώρα το θέμα σας είναι έτοιμο να μεταφραστεί σε οποιαδήποτε γλώσσα! Αλλά για να εμφανιστεί το κείμενο σας στη γλώσσα που επιθυμείτε, θα πρέπει να προσθέσετε ένα αρχείο .po.
Για παράδειγμα, αν θέλετε να μεταφράσετε το θέμα σας στα γαλλικά θα πρέπει να προσθέσετε το αρχείο  fr_FR.po στο φάκελο /languages του θέματός σας.  Αυτό το αρχείο περιέχει όλες τις μεταφράσεις που απαιτούνται για να μεταφραστεί το θέμα σας στα Γαλλικά.

Ένα δωρεάν online εργαλείο που θα το βρείτε εδώ  (icanlocalize.com) μπορεί να σαρώσει τα αρχεία PHP του θέματός σας και να δημιουργήσει αρχεία .po για εσάς. Το ICanLocalize θα εξαγάγει όλα τα κείμενά σας που είναι “τυλιγμένα” σε __ (“txt”, “theme name”) και _E (“txt”, “theme name”). Τα κείμενά σας μπορούν να περικλείονται σε διπλά εισαγωγικά (“) ή μονά εισαγωγικά (‘) και με οποιαδήποτε κωδικοποίηση χαρακτήρων.

icanlocalize

Τα .po αρχεία μπορούν να επεξεργαστούν με το poedit, (δωρεάν λογισμικό)
poedit
Όπως ίσως μαντέψατε, θα πρέπει να μεταφράσετε κάθε συμβολοσειρά κειμένου. Το Poedit θα δημιουργήσει επίσης ένα αρχείο .mo, η οποία είναι βασικά μια μεταγλωττισμένη έκδοση του αρχείου .po.

4 – Εφαρμογή

Αυτή τη στιγμή, έχετε ολοκληρώσει το πιο «δύσκολο» κομμάτι της εργασίας.  Το μόνο που έχετε να κάνετε είναι να ορίσετε το WordPress locale σας.
Για να το κάνετε αυτό, το πρώτο πράγμα που πρέπει να κάνετε είναι να πάρετε τη γλώσσα σας και τον κωδικό χώρας. Για παράδειγμα, αν η γλώσσα είναι τα γαλλικά, ο κωδικό σας θα είναι fr_FR. Το εγχειρίδιο gettext GNU περιέχει θα σας βοηθήσει να βρείτε αυτούς τους κωδικούς.
Μόλις έχετε τους κωδικούς σας, ανοίξτε το αρχείο wp-config.php σας και αναζητήστε την σταθερά (define) WPLANG. Αν υπάρχει, απλά αντικαταστήστε τον υπάρχοντα κώδικα από τη δική σας. Αν δεν υπάρχει, απλά επικολλήστε την ακόλουθη γραμμή (με το δικό σας κώδικα φυσικά).

define (‘WPLANG’, ‘fr_FR’);

Για περισσότερες πληροφορίες παρακολουθήστε τα μαθήματα WordPress