PHP/Internacjonalizacja: Różnice pomiędzy wersjami
Usunięta treść Dodana treść
dokończenie |
uzupełnienia końcowe |
||
Linia 24:
Pierwsze dwa identyfikatory (''pl_PL'' oraz ''pl'') dotyczą systemu Linux. Trzeci przeznaczony jest dla rodziny Windows. Listę aktualnie zainstalowanych ustawień można znaleźć w ''Panel sterowania → Opcje regionalne → Zaawansowane''.
{{Uwaga|Funkcja ''setlocale()'' wpływa także na formatowanie liczb zmiennoprzecinkowych, co może być zgubne w skutkach podczas pracy z bazami danych! Dokładne omówienie tego problemu znajdziesz w dalszych rozdziałach.}}
=== Polska data ===
Linia 38 ⟶ 40:
?></nowiki>
Po uruchomieniu okazuje się, że nawet ten skrypt nie jest doskonały, ponieważ wprawdzie generuje spolszczoną datę, ale niepoprawną gramatycznie! Otrzymujemy komunikat np. ''17 kwiecień 2006'', a tymczasem poprawną formą jest ''17 kwietnia 2006''. W niuanse gramatyczne wgłębiać się nie będziemy - po prostu jest tak, a nie inaczej i
<nowiki><?php
Linia 106 ⟶ 108:
Teraz otrzymujemy prawidłowy tekst: ''17 kwietnia 2006''.
Oto kilka przydatnych kodów dla funkcji ''strftime()'':
* '''%A''' - pełna nazwa dnia tygodnia.
* '''%B''' - pełna nazwa dnia miesiąca.
* '''%d''' - numer dnia miesiąca (od 1 do 31)
* '''%H''' - godzina w formacie 24-godzinnym
* '''%m''' - numer miesiąca (od 1 do 12)
* '''%M''' - minuta
* '''%S''' - sekunda
* '''%T''' - aktualny czas (równoważnik '''%H:%M:%S''')
* '''%Y''' - rok jako liczba czterocyfrowa
* '''%%''' - znak '''%'''
Więcej kodów można znaleźć na [http://www.php.net/strftime stronie dokumentacji PHP].
=== Wielojęzyczny interfejs ===
Linia 185 ⟶ 203:
Na początku ładujemy naszą bibliotekę i wybieramy język. Później wczytujemy grupę i wyświetlamy komunikaty. To wszystko - jesteśmy posiadaczami wielojęzycznego interfejsu. Pamiętaj, że jest to tylko przykładowy kod. Aby był on w pełni sprawny, powinieneś umożliwić użytkownikowi zmianę języka, a także zadbać o prawidłową obsługę błędów. Zwróć też uwagę, że dane obecnego systemu przechowywane są w tablicach globalnych. Nie jest to rozwiązanie najlepsze, ale na tym etapie wiedzy powinno nam wystarczyć. Kiedy poznamy programowanie obiektowe, będziesz mógł przepisać ten kod z jego wykorzystaniem, dzięki czemu zyska on na elegancji i bezpieczeństwie.
Do PHP można doinstalować także uniksowy moduł do obsługi wielojęzycznych interfejsów o nazwie ''gettext''. Korzystanie z niego jest jednak dość ryzykowne, ponieważ wiele serwerów nie obsługuje go i aplikacje oparte o ten moduł nie będą działać.
=== Automatyczna detekcja języka ===
|