Elxis CMS Forum

Ελληνικό Forum => Γλώσσες - Πολυγλωσσία => Topic started by: nikos13 on June 05, 2008, 17:42:28

Title: Ημερομηνία μόνο στα Αγγλικά
Post by: nikos13 on June 05, 2008, 17:42:28
Παιδιά στο site μου ότι και να κάνω, όποιο Locale και να βάλω η ημερομηνία εμφανίζεται στα αγγλικά (και στα αντικειμενα περιεχομενου και στο weather module).

Ο server είναι FreeBSD 6,3. Υπάρχει περίπτωση να φταίει το elxis ή να απευθυνθώ στον υπεύθυνο του server ?

H σελίδα είναι www.eidisis.gr
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: datahell on June 05, 2008, 23:45:10
Είτε ο server σου δεν έχει ελληνικά locale (πράγμα απίθανο), είτε δεν έχει utf-8 locales (πράγμα απίθανο), είτε δεν επιτρέπεται η αλλαγή των locale on runtime μέσω της συνάρτησης setlocale της php. Το elxis χρησιμοποιεί κάτι σαν το ακόλουθο για αλλαγή της μορφής των ημερομηνίας ανάλογα με τη γλώσσα:

setlocale (LC_TIME, 'el_GR.UTF8');

Φτιάξε ένα κενό αρχείο php. Ονόμασέ το test.php και γράψε μέσα τα ακόλουθα:

Code: (php) [Select]
<?php 
setlocale 
(LC_TIME, &#39;el_GR.UTF8&#39;);
header(&#39;content-type: text/html; charset: utf-8&#39;);
echo strftime("%A, %d %B %Y"time());
?>

ανέβασέ το στο site σου και τρέξτο στον browser σου. Σου εμφανίζει την ημερομηνία στα ελληνικά;

Παραλλαγή του παραπάνω για ISO:
Code: (php) [Select]
<?php 
setlocale 
(LC_TIME, &#39;el_GR&#39;);
header(&#39;content-type: text/html; charset: iso-8859-7&#39;);
echo strftime("%A, %d %B %Y"time());
?>
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: nikos13 on June 06, 2008, 10:41:14
Οχι και τα 2 στα αγγλικα τα εμφανίζει
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: datahell on June 06, 2008, 11:40:38
Το πρόβλημα είναι στο server, απευθύνσου σε αυτόν που σε φιλοξενεί.

Για να δει κάποιος τα διαθέσιμα locale στο server μπορεί να εκτελέσει μέσω SSH την εντολή:
locale -a
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: nikos13 on June 06, 2008, 12:22:04
Μίλησα με το διαχειριστή του server και μου είπε πως το πρόβλημα βρίσκεται στο ότι δεν υπάρχει παύλα μετα το UTF δηλαδή πρέπει να είναι el_GR.UTF-8 και όχι el_GR.UTF8.
Δοκίμασα με τον εξής κώδικα:
Code: [Select]
<?php 
setlocale 
(LC_TIME, &#39;el_GR.UTF-8&#39;);
header(&#39;content-type: text/html; charset: utf-8&#39;);
echo strftime("%A, %d %B %Y"time());
?>

Και όντως εμφανίζει την ημερομηνία στα ελληνικά. Ποιο αρχείο πρέπει να πειράξω στο elxis για να το διορθώσω?
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: nikos13 on June 06, 2008, 13:01:01
Άλλαξα τη σειρά 475 του αρχείου /administrator/components/com_config/admin.config.php από
Code: [Select]
mosHTML::makeOption( 'el_GR.utf8', 'el_GR.utf8'),
σε:
Code: [Select]
mosHTML::makeOption( 'el_GR.UTF-8', 'el_GR.UTF-8'),
και τη σειρά 101 του αρχείου /includes/Core/locale.php από
Code: [Select]
'greek' => array('el_GR.UTF8@euro', 'el_GR.UTF8'),
σε:
Code: [Select]
'greek' => array('el_GR.UTF-8@euro', 'el_GR.UTF-8'),
και όλα δουλεύουν σωστά πλέον. :)

Επίσης το εργαλείο για την εκκαθάριση της cache από το admin panel σίγουρα δουλεύει σωστά? Γιατί σε μένα δε δουλεύει και σβήνω μόνος μου τα αρχεία από το φάκελο cache για να γίνει δουλειά. Δες το λίγο για να δω αν είναι μόνο δικό μου πρόβλημα τι φταίει
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: datahell on June 06, 2008, 13:44:03
ok, BSD γαρ ;)
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: babis1 on June 06, 2008, 21:10:33


Επίσης το εργαλείο για την εκκαθάριση της cache από το admin panel σίγουρα δουλεύει σωστά? Γιατί σε μένα δε δουλεύει και σβήνω μόνος μου τα αρχεία από το φάκελο cache για να γίνει δουλειά. Δες το λίγο για να δω αν είναι μόνο δικό μου πρόβλημα τι φταίει
Διαβαζοντας αυτο μπηκα στον κοπο να δω τον φακελλο cache, σε καποια απο τα site που εχω και ανακαλυψα οτι ηταν γεματα με εικονες php thump cache,ενω καθημερινα κανω εκκαθαριση της cache, θα πρεπει να τα σβηνουμε "χερατα", η δεν εχω ρυθμιση κατι σωστα?Επισης υπαρχει περιπτωση τα αρχεια αυτα οταν παραμενουν στον φακελο να κανουν ποιο "αργο" το site?
thanks
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: nikos13 on June 06, 2008, 21:25:22
Εγώ πάντως σήμερα το ανακάλυψα επειδή δεν έκανε refresh το weather module.
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: datahell on June 07, 2008, 00:04:55
Ο φάκελος cache/ θα πρέπει να είναι εγγράψιμος (άδειες χρήσης 777) και δεν έχετε κανένα πρόβλημα.
Σχετικό: η ενεργοποιήση και η σωστή ρύθμιση της πρόσβασης ftp ΕΠΙΒΑΛΛΕΤΑΙ σε ένα elxis site.

Ο ρόλος του καταλόγου cache/ είναι τα περιέχει αρχεία της μνήμης, αν είναι κενός δεν έχει νόημα, θα δημιουργήσει αμέσως νέα. Τα αρχεία επανεγράφονται μόλις λήξει ο χρόνος που έχουμε ορίσει ως χρόνο cache στις γενικές ρυθμίσεις. Αν δεν μπορούν να επανεγγραφούν υπάρχει πρόβλημα με τις άδεις χρήσης και τις ρυθμίσεις ftp. Άρα λοιπόν αν βλέπετε τον φάκελο γεμάτο αρχεία με ημερομηνία τροποποίησης κάποια πρόσφατη (ανάλογα πότε κλήθηκε ζητήθηκε για τελευταία φορά το κάθε αρχείο) τότε όλα πάνε καλά. Αν δεν βλέπετε κανένα αρχεία (ενώ έχετε ενεργοποιήσει την cache) ή τα αρχεία έχουν όλα παλιές ημερομηνίες τότε υπάρχει πρόβλημα αδειών χρήσης. Αν δεν μπορούν να επανεγγραφούν τα αρχεία στον κατάλογο cache/ (πχ τα αρχεία xml για το rss) αλλάξτε τους άδειες χρήσης σε 666 (εντολή ssh: chmod 666 *)

Σημείωση: μερικά component/module έχουν δική τους ξεχωριστή ρύθμιση (πχ το Module καιρός χρησιμοποιεί ανεξάρτητα την cache από το υπόλοπο site με χρόνο ανανέωσης της μνήμης την 1 ώρα).

Προσωπικά έχω αρκετά elxis site και σε κανένα δεν έχω το παραμικρό πρόβλημα με την cache.
 
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: Dimitris Kanatas on December 27, 2008, 12:11:02
Στο Π.Σ.Δ. η ημερομηνία εμφανίζεται στα αγγλικά. Δοκίμασα το τεστ του Datahell και με el_GR.UTF-8 και με el_GR.UTF8. Το αποτέλεσμα είναι το ίδιο.

Τι ακριβώς να ζητήσω από το Π.Σ.Δ.;

Η ρύθμιση μπορεί να γίνει μόνο σε έναν λογαριασμό;
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: datahell on December 27, 2008, 20:26:19
Δεν ξέρω γιατί το ΠΣΔ έχει γενικά πολλούς περιορισμούς.

Δοκίμασε να γράψεις σε ένα αρχείο php τον παρακάτω κώδικα και να τον εκτελέσεις από τον browser. Aν δεις την ημερομηνία στα ελληνικά τότε είσαι ΟΚ, αν όχι υπάρχει κάποιος περιορισμός που δεν μπορούμε να κάνουμε τίποτα.
Σημείωση: τα windows δεν υποστηρίζουν utf-8 locales, οπότε αν φιλοξενήστε σε windows server θα βλέπετε την ημερομηνία πάντα στα αγγλικά.

Copy-past σε αρχείο "test.php" και τρέξτο από τον browser (πχ http://www.mysite.com/test.php)
Code: (php) [Select]
<?php 
setlocale 
(LC_TIME, &#39;el_GR.UTF-8&#39;, &#39;el_GR.UTF8&#39;);
header(&#39;content-type: text/plain; charset: utf-8&#39;);
echo strftime("%A, %d %B %Y"time());
?>

Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: Dimitris Kanatas on December 27, 2008, 20:55:24
Δυστυχώς το αποτέλεσμα είναι το ίδιο... Αγγλικά.

Πρέπει να χρησιμοποιούν windows και γι αυτό δεν έχουμε Ελληνικά.
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: datahell on December 27, 2008, 21:18:00
Για να δεις το λειτουργικό σου, υπάρχουν οι εξής εναλλακτικές:
1. Δες το από το softdisk στην ενότητα "Πυρήνας".
2. Δες το από τη διαχείριση στο "πληροφορίες συστήματος".
3. Δες το από το εργαλείο "updiag" (πάτα το εικονίδιο του λειτουργικού στην αρχική του σελίδα)
4. Γράψε το ίδιο αρχείο (test.php) το παρακάτω, και τρέξτο:
<?php
echo php_uname();
?>
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: Dimitris Kanatas on December 27, 2008, 21:26:03
Δοκίμασα το κώδικα και μου έβγαλε αυτό...

SunOS www1 5.8 Generic_108528-29 sun4u

Πώς το βλέπεις;
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: datahell on December 28, 2008, 12:14:11
Εκτός από ονομαστικά δεν το ξέρω καθόλου...
Title: Re: Ημερομηνία μόνο στα Αγγλικά
Post by: Dimitris Kanatas on December 28, 2008, 13:25:31
Έψαξα λίγο στο net και βρήκα λίγα πράγματα για αυτό το OS. Κυρίως από τη wikipedia. Βρήκα κι ένα άρθρο από το "linux.gr"...

Quote
Η Sun ιδρύθηκε to 1982 από τον Bill Joy, ο οποίος συμμετείχε ενεργά στην ανάπτυξη της Berkeley Software Distribution. Δεν μπορεί λοιπόν να αποτελεί έκπληξη το γεγονός ότι η πρώτη έκδοση του λειτουργικού που διέθετε η Sun για το hardware το οποίο πουλούσε βασιζόταν σε μεγάλο βαθμό στο 4.xBSD. Στα πρώτα χρόνια της ύπαρξής του το SunOS επηρέασε καταλυτικά την κατεύθυνση ανάπτυξης του Unix με πρωτοποριακές ιδέες όπως το Network File System (NFS), το Network Information Service (NIS ή Yellow Pages-YP), το RPC (Remote Procedure Call) και το ξεχασμένο σήμερα XDR (External Data Representation) για ανταλλαγή δεδομένων, που ήταν τόσο επιτυχημένες ώστε ενσωματώθηκαν αμέσως στο SVR4 από την AT&T.

Στα επόμενα χρόνια, το SunOS ήταν εκείνο το οποίο ακολουθούσε την εξέλιξη των υπόλοιπων Unix, για αυτό η Sun μέσω της θυγατρικής της SunSoft έθεσε σαν στόχο την μετάβαση σε ένα SVR4-based λειτουργικό, στόχο τον οποίο δεν πέτυχε η πρώτη έκδοση του Solaris(1.0), όντας ακόμα βαθιά εξαρτημένη από το σχετικά απαρχαιωμένο SunOS. Τελικά με την έκδοση 2.1 του Solaris, η Sun έκανε ένα βήμα μπροστά υλοποιώντας μία ενιαία πλατφόρμα λογισμικού για το εξαιρετικό της hardware καθώς η 2.1 μπορούσε να αξιοποιήσει όλους τους Sparc καθώς και τους x86 επεξεργαστές. Το SunOS συνέχισε την πορεία του παράλληλα με το Solaris (δεν ενδιαφέρει η εμπορική ονομασία αλλά η ταυτότητα του λειτουργικού και το αναφέρω αυτό λόγω των διπλών ονομασιών που έδινε η Sun στο Solaris) έως το 1994.

Με την έκδοση 2.5 το (συμβατό με POSIX από την 2.3 και με υποστήριξη του Motif από την 2.4) Solaris περιλαμβάνει και το CDE (Common Desktop Environment). Στην έκδοση 2.6 ,η οποία έχει την "σφραγίδα" UNIX 95, υπάρχει για πρώτη φορά η (αμφιλεγόμενη σήμερα, επαναστατική τότε γλώσσα της Sun) Java. Οι εκδόσεις 7 και 8 (το δύο "κόπηκε" από τους "bad marketing people") είδαν βελτιώσεις στα utilities διαχείρισης συστήματος και στις επιδόσεις, ενώ αναμένεται στην επόμενη έκδοση η υιοθέτηση του GNOME ως default γραφικού περιβάλλοντος (σ.σ. : εγώ πάντως στον UltraSparc που θα πάρω τα Χριστούγεννα για το subnet του πλυσταριού θα τρέχω Linux :)

Πάντως η συγκεκριμένη έκδοση υποστηρίζεται ακόμη (SunOS 5.8 )...

Βέβαια λύση στο πρόβλημα με τα ελληνικά δε βρήκα... Μετά από τις γιορτές θα πάρω τηλέφωνο στο Π.Σ.Δ.