βαση δεδομένων για πολυγλωσσικο site

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από quit » 29 Ιουν 2011 01:02

καλησπέρα παιδια, δεν ξερω αν έχετε συζυτήσει κάτι αντίστοιχο αλλά αυτό που θέλω να με ενημερώσετε είναι το πώς θα φτιάξω την βαση μου για ένα πολυγλωσσικό site το οπόιο θα ενημέρωνεται δυναμικά από τον διαχειριστή της εφαρμογης. η πρόταση αφορα μια κατασκευαστική εταιρια σε 3 γλώσσες. αυτο που ζηταω είναι μια καθοδήγηση για το πως θα στησω την βαση μου.
ευαριστώ πολύ

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από mrpc » 29 Ιουν 2011 03:02

Ρίξε αρχικά μια ματιά εδώ: http://www.freestuff.gr/forums/viewtopic.php?t=56714 στο οποίο υπάρχουν αρκετές απόψεις. Γενικά το θέμα έχει συζητηθεί αρκετά αν κάνεις μια αναζήτηση. Αν δεν βγάλεις άκρη βέβαια, πες μας που κόλλησες και θα σε βοηθήσουμε :)

quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από quit » 29 Ιουν 2011 11:31

έχω διαβασει το παραπάνω Post αλλα κάτι δεν μου κάθεται καλά. Για να γίνω πιο συγκεκριμένος θελω να φτιάξω ένα control panel για μια κατασκευαστική. Επειδή θα είναι σε 3 γλώσσες θα πρέπει να περνάω τα δεδομένα σε 3 διαφορετικούς πίνακες έναν πίνακα για κάθε γλώσσα για κάθε ακίνητο?

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από korgr » 29 Ιουν 2011 12:18

Δημιούργησε

1. ένα πίνακα `languages` πχ

id, language_title
--------------------
1, 'Ελληνικά'
2, 'Αγγλικά'
3, 'Γερμανικά'

2. ένα πίνακα `items` που θα αποθηκεύεις τα μη πολυγλωσσικά δεδομένα του ακινήτου

3. ένα πίνακα `translations_items` που θα αποθηκεύεις τα πολυγλωσσικά δεδομένα του ακινήτου

Μετά στον πίνακα `translations_items` που έχεις τις μεταφράσεις σε όλες τις γλώσσες, η εγγραφή για ένα ακίνητο (πχ για το ακίνητο με id=45) θα είναι κάπως έτσι:

id, title, description, langID, itemID
-----------------------------------------------------
145, 'ελληνικός τίτλος', 'ελληνική περιγραφή', 1, 45
146, 'αγγλικός τίτλος', 'αγγλική περιγραφή', 2, 45
147, 'γερμανικός τίτλος', 'γερμανική περιγραφή', 3, 45

Μετά από την επιλογή της γλώσσας θα αποθηκεύει σε session το id της επιλεγμένης γλώσσας.
Πχ για αγγλικά:

Κώδικας: Επιλογή όλων

session_start();
$_SESSION['langID'] = 2;
και το query κάπως έτσι για να πάρεις τα αγγλικά του ακινήτου με id 45:

Κώδικας: Επιλογή όλων

$langID = $_SESSION['langID']; // η επιλεγμένη γλώσσα...
$itemID = (int)$_GET['itemID']; // ας υποθέσουμε πως είναι 45...

$q = "select * from `items`, `translations_items` 
where items.id='$itemID' and 
items.id=translations_items.itemID and 
translations_items.langID='$langID'";

$result = mysql_query($q) or die(mysql_error());

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από pimpogio » 29 Ιουν 2011 12:31

ετσι να το κανεις αλλα να παιρνεις το langID
απο session δεν ειναι σωστο για ευνοητους λογους..

πρεπει να το παιρνεις με GET η εσωτερικα στην εφαρμογη με καποιο unique permanlink πεδιο απο στον πινακα translations_items

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από korgr » 29 Ιουν 2011 13:21

pimpogio έγραψε:ετσι να το κανεις αλλα να παιρνεις το langID
απο session δεν ειναι σωστο για ευνοητους λογους..

πρεπει να το παιρνεις με GET η εσωτερικα στην εφαρμογη με καποιο unique permanlink πεδιο απο στον πινακα translations_items

Κώδικας: Επιλογή όλων

$langID = (int)$_SESSION['langID']; // η επιλεγμένη γλώσσα... 
Έτσι είσαι ικανοποιημένος pimpogio?
Αν όχι ανάλυσέ το σε παρακαλώ....

Άβαταρ μέλους
burnmind
Script Master
Δημοσιεύσεις: 954
Εγγραφή: 26 Σεπ 2009 02:14
Τοποθεσία: UK
Επικοινωνία:

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από burnmind » 29 Ιουν 2011 13:55

@korgr: Λογικά θέλει να πει πως δε θα υπάρχει κάποιο url που να μπορείς πχ να το κάνεις bookmark με τη συγκεκριμένη γλώσσα.

Για παράδειγμα, έχεις το http://site.com/article.php?id=1, το οποίο αν δεν υπάρχει το $_SESSION['langID'] θα εμφανίζεται λογικά σε μία default γλώσσα, ας πούμε Ελληνικά. Αν κάποιος το βλέπει στα Αγγλικά τότε δε μπορεί να το κάνει bookmark, καθώς αν μπει αφότου έχει λήξει το session θα το δει στα Ελληνικά. Κάτι που μπορείς να κάνεις αν το περνάς στο url: http://site.com/article.php?id=1&lang=en.

pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από pimpogio » 29 Ιουν 2011 14:55

επισης αν καποιος δεν εχει cookies δεν θα μπορει να αλλαξει γλωσσα..
πχ μερικα bots οι καποιοι που τα εχουνε μπλοκαρει..
τα sessions ειναι για αλλη δουλεια οπως ταυτοποιηση χρηστη..
Αν και κατα τη γνωμη που παραμετρος γλωσσας δεν πρεπει καθολου να υπαρχει στο url..
μπορεις να την παιρνεις απο τον πινακα translations_items

quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από quit » 29 Ιουν 2011 15:31

παιδιά σας ευχαριστώ πολύ για τις απαντήσεις σας.

quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από quit » 29 Ιουν 2011 15:45

να σας ρωτησω και κατι ακόμα,
στην φορμα αποθήκευσης για παράδειγμα ενός ακινήτου τι προτείνετε να φτιαξω μια φόρμα που με το παταω αποθήκευση να τα αποθηκεύει όλα τα πεδία του ακινήτου σε ολές τις γλώσσες ή διαφορτικές φόρμες για κάθε γλώσσα?

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από mrpc » 29 Ιουν 2011 16:10

Αυτό είναι θέμα του τι θεωρείς πιο βολικό για το user interface σου...

quit
Δημοσιεύσεις: 147
Εγγραφή: 09 Δεκ 2008 11:54

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από quit » 29 Ιουν 2011 16:49

βασικά δεν θέλω να είναι βολικό για μένα αλλά για έναν οποιονδήποτε ανιδεο χρήστη του διαδικτύου. Για αυτό σας ρωτάω μήπως εσεις έχετε διαπιστώσει πιο είναι πιο εύχρηστο στην πράξη από τους πελάτες σας.

Άβαταρ μέλους
cn92
Δημοσιεύσεις: 232
Εγγραφή: 25 Ιαν 2008 19:00
Τοποθεσία: Γλυφαδα
Επικοινωνία:

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από cn92 » 29 Ιουν 2011 16:54

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

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από mrpc » 29 Ιουν 2011 16:55

Η λογική που μου αρέσει εμένα είναι η εξής:
Έχεις όλα τα πεδία σε μια default γλώσσα. Ανάλογα με τις ανάγκες του project, αν δεν συμπληρώσει ο διαχειριστής άλλη γλώσσα, είτε τα πεδία μένουν κενά, είτε αντιγράφονται από την default γλώσσα (οπότε π.χ. by default όλα τα κείμενα υπάρχουν στα Αγγλικά).
Από εκεί και πέρα, στο user interface, βάζω π.χ. ένα textarea επεξεργασίας κειμένου στην default γλώσσα, και από κάτω τα σημαιάκια των άλλων γλωσσών. Αν ο διαχειριστής κάνει κλικ σε άλλο σημαιάκι, μέσω javascript κρύβω το textarea της default γλώσσας και εμφανίζω της γλώσσας που επέλεξε ο χρήστης.
Έτσι ουσιαστικά υπάρχουν όλα στην ίδια σελίδα, αλλά χωρίς να κουράζουν.

Άβαταρ μέλους
Khronos
Δημοσιεύσεις: 754
Εγγραφή: 11 Δεκ 2006 14:43
Τοποθεσία: Ηράκλειο

βαση δεδομένων για πολυγλωσσικο site

Δημοσίευση από Khronos » 29 Ιουν 2011 17:46

http://jqueryui.com/demos/tabs/

Ένα tab για τα κοινά properties και ένα tab για κάθε γλώσσα.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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