Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Przyszło mi się po raz pierwszy zmierzyć z wielojęzykową stroną.
Jest to modyfikacja istniejącej strony, która ma ją już zaaplikowaną na zasadzie tablicy PHP: $lang['ciąg'] = 'Tłumaczenie'; Każda tablica w oddzielnym pliku i w zależności od wczytanego języka dany plik jest includowany. Na dobrą sprawę mógłbym zostawić tę metodę (chyba najpopularniejszą), ale wg mnie nie jest ona praktyczna: - w kodzie widzimy nic nie mówiące <?= $lang['ab123'] ;?> - nowe zdanie czy słowo wymaga edycji X plików, gdzie X to liczba języków - źle obsługuje brak tłumaczenie dla danego języka (np. wyrażenie, która nie wymaga tłumaczenia) Napisałem coś własnego na podstawie tablicy wielowymiarowej co pozwala na pominięcie całego tłumaczenia czy tylko danego języka. Gdy nie znajdzie tłumaczenia wyświetla tekst domyślnie wprowadzony (wzorowałem się troszkę gettext).
Działa prosto, a zarazem bardziej intuicyjnie. Zastanawia mnie tylko kwestia optymalności. Może ktoś to rozwiązał w inny sposób? Może pliki XML (bazę pomijam, to strona typu "wizytówka" bez bazy danych)? Wcześniejszy pomysł opierał się na używaniu indeksów do wyszukiwania fraz: $arr['ala_ma_kota'] = [ tablica z tłumaczeniami ] ale tutaj zastanawia mnie kwestia tego ile znaków można wpakować w indeks no i wygląda to troszkę irracjonalnie. Ten post edytował markonix 6.09.2011, 10:24:23 |
|
|
|
markonix Wielojęzykowość 6.09.2011, 10:21:08
tehaha Wydaje mi się, że przekombinowałeś sprawę, przede ... 6.09.2011, 11:00:06
markonix Przekonałeś mnie 6.09.2011, 11:32:56
enviro Zagadnienie obsługi wielu języków to ... a ciekawy... 7.09.2011, 07:44:58
toaspzoo Wg mnie nie wygląda to zbyt ciekawie, ponadto jest... 7.09.2011, 09:58:26
!*! Zamiast pętli użyłbym funkcji vsprintf na tablicy. 7.09.2011, 10:17:46 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 10:35 |