Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]Aplikacja wielojęzykowa
Forum PHP.pl > Forum > PHP > Frameworki
sweter
Witam,
projektuję web aplikację wykorzystując Zend Framework'a. Chcę, aby istniała możliwość edycji, tworzenia i usuwania różnych wersji językowych strony. Poczytałem trochę o klasie Zend_Translate i myślę, że w moim przypadku najwygodniej było by mi zaprząc do pracy pliki .ini.
Identyfikator obecnie wybranego języka byłby przechowywany w zmiennej sesyjnej.
Jednak pojawiają się komplikacje z linkami. Mianowicie nie wiem jak zrobić obsługę takiej postaci linku:
Cytat
adres_strony/język/kontroler/akcja/parametry

Gdzie językiem były by oczywiście skróty 'en', 'pl', 'de' itp.
Chciałbym też, żeby po wejściu na stronę przez link, w którym nie byłoby wartości odpowiedzialnej za język, zostałby on pobierany z sesji lub brany byłby domyślny (np. pl).
Jak takiego czegoś dokonać? Proszę o jakieś wyjaśnienie, wskazówki lub linki i z góry bardzo dziękuję za okazaną pomoc.
skowron-line
A dlaczego chcesz w każdym linku umieszczać informację o tym jaki jest język questionmark.gif
Na początku daj sobie default np. PL do sesji a dopiero jak ktoś zmieni to zmieniasz w sesji.
sweter
No dobra, w sumie mogę zrobić tak jak mówisz, ale chciałbym, żaby można było od razu wybrać sobie języka adresem.

Przykładowo:
domyślnie ustawiony jest język polski.
User pierwszy raz zagląda na stronę, pod linkiem adres/en/kontroler/akcja i chcę, aby w sesji był już ustawiony dla niego język angielski (zakładam, że takowy jest zdefiniowany).

Jak wyłapać co jest w linku przed /kontroler/akcja?
Powiem szczerze, że plik .htaccess Zenda z katalogu ./public jest dość "ubogi" smile.gif W którym miejscu aplikacji mogę zdefiniować sobie zmiany adresów?
skowron-line
Możesz sobie na samym początku sprawdzić czy jest wysłana w adresie zmienna odpowiadająca za zmianę języka i zmieniać.

Czyli, user wpisuje w pasek adresu
domena.pl -> język domyślny.
domena.pl/en ->zmienia od razu na angielski
domena.pl/en/kontroller -> zmienai na angielski

Cytat
Powiem szczerze, że plik .htaccess Zenda z katalogu ./public jest dość "ubogi" smile.gif W którym miejscu aplikacji mogę zdefiniować sobie zmiany adresów?

Za to odpowiada klasa Route i tam powinieneś sobie zdefiniować szablon adresów.
coś ala
Kod
adres/([jezyk] opcjonalnie)/kontroller/akcja

a jak dokładnie to musisz poszukać w guglu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.