Ignore:
Timestamp:
Feb 17, 2011, 5:50:37 PM (13 years ago)
Author:
mistic100
Message:

[extensions] PHP Optimisateur

  • change language management
  • correct english and letton language file
File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/PHP_Optimisateur/include/functions.php

    r9201 r9265  
    2222        while ($file = readdir($dh)) {
    2323                if ($file !== '.' && $file !== '..' && is_dir('language/'.$file)) {
    24                         $languages[] = $file;
     24                        $name = (file_exists('language/'.$file.'/'.$file.'.txt')) ? file_get_contents('language/'.$file.'/'.$file.'.txt') : $file;
     25                        $languages[$file] = $name;
    2526                }
    2627        }
     
    2930        // recherche du paramètre get ou session, ou langue du navigateur
    3031        if (isset($_GET['Lang'])) {
    31                 $_SESSION['Lang'] = $_GET['Lang'];
    32         } else if (!isset($_SESSION['Lang']) OR $_SESSION['Lang'] == NULL) {
    33                 $_SESSION['Lang'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
    34         }
    35         if (!in_array($_SESSION['Lang'], $languages)) {
    36                 $_SESSION['Lang'] = 'en';
    37         }
    38 
     32                $user_lang = $_GET['Lang'];
     33        } else if (isset($_SESSION['Lang']) AND $_SESSION['Lang'] != NULL) {
     34                $user_lang = $_SESSION['Lang'];
     35        } else {
     36                $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
     37        }
     38       
     39        // si langue navigateur cherche une correspondance dans la tableau
     40        if (strlen($user_lang) == 2) {
     41                foreach (array_keys($languages) as $lang) {
     42                        if ($user_lang == substr($lang,0,2)) {
     43                                $user_lang = $lang;
     44                                break;
     45                        }
     46                }
     47        }
     48       
     49        // si pas de correspondance OU get faux, langue par défaut
     50        if (!in_array($user_lang, array_keys($languages))) {
     51                $user_lang = 'en_UK';
     52        }
     53       
     54        $_SESSION['Lang'] = $user_lang;
    3955        return array('user_lang' => $_SESSION['Lang'], 'languages' => $languages);
    4056}
     
    244260                include('plugins/'.$plugin_id.'/lang/'.$CONF['user_lang'].'.php');
    245261        } else {
    246                 include('plugins/'.$plugin_id.'/lang/en.php');
     262                include('plugins/'.$plugin_id.'/lang/en_UK.php');
    247263        }
    248264}
Note: See TracChangeset for help on using the changeset viewer.