Elxis CMS Forum

Ελληνικό Forum => Γλώσσες - Πολυγλωσσία => Topic started by: akisp on March 26, 2010, 12:52:18

Title: Όνομα Γλώσσας (English/Ελληνικά) trick
Post 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 είναι αυτό που πρέπει να αλλάζετε κάθε φορα).
Title: Re: Όνομα Γλώσσας (English/Ελληνικά) trick
Post by: datahell on March 26, 2010, 13:43:25
Το καλύτερο είναι να φτιάξεις μία συνάρτηση που θα επιστρέφει την φυσική ονομασία μίας γλώσσας.

Παράδειγμα:

Code: [Select]
<?php
function getnativelang($lng) {
    switch (
$lng) {
case &#39;english&#39;: return &#39;English&#39;; break;
case &#39;greek&#39;: return &#39;Ελληνικά&#39;; break;
case &#39;italian&#39;: return &#39;Italiano&#39;; break;
case &#39;spanish&#39;: return &#39;Español&#39;; break;
case &#39;german&#39;: return &#39;Deutsch&#39;; break;
default: return $lng; break;
}
}
?>

Και τη χρησιμοποιείς όπου θες έτσι:

getnativelang($langx);