Elxis CMS Forum
Ελληνικό Forum => Γλώσσες - Πολυγλωσσία => Topic started by: akisp on March 26, 2010, 12:52:18
-
Ένα trick για να εμφανίζετε τις γλώσσες με την ονομασία τους στην μητρική γλώσσα και όχι στα αγγλικά:
English -> English
Greek -> Ελληνικά
κ.λπ.
Η εύκολη λύση
...σε περίπτωση που η εμφάνιση είναι σε dropdown λίστα
Αρχείο modules/mod_language.php γραμμή 237
if ($langx == $lang) { echo ' selected="selected"'; }
Προσθέτουμε αμέσως από κάτω:
if ($langx == 'greek') { $langx = 'Ελληνικά'; }
κ.ο.κ.
Έτσι έχουμε
foreach ($frLangs as $langx) {
echo '<option value="'.$langx.'"';
if ($langx == $lang) { echo ' selected="selected"'; }
if ($langx == 'greek') { $langx = 'Ελληνικά'; }
echo '>'.$langx.'</option>'._LEND;
}
Για τις υπόλοιπες περιπτώσεις κάνετε τα αντίστοιχα... (το $langx είναι αυτό που πρέπει να αλλάζετε κάθε φορα).
-
Το καλύτερο είναι να φτιάξεις μία συνάρτηση που θα επιστρέφει την φυσική ονομασία μίας γλώσσας.
Παράδειγμα:
<?php
function getnativelang($lng) {
switch ($lng) {
case 'english': return 'English'; break;
case 'greek': return 'Ελληνικά'; break;
case 'italian': return 'Italiano'; break;
case 'spanish': return 'Español'; break;
case 'german': return 'Deutsch'; break;
default: return $lng; break;
}
}
?>
Και τη χρησιμοποιείς όπου θες έτσι:
getnativelang($langx);