Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Σ' ένα site που φτιάχνω θέλω να έχω δυνατότητα εναλλαγής μεταξύ Αγγλικών-Ελληνικών.

Ένα ωραίο tutorial που βρήκα είναι εδώ και κάνει χρήση JQuery (με μία function η οποία κάνει ένα AJAX call) και XML για να το πετύχει.

 

Το πρόβλημά μου είναι ότι ενώ βάζω αυτή τη function στο <head> section και δουλεύει μια χαρά η μετάφραση για την homepage, επανέρχεται στην "default" γλώσσα όταν πατάω κάποιο link από το μενού και μεταβαίνω σε άλλη σελίδα.

Δεν ξέρω αν βοηθάει αλλά το site είναι χτισμένο πάνω σε Wordpress και προφανώς το header που περιέχει το script είναι κοινό για όλες τις σελίδες.

 

Καμιά ιδέα;

Δημοσ.

Ειναι λογικο να επανερχεται στην default γλωσσα.

 

Για να γινει πιστη μεταφραση του theme θα πρεπει και οτιδηποτε υπαρχει στην σελιδα (posts, custom post types, widgets etc) να ειναι και αυτο μεταφρασμενο, και τα permalinks να οδηγουν στην αντιστοιχη σελιδα. Εκτος και αν εχεις προσθεσει editors και fields τα οποιο ειναι στημενα σαν metaboxes για την αγγλικη γλωσσα. Πραγμα πολυ δυσχρηστο αν εχεις παραπανω απο μια επιπλεον γλωσσες.

 

Η μονη καλη λυση (για SEO, για συντηρηση) ειναι να εγκαταστησεις ενα απο αυτα τα plugins που προτεινει ο φιλος απο πανω. Σου προτεινω, βαση δικης μου χρησης, το WPML.

Δημοσ.

Δοκίμασα το qtranslate αλλά απ' ό,τι είδα μπορεί να μεταφράσει μόνο τα default "fields" του Wordpress (posts, post titles, κλπ), κάτι που και να μη γίνει καθόλου δε με πειράζει. Θα δοκίμαζα και το WPML αλλά επειδή είναι επί πληρωμή δε μου κάνει. Το site είναι απλά ένα portfolio site και το χρησιμοποιώ για προσωπική χρήση. Δεν έχει εμπορική σημασία οπότε και το SEO δε με πολυαπασχολεί.

 

Αυτό που θέλω είναι να μεταφράζει τα customizations που έχω κάνει που είναι κυρίως hardcoded κείμενο μέσα στα php αρχεία του theme του wordpress.

 

Ειναι λογικο να επανερχεται στην default γλωσσα.

 

Για να γινει πιστη μεταφραση του theme θα πρεπει και οτιδηποτε υπαρχει στην σελιδα (posts, custom post types, widgets etc) να ειναι και αυτο μεταφρασμενο, και τα permalinks να οδηγουν στην αντιστοιχη σελιδα.

Για την ώρα δεν έχω αντίστοιχη σελίδα για κάθε γλώσσα. Απλά όπως είναι στο παράδειγμα του link παραπάνω αλλάζω για δοκιμή τη γλώσσα hardcoded. Το περίεργο είναι ότι το menu, που είναι by default στα αγγλικά στην homepage, γυρίζει στα ελληνικά κανονικά ενώ όταν αλλάζω σελίδα το μενού επανέρχεται στα αγγλικά.

 

Αυτό δεν είναι λογικό αφού η αλλαγή της γλώσσας γίνεται μέσω ενός script στο header το οποίο είναι κοινό για όλες τις σελίδες μου.

Αυτό που νομίζω ότι φταίει είναι η κλήση ajax(). Δεν είμαι και πολύ γνώστης αλλά απ' ό,τι φαίνεται αυτή η κλήση δεν εκτελείται όταν ξαναφορτώνει η σελίδα. Αν δεις τον κώδικα στο link με το παράδειγμα κάνει κάποια addClass() μέσα στο ajax() τα οποία δε βλέπω να εφαρμόζονται σε σελίδες εκτός της homepage.

Αντιθέτως ό,τι γίνεται εκτός του ajax() βλέπω να εφαρμόζεται και στις άλλες σελίδες.

 

Εκτος και αν εχεις προσθεσει editors και fields τα οποιο ειναι στημενα σαν metaboxes για την αγγλικη γλωσσα. Πραγμα πολυ δυσχρηστο αν εχεις παραπανω απο μια επιπλεον γλωσσες.

Δύο γλώσσες θα είναι: Αγγλικά-Ελληνικά. Δε θα προστεθούν άλλες.

Αυτό με τα metaboxes (φαντάζομαι εννοείς τα metadata) θα το χρησιμοποιήσω κάπου στην πορεία αλλά σε ό,τι έχει να κάνει με περιεχόμενο που αποθηκεύονται στη βάση (π.χ. για metadata στα posts). Για το hardcoded περιεχόμενο δεν έχω τέτοια λύση.

  • 2 εβδομάδες αργότερα...
Δημοσ.

Αυτό τελικά που έκανα ήταν να εγκαταστήσω multisite wordpress (1 site ανά γλώσσα) και το Multisite Language Switcher plugin. Δυστυχώς το κακό με αυτή τη λύση ήταν ότι έπρεπε να κάνω στην ουσία duplicate τα posts και να ξανανεβάσω όλα τα media (εικόνες) καθώς είναι σαν να υπάρχουν 2 ξεχωριστά sites. Από την άλλη όμως με το plugin (δουλεύει μόνο με multisites) έχεις τη δυνατότητα να "συνδέσεις" τα αντίστοιχα posts και κάθε φορά που πατάς τη σημαιούλα της γλώσσας να σε πηγαίνει στο αντίστοιχο post στην άλλη γλώσσα.

 

Δεν κατάφερα να βρω κάποια καλύτερη λύση. Αλλά αν πρόκειται για site που αλλάζει συχνά περιεχόμενο (ευτυχώς δεν είναι τέτοιο το δικό μου) τότε θα είναι καπως επίπονη η διαδικασία του ίδιου περιεχομένου και σε χρόνο αλλά και σε χώρο...

 

Το γράφω σαν αναφορά για κάποιον που ίσως έχει την ίδια απορία στο μέλλον.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...