Wykryto działanie AdBlocka!

Prawdopodobnie masz właczonego Adblocka. Korzystanie z bloga jest całkowicie darmowe. Jeśli jednak chcesz docenić prace autora, wyłacz blokowanie reklam dla tej witryny, aby jeszcze bardziej zmotywowac autora do dalszej pracy oraz częstszej publikacji artykułów.

Dziękuje :)

Treść główna bloga

Artykuły

lang.class.php, czyli wielojęzyczne strony internetowe


Wielojęzykowa stronaTworząc stronę internetową musimy zadać sobie pytanie, czy naszą witrynę będą odwiedzać tylko osoby znające język polski czy też obcokrajowcy, chcący skorzystać z usług firmy, dla której przykładowo tworzymy witrynę internetową. Na stronach wielu znanych firm mamy możliwość wyboru języka w jakim ma zostać wyświetlona strona. Takie rozwiązanie znacznie ułatwia nawigację po stronie internetowej osobom zainteresowanym produktami lub usługami danej firmy lub instytucji.


Kod na Githubie

W przypadku rozbudowanych stron internetowych, które zostały stworzone przy użyciu frameworków takich jak: Zend Framework czy też Symfony
tworzenie wielojęzycznych serwisów jest znacznie utrudnione poprzez narzucony sposób budowania aplikacji webowej. Jednak dzięki niezwykle dużej społeczności programistów korzystających z tych frameworków mamy możliwość szybkiego znalezienia odpowiedniego modułu i dostosowania go do swoich potrzeb.

Inaczej sprawa ma się gdy tworzymy stronę bez użycia frameworków. Wtedy znacznie lepiej skorzystać z klasy, która została stworzona aby w prosty sposób umożliwić tworzenie wielojęzycznych stron. Skrypt taki idealnie nadaje się do statycznych stron, nie mniej jednak znajdzie również zastosowanie przy budowaniu dynamicznych witryn.

Struktura plików:

  • index.php
  • lang.class.php
  • langs/
    1. en.lang.php
    2. pl.lang.php
  • template/
    1. index.php
    2. style.css

Kod klasy:

Jak widać w powyższym kodzie klasa zawiera 5 metod w tym 3 prywatne.

Kod index.php

Plik główny index.php zawiera kilka ustawień typu: jakie błędy mają być wyświetlane, sprawdzenie wersji PHP czy też ustawienie typu kodowania znaków(UTF-8).
Główną częścią jest załadowanie pliku z klasą, utworzenie nowego obiektu klasy oraz sprawdzenie czy istnieje zmienna $_GET[‚lang’]. Jeśli zmienna ta istnieje zostaje ustawiony nowy język.

Plik template/index.php

Przykładowy dokument HTML. Aby móc używać naszej klasy w folderze langs/ musi istnieć chociaż jeden plik z językiem. Dane z pliku z językiem wyświetlamy za pomocą lang::$lang[index], gdzie index to numer danego elementu tablicy. W tym pliku widzimy również zmienną $result. Nie jest ona wymaga. Wyświetla ona błędy, np. Brak podanego języka czy też błąd podczas parsowania pliku z rozszerzeniem *.lang.php.

Plik langs/pl.lang.php

Plik zawiera tablicę z danymi, które mają wyświetlić się na stronie www. Ponadto nic nie stoi na przeszkodzie aby używać tablic, np. do wyświetlania menu w różnych językach.

Dodatkowe informacje:
– Domyślnym językiem jest język polski. Ustawienie to można zmienić w pliku lang.class.php, odpowiada za to właściwość private $defaultLang. Podczas zmiany domyślnego języka MUSI istnieć plik z danym językiem w folderze langs/,
– Klasa korzysta z ciastek(cookies) do obsługi danego języka,
– Aby dodać nowy język trzeba dodać: nowy plik w folderze langs/ oraz link do nowego języka w pliku tempate/index.php