Πρόβλημα στη μετάφραση open source προγράμματος στα ελληνικά

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

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

Απάντηση
chrismfz
Δημοσιεύσεις: 14
Εγγραφή: 27 Νοέμ 2004 19:00

Πρόβλημα στη μετάφραση open source προγράμματος στα ελληνικά

Δημοσίευση από chrismfz » 24 Οκτ 2008 19:46

Έχοντας λίγες γνώσεις πάνω σε PHP θέλω να κάνω την ελληνική μετάφραση
ενός αγγλικού script.

O ...κατασκευαστής προνόησε και όλες οι λέξεις είναι σε ένα πίνακα
SQL σε μία μορφή του στυλ:

login, Login
logout, Logout
κ.ο.κ....

προσπαθώντας να αρχίσω τη μετάφραση είδα οτι ενώ μέσα στο phpMyAdmin όλα
φαίνονται κανονικά, στο output στην PHP όλα φαίνονται σαν αγγλικά ερωτηματικά. (????)

Στο πίνακα της SQL είναι κάπως έτσι τώρα:
login, Είσοδος
logout, Έξοδος

και φαίνονται οι λέξεις κανονικά γραμμένες στα ελληνικά από το phpMyAdmin
αλλα όταν βλέπω τη σελίδα, φαίνονται τόσα ερωτηματικά (?) όσα είναι τα γράμματα
της κάθε λέξης.

Δοκίμασα να βάλω στο meta charset της εξόδου μια UTF μια iso-8859-7
αλλά συνεχίζει το ίδιο πρόβλημα... Στα forums της mysql ένας που είχε το
ίδιο πρόβλημα του απάντησαν και λύθηκε με το set names greek. Το οποίο
δεν ξέρω τι κάνει ούτε που μπορώ να το χρησιμοποιήσω κάπου επίσης διάβασα
ότι μπορεί να γίνει με τα utf8_encode() και php utf8_decode() τα οποία πάλι
δεν ξέρω πως να χρησιμοποιήσω σωστά...

Παραθέτω και το κομμάτι κώδικα που "μάλλον" ευθύνεται και αυτό καλεί τη γλώσσα.

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

function SA_loadLanguage($lang)
{
  global $dtext, $userlink;
  $tt_name = "tt_" . $lang;
  $sql_query = "SELECT * FROM " . $tt_name;
  $sql_result = mysql_query($sql_query,$userlink);
  if($sql_result)
  {
    for&#40;$r=0;$r<mysql_num_rows&#40;$sql_result&#41;;$r++&#41;
    &#123;
      $dtext&#91;mysql_result&#40;$sql_result,$r,'short'&#41;&#93; = mysql_result&#40;$sql_result,$r,'full'&#41;;
    &#125;
    $_SESSION&#91;'dtext'&#93; = $dtext;
    $_SESSION&#91;'currentlanguage'&#93; = $lang;
  &#125;
  else
   echo&#40;"Failed to load texts to display"&#41;;
&#125;

Όπου υπάρχει λέξη μέσα στο output υπάρχει στο κώδικα ενα
$dtext['login'] για παράδειγμα... Και θα εμφάνιζε τη συγκεκριμένη λέξη
που θα έβρισκε στο πίνακα. Η οποία πχ αν είναι eisodos την εμφανίζει.
Αν την αλλάξω σε ελληνικά "Είσοδος" παίρνω στο output ερωτηματικά...

Οπότε κάτι αν κατάλαβα σωστά, έχει πρόβλημα με αυτό..

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

Πρόβλημα στη μετάφραση open source προγράμματος στα ελληνικά

Δημοσίευση από korgr » 24 Οκτ 2008 21:48

Για δοκίμασε έτσι μήπως και το σώσεις

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

function SA_loadLanguage&#40;$lang&#41;
&#123;
  global $dtext, $userlink;
  $tt_name = "tt_" . $lang;
  mysql_query&#40;"SET CHARACTER SET utf8"&#41;;
  $sql_query = "SELECT * FROM " . $tt_name;
  $sql_result = mysql_query&#40;$sql_query,$userlink&#41;;
  if&#40;$sql_result&#41;
  &#123;
    for&#40;$r=0;$r<mysql_num_rows&#40;$sql_result&#41;;$r++&#41;
    &#123;
      $dtext&#91;mysql_result&#40;$sql_result,$r,'short'&#41;&#93; = mysql_result&#40;$sql_result,$r,'full'&#41;;
    &#125;
    $_SESSION&#91;'dtext'&#93; = $dtext;
    $_SESSION&#91;'currentlanguage'&#93; = $lang;
  &#125;
  else
   echo&#40;"Failed to load texts to display"&#41;;
&#125;


chrismfz
Δημοσιεύσεις: 14
Εγγραφή: 27 Νοέμ 2004 19:00

Πρόβλημα στη μετάφραση open source προγράμματος στα ελληνικά

Δημοσίευση από chrismfz » 24 Οκτ 2008 22:03

Δεν το έσωσα...


Απο μεριάς html έχω βάλει με το χέρι στο κώδικα αυτό:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Και απο sql επίσης έχω βάλει charset utf8 και collation utf_general_ci

και όταν γράφει δεδομένα σε ελληνικά έχω φροντίσει να τα γράφει κάπως
έτσι:
UPDATE `db`.`tt_greek` SET `full` = 'ΕΙΣΟΔΟΣ' WHERE CONVERT( `tt_greek`.`short` USING utf8 ) = 'login_title' LIMIT 1 ;

ωστε να τα κάνει utf8 αλλα πάλι τίποτα...
Εκανα και την αλλαγή που μου έιπες, αλλά δεν σώθηκε....

Απάντηση

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

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

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