Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CodeIgniter][CI] Problem z obsługą języków
Forum PHP.pl > Forum > PHP > Frameworki
Matey
Witam kolegów...

Zgłębiam aktualnie CodeIgnitera wszystko toczyło się gładko do czasu go chciałem wprowadzić obsługę wielu języków. Zainstalowałem potrzebne biblioteki rozszerzajcie podstawowe funkcje - chodzi tu o obsługę języków w domenie. I teraz napotkałem taki problem -> CI nie rozpoznaje jezyka automatycznie... ominąłem to stosując w kontrolerze...
  1.  
  2. #sprawdzam język ustwiony
  3. echo $jez_ustawiony = $this->lang->lang();
  4.  
  5. #instancja obiektu
  6. $ci=& get_instance();
  7.  
  8. #pobieram adres url
  9. echo $uri = $ci->uri->uri_string();
  10.  
  11. #rozszerzyłem nieco tą metodę i zwraca mi język z url
  12. echo $jezyk = $this->lang->has_language($uri, TRUE);
  13.  
  14. #zmiana w przypadku różnicy
  15. if($jezyk != $jez_ustawiony)
  16. {
  17. $this->config->set_item('language', $jezyk);
  18. }


To tylko obiegniecie problemu ... bo CI z owymi bibliotekami powinien wykrywać język "sam" czy nie mam racji ? Niestety nie bardzo mogę go do tego skłonić...
Dodatkowo czy można jakoś w prosty sposób generować linki do tej samej treści z zmienionym członem językowym ?

Proszę o pomoc lub kontakt użytkowników z doświadczeniem w CI
Pozdrawiam
adbacz
Piszesz o "obsłudze języków w domenie". Co rozumiesz przez to pojęcie?

Z tego co wiem, to mozna na kilka sposobów to rozwiązać. Np, zrobic własny, główny kontroler, po którym będziemy dziedziczyć wszystkie mniejsze i w nim w konstruktorze sprawdzać jaki język obsługuje przeglądarka użytkownika. Można też w tym kontrolerze sprawdzać adres URI, czy w odpowiednim miejscu (to już zależy od Ciebie) znajduje się skrót językowy. Np. pl.strona.com | en.strona.com LUB strona.com/pl | strona.com/en

Wszystko zależy od tego, jak sobie to wszystko rozpracujesz i jak Ci będzie łatwiej dostosować do swojego projektu.

Mam nadzieje, że o takie coś Ci chodziło, jeśli nie to napisz proszę bardziej konkretnie o co.
Matey
Dziękuje pomogłeś mi bardzo. smile.gif Pozdrawiam!
vvolv
Co do obsługi po adresie to polecam to http://codeigniter.com/wiki/URI_Language_Identifier/
Idąc dalej osobiście nie zalecam ustawiać języka na ten ustawiony w przeglądarce. Lepszym rozwiązaniem jest wyświetlenie jakiegoś panelu z wyborem języka i zapisanie tego np.: w cookie.
Matey
Napisałem mała biblioteke która pobiera jezyk z url i ustawia jezyk globalny na tej podstawie. Chciałem się tylko skonsultować. Dziękuję bardzo smile.gif
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.