Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Algorytm do wersji językowej, konsultacje
daves
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 29.10.2005

Ostrzeżenie: (0%)
-----


Witam,

Chcę się z wami skonsultować i usłyszeć opinie nt. mojego rozwiązania.

Tworzę system wielojęzyczny przy użyciu Zenda i szablonów SMARTY.
Najważniejszym założeniem z jakiego wyszedłem był globalny dostęp do danych językowych ale przy założeniu, że czynności związane z odczytaniem odpowiedniego tekstu będą możliwie zminimalizowane.
Chcąc stworzyć automatyczny system wielojęzyczny zastosowałem takie oto rozwiązanie.
- Stworzyłem klasę w pełni statyczną, którą inicjuję już w samym bootstrapie i inicjuję dane w odpowiednim języku.
- Pozwoliłem sobie na dostęp do tej klasy za pomocą odwołania statycznego TKlasa::get('firstname') gdzie wywoływana będzie metoda __callStatic i tam odpowiednio obsłużona.
- Jako, że nie chciałem za każdym razem tworzyć obiektu i przekazywać do View postanowiłem stworzyć obiekt już w samym szablonie z odpowiednią ilością danych w tablicy assocjacyjnej przy użyciu ASSIGNE a następnie standarowe odczytanie wartości.

Wiem, że temat był maglowany setki razy ale takiego rozwiązania nie znalazłem.
Dlaczego tak? Ano dlatego, że przy tworzeniu nowego szablonu nie muszę się martwić o dostęp do tekstu i nie trzeba wykonywać nadmiarowych czynności.
Jest tylko inicjalizacja na samym pocżątku, potem w szablonie assigne i następnie odczyt np. labela.

Tutaj chciałbym usłyszeć waszą opinię, czy takie rozwiązanie jest możliwie optymalne, czy i gdzie mogę spodziewać się problemów lub też co mógłbym zmienić by to ulepszyć.

Pozdrawiam
DS

Ten post edytował daves 9.02.2012, 08:57:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
wg mnie głównym problemem wersji językowych to to, jak przedstawic np elementy charakterystyczne np różnie liczone liczby ( 1 kreska, 2 kreski, 5 kresek) a w angielskim (1 line , n lines), a to w jaką klasę sobie tam opakujesz to już szczegół.
Przecież takie rzeczy masz już gotowe: MessageFormatter.
Cytat
Dzis uczylem sie z net frameworka, w ksiazce do egzaminu znalazlem informacje ze system językowy w ktorym do dokonywania tłumaczen musi sie uzywac jezyka programowania jest do kitu - nie dasz strony do przetlumaczenia komus obcemu. Plik jezykowy powinien byc w jakims prostym formacie, np yaml lub xml, i dla lepszej wydajnosci wg mnie powinien byc tlumaczony do postaci klas przy pierwszym odczytaniu.
to nic trudnego stworzyc generator kodu klasy zawierajacej dane stałe.
Tutaj standardem jest XLIFF lub PO.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 06:12