Loading:


    Zmiana Języka Strony + Cookie

    Witam, przedstawię dziś prosty i funkcjonalny skrypt zmiany języka strony w php.

     

    Kod skryptu zalecam dodać w górze strony zapisanej w .php oraz umieszczeniu linków zmiany języka w widocznym miejscu strony.

     

    Nowe zmienne (czyli słowa, zdania itp.) dodajemy jak za pomocą przykładu i wyświetlamy w danym miejscu za pomocą: <?php echo lang('nazwa/zmienna'); ?>

     

    To teraz czas na kod - można oczywiście zmienić czas trzymania cookie, który jest na początku kodu.



    Napisz Artyku³

    Listing

    <?php
    /*
    Autor Skryptu:          Mexis
    Przykłady i Pomoc:     Adi13089
    */


    //-------------I: Zapisywanie i Sprawdzanie------------------

    ///////////////////////////////////////
    // godzina - time()+3600
    // dzień - time()+86400
    // miesiąc - time()+30*86400
    // około dwóch lat - time()+24*2592000
    ///////////////////////////////////////
    if ($_GET['lang']){ //jeśli wybrano zmianę języka, aktualizuje ciastko.
            setcookie('lang', $_GET['lang'], time()+24*2592000);
            };
    if (!isset($_COOKIE['lang']) && !isset($_GET['lang'])){ setcookie('lang', substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2), time()+24*2592000);}

    function lang($zm){
          if (isset($_COOKIE['lang']) && !isset($_GET['lang'])) { //sprawdzamy czy osoba posiada cookie LANG i czy nie wysłano polecenia zmiany języka. Jeśli się zgadza to ustawiamy zmienną na zawartość cookie.
                    $j = $_COOKIE['lang'];
            }
            elseif($_GET['lang']){ //jeśli wykonano polecenie zmiany, robimy ją bez potrzeby odświeżania
                    $j = $_GET['lang'];
            } else {  //jeżeli dokonano wcześniej zmiany
                 $j = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
    };
    //------------II: Dostępne Języki------------------
            switch ($j) {
            case 'pl': $j = 0; break;
            case 'en': $j = 1; break;
            case 'de': $j = 2; break;
    //dodawanie kolejnych języków: case '#skrot#': $j = #numer#; break;

            default: $j = 0; break;
            };
    //------------III: Zmienne (słowa, zdania itp.) dla Języków------------------
    $jezyk  = Array(
    'nazwa' => array('pl', 'en', 'de'),

    // przykład
    'zmien_jezyk' => array('Zmiana Języka', 'Change Language', 'Sprache ändern'),

    //'nazwa' => array('pl', 'en', 'de'),//
          );
         return $jezyk[$zm][$j];

    };
    ?>

    <div>
    <?php /* wyswietlamy zmienną dla danego języka */ echo lang('zmien_jezyk') ?><a href="&lang=en" >English</a> | <a href="&lang=pl">Polski</a> | <a href="&lang=de">Deutsch</a>
    </div>

    <div style="width: 300px; border-top:1px solid red; margin-top: 20px;">Kontrolka:
    <?php
    echo '<br />';
    echo 'Aktualny Język:<b> '.substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2).'</b>';
    echo '<br />';
    if (isset($_COOKIE['lang'])) {echo 'Od: '.$_COOKIE['lang'].'<br />';};
    ?>
    </div>




    Dodano przez: mexis Ranga: 0 Punktów: 0
    Komentarze użytkowników
      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors