OpenCart-Hellas 

Η Ελληνική κοινότητα υποστήριξης του Opencart

#832
Αυτό το άρθρο εξηγεί ότι χρειάζεται να γνωρίζει κανείς για την προσαρμογή των διαφόρων templates και extensions σε Ελληνικά καταστήματα.

Το OpenCart χρησιμοποιεί δύο πηγές για την εμφάνιση μεταφρασμένων κειμένων:
  • Τα αρχεία μετάφρασης. Αυτά είναι κανονικά αρχεία κειμένου που εγκαθίστανται στους φακέλους "admin/language/" και "catalog/language/" και μπορούν να τροποποιηθούν από εφαρμογές επεξεργασίας κειμένου όπως το notepad++.
  • Τους πίνακες (tables) της βάσης δεδομένων. Εκεί βρίσκονται καταχωρήσεις όπως ονομασίες χωρών, ζώνες χωρών κλπ, τις οποίες μπορείτε να δημιουργήσετε / τροποποιήσετε χειροκίνητα από τη Διαχείριση του καταστήματος.

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

Όλες οι μεταφράσεις (εμπορικές ή δωρεάν) καλύπτουν την μετάφραση του OpenCart για το default template. Όμως τα περισσότερα εμπορικά templates, προσθέτουν κατά την εγκατάσταση τους κάποια επιπλέον αρχεία μετάφρασης για ειδικές διατάξεις περιεχομένου και modules ή extensions που περιλαμβάνονται στο πακέτο ως δώρο (πχ επιπλέον κουμπιά, slideshow, blog, κλπ). Όλες αυτές οι νέες προσθήκες που περιλαμβάνονται με το template, πρέπει να μεταφραστούν χειροκίνητα από εσάς. Ευτυχώς η διαδικασία είναι σχετικά απλή ακόμα και για αρχάριους χρήστες:

Κατάστημα (Frontend)
Είναι το τμήμα της εφαρμογής που επισκέπτονται οι πελάτες και είναι το μόνο απαραίτητο που θα χρειαστείτε να μεταφράσετε αν διαχειρίζεστε εσείς το κατάστημα.
  • Αρχικά αποσυμπιέζουμε τοπικά στον υπολογιστή μας το αρχείο zip της εγκατάστασης του template.
  • Στον φάκελο που αποσυμπιέστηκε βρίσκουμε στον φάκελο catalog/language/ τον φάκελο english
  • Δημιουργούμε ένα αντίγραφο του φακέλου english μαζί με τα περιεχόμενα του και τον ονομάζουμε greek
  • Στον φάκελο greek ανοίγουμε ένα ένα όλα τα αρχεία μετάφρασης που υπάρχουν στους διάφορους υποφακέλους σε οποιονδήποτε απλό επεξεργαστή κειμένων κατάλληλο για αρχεία κώδικα, πχ Notepad++ απενεργοποιώντας το "BOM" στις ρυθμίσεις (Windows), TextEdit επιλέγοντας "plain text" στις ρυθμίσεις (OS X), gedit (Linux), κλπ.
  • Για κάθε κάθε αρχείο μεταφράζουμε στα Ελληνικά ότι κείμενο υπάρχει μετά το ίσον.
  • Μετά ανεβάζουμε τον τοπικό φάκελο greek στον φάκελο catalog/language/ του online καταστήματος μας.
  • Την ίδια διαδικασία θα χρειαστεί να κάνουμε όταν εγκαθιστούμε άλλα εμπορικά ή δωρεάν modules / extensions που δεν περιλαμβάνουν Ελληνική μετάφραση.
Διαχείριση (Administration)
Εφόσον τη διαχείριση δεν την βλέπουν οι πελάτες, μπορείτε να παραλείψετε τη μετάφραση της διαχείρισης των modules που εγκαθιστά το template σας. Αν όμως το επιθυμείτε, μπορείτε να το κάνετε ακολουθώντας την παραπάνω διαδικασία για τον φάκελο admin/language/.

Fonts
Στα περισσότερα σύγχρονα templates χρησιμοποιούνται γραμματοσειρές Google Fonts προκειμένου να υπάρχει συμβατότητα στις γραμματοσειρές ανεξαρτήτως λειτουργικού συστήματος. Ο κώδικας για τη φόρτωση των γραμματοσειρών περιλαμβάνεται στο <head> της κάθε σελίδας και ανάλογα το όνομα της κάθε γραμματοσειράς είναι κάπως έτσι:
Κώδικας: Επιλογή όλων
<link href='http://fonts.googleapis.com/css?family=Open+Sans&subset=latin,greek' rel='stylesheet' type='text/css'>
Η παραπάνω γραμμή φορτώνει την γραμματοσειρά Open Sans και υποστήριξη λατινικών και Ελληνικών χαρακτήρων. Δυστυχώς όμως δεν υποστηρίζουν όλες οι γραμματοσειρές στο Google Fonts Ελληνικούς χαρακτήρες. Οι περισσότεροι developers που αναπτύσσουν templates δηλώνουν Google fonts που είτε δεν υποστηρίζουν Ελληνικά ή υποστηρίζουν Ελληνικά αλλά δεν έχει δηλωθεί να φορτώνονται Ελληνικοί χαρακτήρες. Το αποτέλεσμα είναι όταν γυρίζει το site στα Ελληνικά να εμφανίζεται εντελώς διαφορετική γραμματοσειρά γιατί όταν δεν υποστηρίζεται η γλώσσα, ο browser φορτώνει αυτόματα κάποια εναλλακτική γραμματοσειρά από το λειτουργικό σύστημα. Αυτό μπορεί να έχει απρόβλεπτα αποτελέσματα για τους επισκέπτες του site γιατί το κάθε λειτουργικό περιλαμβάνει διαφορετικές γραμματοσειρές, έτσι αναλόγως το λειτουργικό θα εμφανίζεται και διαφορετική γραμματοσειρά Ελληνικών.

Για να το λύσουμε αυτό, από τις ρυθμίσεις του template ελέγχουμε ότι τα fonts που έχουν δηλωθεί υποστηρίζουν και Ελληνικά. (μπορείτε να το ελέγξετε δηλώνοντας τη γραμματοσειρά στο Google Fonts και επιλέγοντας Greek στο μενού Script αριστερά). Αν δεν υποστηρίζει Ελληνικά διαλέξτε από το google fonts μία γραμματοσειρά που να υποστηρίζει και τις δύο γλώσσες και δηλώστε την στο control panel του template. Ο κώδικας της κάθε γραμματοσειράς παράγεται αυτόματα από τη σελίδα των google fonts αφού επιλέξουμε τα styles (όποια θέλουμε) και character sets (latin, Greek). Αν το template δεν περιλαμβάνει κάποιο σύστημα εισαγωγής κώδικα Google Fonts μέσω της διαχείρισης, μπορείτε να τον εισάγετε εσείς απευθείας στον κώδικα του template ανοίγοντας το αρχείο common/header.tpl του template σας και προσθέτοντας τον κώδικα του gogle font μεταξύ <head> και </head>.

Κεφαλαία με τόνους
Κάποιοι developers που δεν λαμβάνουν υπόψη τους ότι το template τους ενδέχεται να χρησιμοποιηθεί με γλώσσες που έχουν τόνους, δηλώνουν στο CSS να μετατρέπονται κάποιες επικεφαλίδες από πεζά σε κεφαλαία (πχ κεντρικοί τίτλοι μενού, Τίτλοι modules κλπ.).
Αυτό γίνεται με την css εντολή:
Κώδικας: Επιλογή όλων
text-transform: uppercase; 
Για να το διορθώσετε, στον φάκελο του template που χρησιμοποιείτε, ανοίξτε τα αρχεία με κατάληξη .css σε ένα text editor και κάντε αναζήτηση για text-transform. Όπου δεν το χρειάζεστε, μπορείτε να το διαγράψετε ή να το απενεργοποιήσετε αν το γράψετε έτσι:
Κώδικας: Επιλογή όλων
/*text-transform: uppercase;*/
Αν θέλετε να εντοπίσετε σε ποιο αρχείο css βρίσκεται κάποιο συγκεκριμένο κείμενο, το επιλέγετε στον browser και με δεξί mouse πατάτε Inspect Element.
html στο textarea

Ευχαριστώ Θα το προσπαθήσω.

Αφαίρεση links

Καλησπέρα, Έλεγξε μήπως τα αφαιρείς από το twig […]

Δεν δουλεύει σωστα. Η σειρα που τα εχω ειναι Μερικ[…]

Δες αυτό: https://www.opencart.com/index.php?rout[…]

Πριν ζητήσετε βοήθεια στο φόρουμ, παρακαλούμε ελέγξτε αν υπάρχει έτοιμη λύση στο OpenCart Extension Marketplace!