Szukam zgodnego z normami sposobu przechowywania treści wielojęzycznych dla aplikacji sieci Web. Do tej pory używałem własnych funkcji "translate()", które odczytują dane z pliku lub tabeli słownikowej w bazie danych. Jednak aktualizowanie słowników w tabeli bazy danych jest bardzo uciążliwe, jeśli pracujesz z różnymi kopiami aplikacji internetowej.i18n z gettext ale bez problemów z locale?
Lubię gettext, ponieważ istnieje wiele dostępnych na to narzędzie. Jednak tworzę aplikacje dla różnych platform. Absolutnie nie mam ochoty radzić sobie z bzdurnymi sposobami setlocale() i małżonków - mianowicie z dziesiątkami różnych wariantów ustawień locale różniących się od systemu do systemu, które trzeba zapewnić, aby działało. Nigdy. Mam zestaw języków - say de, en i es - i chcę załadować odpowiedni słownik i pracować z _() nie dotykając raz setlocale() lub bindtexdomain().
Czy jest to w jakiś sposób możliwe za pomocą gettext? Czy ktoś może znać inne proste, małe, szybkie (!) Rozwiązanie i18n dla PHP, które może pracować z plikami .po/.mo, najlepiej bez konieczności rozszerzenia PHP?
Nie jest praktycznie możliwe używanie gettext w PHP bez użycia rozszerzenia gettext, ale nie martw się, jest to dość powszechne/standardowe rozszerzenie PHP i większość instalacji ma już aktywowane. – sorin
@Sorin: Możliwe jest, że istnieje natywna implementacja PHP z większością, jeśli nie wszystkimi, funkcjami gettext. –
@votingmeisfree wordpress i cakephp, żeby wymienić tylko kilka, użyj plików po i mo bez użycia implementacji gettext. Otwierają plik bezpośrednio. – T0xicCode