Πολυγλωσσικό site - επιλεγμένη γλώσσα

Από που να ξεκινήσω; Που θα βρω; κ.α. γενικές ερωτήσεις για την δημιουργία μιας ιστοσελίδας.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση

Πως προτιμάτε να κρατάτε την επιλεγμένη γλώσσα σε ένα πολυγλωσσικό site;

Με session μεταβλητές
0
Δεν υπάρχουν ψήφοι
Με cookies
0
Δεν υπάρχουν ψήφοι
Με παράμετρο στο url
5
100%
Με post μεταβλητές
0
Δεν υπάρχουν ψήφοι
Με άλλον τρόπο
0
Δεν υπάρχουν ψήφοι
 
Σύνολο ψήφων: 5

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από dva_dev » 28 Φεβ 2008 14:43

Οταν φτιάχνετε ένα πολυγλωσσικό site (οτιδήποτε με πάνω από 1 γλώσσα), την επιλεγμένη γλώσσα που δείχνουν οι σελίδες, πως προτιμάτε να την κρατάτε;
1) Με session μεταβλητές;
2) Με cookies;
3) Με παράμετρο στο url;
4) Με post μεταβλητές;
5) Με άλλον τρόπο; (Πως την κρατάτε;)

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από dimsis » 28 Φεβ 2008 16:09

session. Cookies σε περίπτωση που θέλεις να "σώζει" την επιλογή του client, έτσι ώστε την άλλη φορά να μπει στη γλώσσα που είχε επιλέξει.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από cherouvim » 28 Φεβ 2008 19:15

Νομίζω οτι cookies, post, session δεν είναι για αυτή τη χρήση.

Πρέπει να φαίνεται στο URL. Δηλαδή με GET παράμετρο, folder ή subdomain. Για να μπορεί το google να indexάρει τα πάντα, και να είναι bookmarkable το περιεχόμενο στη σωστή του έκδοση.

http://example.com/article?l=en
http://example.com/en/article
http://en.example.com/article

Τώρα αν θα κρατήσεις αυτό το personalization στοιχείο σε cookie ή session έτσι ώστε να κάνεις το ανάλογο redirect όταν ο client θα ξαναχτυπήσει το http://example.com/ είναι άλλο θέμα.

URIs, Addressability, and the use of HTTP GET and POST
Providing a URI for a resource affords many advantages, including:
* linking
* bookmarking
* caching

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από skeftomilos » 29 Φεβ 2008 04:47

URL ασυζητητί, για τους λόγους που αναφέρει ο Cherouvim.

http://www.minoas.gr/35315.minoas
http://www.minoas.gr/35315.en.minoas

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από dimsis » 29 Φεβ 2008 09:13

Γιατί είναι τόσο δύσκολο να τσιμπήσεις από το URL την παράμετρο τις γλώσσας και να αλλάξεις την session μεταβλητή; ή είναι δύσκολο από π.χ. το id ενός άρθρου να βρεις και σε τι γλώσσα είναι γραμμένο; Έχω την εντύπωση πως τα περισσότερα Ελληνικά sites που θα βρείτε αν ψάξετε στο google ΔΕΝ έχουν στο κασαρισμένο url την μεταβλητή της γλώσσας, από την στιγμή που το βρίσκεις εύκολα .
Εγώ πάντως συνεχίζω να επιμένω για session για λόγους ευκολίας, διαφορετικά το να κουβαλάς παραμέτρους σε μια μεγάλη εφαρμογή σε κάθε σελίδα δεν είναι και ότι πιο πρακτικό και εύκολο.

Παραδείγματα:
http://www.google.gr/search?num=100&hl= ... E%BF&meta=
http://www.google.gr/search?num=100&hl= ... E%B9&meta=
http://www.google.gr/search?num=100&hl= ... +2.0&meta=

Δείτε τα URL των sites ^^

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από cherouvim » 29 Φεβ 2008 10:09

Έχεις ένα άρθρο σε 2 εκδόσεις. Ελληνικά και Αγγλικά.
Σημασία έχει αυτά τα δύο να έχουν διαφορετικά URLs.

πχ
http://exampe.com/article/555
http://exampe.com/article/556

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από dimsis » 29 Φεβ 2008 11:03

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

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από skeftomilos » 29 Φεβ 2008 12:21

To session όπως δηλώνει το όνομά του έχει εμβέλεια user session, δηλαδή έναν αριθμό από διαδοχικά requests από τον ίδιο χρήστη, που χρονικά δεν απέχουν πολύ μεταξύ τους. Τυπικά χρησιμοποιείται για να κρατάει καλάθια αγορών και το logged-in state (αν και προσωπικά προτιμώ να αποθηκεύω τα καλάθια στη βάση για λόγους στατιστικής, και το logged-in state σε cookie για λόγους durability). Οι session variables όταν χρησιμοποιούνται για την εμβέλεια ενός μεμονωμένου request (request wide) αποτελούν σπατάλη μνήμης του server και γίνονται πιθανές αιτίες προγραμματιστικών σφαλμάτων. Είναι βασική αρχή στον προγραμματισμό να αποφεύγεται η δήλωση μεταβλητών με μεγαλύτερη εμβέλεια από όσο χρειάζεται.

Απόψεις για το Session:
- Session is evil
- Session considered harmful

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από dva_dev » 29 Φεβ 2008 19:51

Προσωπικά τη γλώσσα, αν την έχω σε επιλογές του χρήστη (σε κάποια database) την κρατάω στο session χωρίς να φαίνεται πουθενά, αλλιώς προτιμώ να την έχω στο url χωρίς να την αποθηκεύω πουθενά.
Αν δεν έχει δώσει ο χρήστης κάποια επιλογή του δείχνω την σελίδα σε μια προεπιλεγμένη γλώσσα και αν θέλει διαλέγει όποια άλλη είναι διαθέσιμη.
π.χ.
http://some_url?topic=12&lang=el
http://some_url?topic=12&lang=en

Αναρωτιέμαι όμως ποιά είναι η καλύτερη τακτική.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Πολυγλωσσικό site - επιλεγμένη γλώσσα

Δημοσίευση από cherouvim » 29 Φεβ 2008 19:57

Το personalization aspect του θέματος χειρίσου το όπως θέλεις (cookies, session, user prefs αποθηκευμένα σε database).
Το default language aspect του θέματος χειρίσου και αυτό όπως θέλεις (IP/host resolution, browser locale sniffing (???) κτλ).

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

Απάντηση

Επιστροφή στο “Γενικές ερωτήσεις κατασκευής ιστοσελίδων”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες