Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wielojęzyczność
Forum PHP.pl > Forum > Przedszkole
7furik7
Witam.
Przeglądnałem jakies 2 tys stron róznych formów, ale nic nie znalazłem.

Chodzi o to:
Mam stronę napisaną w mvc - chce do niej dodać wiele jezyków. nie chce tworzyć subdomen - chce żeby adres strony miał postać www.strona.pl/en/metoda/akcja1/akcja2 itp...

Rozpoznanie czy mamy ciasteczko czy sesjie i na tej podstawie ustawienie jezyka nie jest problemem. Pytanie jak to wkomponować w MVC.

Robie tak:
konfiguruje Apache tak aby $_GET[url] zwracało mi w podanym przykładnie : /en/metoda/akcja1/akcja2
dziele to funkcją explode
w routingu ustawiam jezyk, jako url[0], a potem pokolei wywołuje kontroler i funkcje.

pytanie teraz:
Jak najlepiej ułożyć strukture katalogów?
do tej pory robiłem tak, że mialem folder np. views/contact/, a wnim 2 pliki pl.contact.php o en.contact.php

w jaki sposób wywołać odpowiedni plik:
do tej pory wysyłałem do klasy widoku info o jezyku który miałem w sesji i na podstawie tego wczytywałem odpowiednią stronę.

pomijam narazie sprawę bazy danych.

jakby ktoś miał jakieś tutoriale czy porady to bardzo proszę.
nie wrzucam kodu bo tak wnim namiesząlem ze sam nie wiem co się dzieje.

Pozdrawiam
IProSoft
A nie myślałeś o tym aby użyć globalnie jakiś klasy/metod do tłumaczenia samych tekstów zamiast tworzyć osobne pliki dla każdego języka ?

Wystarczyło by wtedy wg ciastka wczytywać odpowiedni plik z tłumaczeniami lub tłumaczyć frazy w zależności jak byś to rozwiązał.

Spójrz np. na WP lub inne CMSy z opcją wielojęzyczności.
7furik7
No widzisz... mój problem chyba polega na tym że Cie nie rozumiem biggrin.gif

mogę użyć takiej klasy tylko jak ona miałaby wyglądać - załóżmy że mam tłumaczenie.

tworze klasę translate która
rozpoznaję jezęzyk,
rozpoznaje stronę do przetłumaczenia
prosi i dostaję tekst z pliku lub bazy dancy (?!)
wysyła go do controlera
kontroler wysyła ją do widoku i renderuje widok??

Męczy mnie brak wiedzy.
Dzięki za pomoc wink.gif

Pozdrawiam.




A jak już tak zrobię to co np. z pozycjonowaniem takiej strony? google nie zgłupieje?

Pozdrawiam.
sory za podbicie
Damonsson
Załóżmy, że mój kolega z chin podsyła mi fajny artykuł z Twojej strony, jak prześle mi link z /ch/ to będę musiał się męczyć i szukać jak zmienić na polski. Chociaż to może być też na plus, jak chcesz wyświetlać dokładnie w tym samym języku. Wszystko zależy od założeń.

Sama translacja z MVC nie ma nic wspólnego raczej, elementy strony puszczasz przez np. gettext, a treści w bazie dzielisz sobie zależnie od języka.

A w jakim języku ma się odpalić strona to identyfikujesz sobie przez http-accept-language czy podobne.
!*!
Cytat(Damonsson @ 16.05.2013, 10:04:35 ) *
Załóżmy, że mój kolega z chin podsyła mi fajny artykuł z Twojej strony, jak prześle mi link z /ch/ to będę musiał się męczyć i szukać jak zmienić na polski. Chociaż to może być też na plus, jak chcesz wyświetlać dokładnie w tym samym języku. Wszystko zależy od założeń.


Detekcja języka powinna być tylko na stronie głównej. Jak podeślą Ci link np. http://www.apple.com/fr/safari/ to jest on prawidłowy, bo strona może się różnić od tego w języku polskim.

Cytat
No widzisz... mój problem chyba polega na tym że Cie nie rozumiem


Tu masz opis jak to powinno mniej więcej wyglądać http://www.forum.legalne.info.pl/php-wielo...php-t34529.html
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.