Dodanie funkcji wykrywania języka do skryptu


(tweant) #1

Mam skrypt:

<?php

if ($_GET['lang']){

        setcookie('lang', $_GET['lang'], time()+12*2592000);

        };

if (!isset($_COOKIE['lang']) && !isset($_GET['lang'])){ setcookie('lang', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2), time()+12*2592000);}


function lang($zm){

      if (isset($_COOKIE['lang']) && !isset($_GET['lang'])) { 


             $tong = $_COOKIE['lang'];

      }

      elseif($_GET['lang']){ 

             $tong = $_GET['lang'];

      }

      else {

             $tong = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);

      };


        switch ($tong) {

        case 'en': $tong = 0; break;

        case 'ca': $tong = 1; break; //Kataloński - Catalan

        case 'nl': $tong = 2; break; //Dutch - Duński

        case 'sr': $tong = 3; break; //Serbian - Serbski

        case 'es': $tong = 4; break; //Spanish - Hiszpański

        case 'pt': $tong = 5; break; //Portuguese - Portugalski


        default: $tong = 0; break;

        };


      $lang = Array(

              'top_chang' => array('change language', 'canviar d\'idioma', 'andere taal', 'Промена језика', 'cambiar el idioma', 'mudar língua'),

              'top_gamev' => array('game version', 'versió del joc', 'versie', 'Верзија игре', 'versión de juego', 'versão do jogo'),

              'top_gamev_simp' => array('simple', 'simple', 'normaal', 'једноставан', 'simple', 'simples'),

              'top_gamev_beta' => array('beta', 'beta', 'beta', 'бета', 'beta', 'beta'),

              'mid_windo_enla' => array('enlarge', 'ampliar', 'maximaliseer', 'увећање', 'aumentar', 'ampliar'),

              'mid_windo_game' => array('game', 'joc', 'spel', 'Игра', 'juego', 'jogo'),

              'mid_windo_chat' => array('chat', 'xat', 'chat', 'Чет', 'chat', 'chat'),

              'mid_opennewwindow' => array('open chat in new window', 'obrirà una nova finestra', 'åbne i nyt vindue', 'отварају у новом прозору', 'abrirá una nueva ventana', 'abrir em nova janela'),

              'bottom_by' => array('by', 'per', 'door', 'од', 'por', 'por'),


      );

     return $lang[$zm][$tong];


};

?>

Skrypt działa fajnie. Gdy zmienię język zmienna zapisuje sie w cookie i przy następnym włączeniu wyświetla się wcześniej wybrany język. Ale chciałbym dodać funkcję, aby sprypt wykrywał język na podstawie języka przeglądarki jeśli na stronę użytkownik wchodzi po raz pierwszy. Jak takie coś zrobić?