Obecnie pracuję nad wykrywaniem języka autorskiego w celu dostarczenia treści w języku użytkownika.Wykryj język użytkownika w PHP - stabilne rozwiązanie
Oczywiście można zmienić język ręcznie, ale jeśli użytkownik odwiedza stronę po raz pierwszy, chcę podać treść w jego języku.
Więc ja googlowania i znalazł $ _SERVER [HTTP_ACCEPT_LANGUAGE '] - Var uzyskać wynik tak:
de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
co jest najlepszym sposobem, aby filtrować ten wynik, aby uzyskać jasny wynik jak „EN "/" DE "/" IT "?
$rL = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; // de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
$langCode = strtoupper($rl[0].$rl[1]);
Drugi numer na tym Server-Var jest to, że daje mi tylko wynik, jeśli przeglądarka poda pewne informacje. Czy ustawienie domyślnego języka strony jest jedyną możliwością poradzenia sobie z tym?
Druga możliwość, którą mnie interesuje to uzyskanie języka przez IP. Więc jeśli zdobędę język, prawdopodobnie znam język użytkownika. Ale co słychać w krajach wielojęzycznych, takich jak Szwajcaria, Belgia? Co z tld na przykład .com/.net/.org i tak dalej.
Jaką metodę zastosowalibyśmy w celu wykrycia języka użytkownika?
dzięki za pomoc.
cóż, kiedy próbuję użyć przykładu http_negotiate_language dostałem - Błąd krytyczny: wywołanie niezdefiniowanej funkcji http_negotiate_language() - co mam nie tak? – wildhaber
Zainstaluj rozszerzenie pecl_http. http://uk.php.net/manual/en/http.install.php Alternatywnie istnieje wersja native-PHP w komentarzach strony negotiate_language, która wygląda tak, jak powinna być OK. – bobince