![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.07.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
no wlasnie wpadlem sobie na pomysl ze podczas ladowania strony bedzie automatycznie wzucal dany jezyk po poprzednim zweryfikowaniu adresu ip a dokladnie z jakiego kraju pochodzi.
Czy da sie cos takiego zrobic? prosze o mala podpowiedz jesli tak... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Watpie zeby sie dalo... lepiej sprawdzaj przegladarke jak juz musisz - tam tez jest info o jezyku, choc zwykle nieprecyzyjne (przeciez nikt Ci nie zabroni uzywac angielskiej przegladarki na przyklad (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.07.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
no wlasnie i dlatego chce zrobic to poprzez wykrycie ip usera...
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 0 Dołączył: 9.07.2003 Skąd: Lublin city Ostrzeżenie: (0%) ![]() ![]() |
Mozesz zrobic tak:
[php:1:cd9024774c]<?php $host=gethostbyaddr($REMOTE_ADDR); $dane=strrchr($host, "."); switch($dane){ case ".pl": //ustaw polski break; case ".ru": //ustaw ruski break; default: //ustaw standardowy break; } ?>[/php:1:cd9024774c] Ale to prowizora...nie wiem czy przydatna :x |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 294 Pomógł: 0 Dołączył: 9.04.2002 Skąd: miejscowosc Ostrzeżenie: (0%) ![]() ![]() |
Cytat no wlasnie wpadlem sobie na pomysl ze podczas ladowania strony bedzie automatycznie wzucal dany jezyk po poprzednim zweryfikowaniu adresu ip a dokladnie z jakiego kraju pochodzi.
Czy da sie cos takiego zrobic? prosze o mala podpowiedz jesli tak... Nie wiem czy to będzie dobre rozwiązanie, ale możesz używając funkcji [php:1:96a1288519]gethostbyaddr($_SERVER["REMOTE_ADDR"])[/php:1:96a1288519] sprawdzać np. czy ostatnia część tego hosta (uzyskanego z adresu IP użytkownika) kończy się np. na "pl" - to oznacza, że ktoś najprawdopodobniej jest z Polski, ale to i tak nie jest pewne, ponieważ ktoś może np. połączyć się przez polski serwer proxy i wtedy IP tego użytkownika (więc i jego host) będą "polskie" tzn. skrypt "pokaże", że dana osoba jest z Polski choć nie zawsze będize to prawdą (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 0 Dołączył: 9.07.2003 Skąd: Lublin city Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale to i tak nie jest pewne, ponieważ ktoś może np. połączyć się przez polski serwer proxy i wtedy IP tego użytkownika (więc i jego host) będą "polskie" tzn. skrypt "pokaże", że dana osoba jest z Polski choć nie zawsze będize to prawdą (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A pozatym ktos moze wchodzic z hosta np. mietek.org(np.polak) lub billgates.org(np.amerykanin) i wtedy nie rozpoznasz prawidlowo jaki jezyk powinnien zostac ustawiony. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.07.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
chodzilo mi raczej o cos w stylu skryptu ktory wyswietla ip twojej maszyny, a jezeli ktos jest w jakiejs podsieci to zeby wykryl ip serwera poprzez ktory sie laczy...
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 0 Dołączył: 19.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem taką funkcję w phpBB2/install/install.php:[php:1:6388102afd]<?php
// Guess an initial language ... borrowed from phpBB 2.2 it's not perfect, // really it should do a straight match first pass and then try a "fuzzy" // match on a second pass instead of a straight "fuzzy" match. function guess_lang() { global $phpbb_root_path, $HTTP_SERVER_VARS; // The order here _is_ important, at least for major_minor // matches. Don't go moving these around without checking with // me first - psoTFX $match_lang = array( 'arabic' => 'ar([_-][a-z]+)?', 'bulgarian' => 'bg', 'catalan' => 'ca', 'czech' => 'cs', 'danish' => 'da', 'german' => 'de([_-][a-z]+)?', 'english' => 'en([_-][a-z]+)?', 'estonian' => 'et', 'finnish' => 'fi', 'french' => 'fr([_-][a-z]+)?', 'greek' => 'el', 'spanish_argentina' => 'es[_-]ar', 'spanish' => 'es([_-][a-z]+)?', 'gaelic' => 'gd', 'galego' => 'gl', 'gujarati' => 'gu', 'hebrew' => 'he', 'hindi' => 'hi', 'croatian' => 'hr', 'hungarian' => 'hu', 'icelandic' => 'is', 'indonesian' => 'id([_-][a-z]+)?', 'italian' => 'it([_-][a-z]+)?', 'japanese' => 'ja([_-][a-z]+)?', 'korean' => 'ko([_-][a-z]+)?', 'latvian' => 'lv', 'lithuanian' => 'lt', 'macedonian' => 'mk', 'dutch' => 'nl([_-][a-z]+)?', 'norwegian' => 'no', 'punjabi' => 'pa', 'polish' => 'pl', 'portuguese_brazil' => 'pt[_-]br', 'portuguese' => 'pt([_-][a-z]+)?', 'romanian' => 'ro([_-][a-z]+)?', 'russian' => 'ru([_-][a-z]+)?', 'slovenian' => 'sl([_-][a-z]+)?', 'albanian' => 'sq', 'serbian' => 'sr([_-][a-z]+)?', 'slovak' => 'sv([_-][a-z]+)?', 'swedish' => 'sv([_-][a-z]+)?', 'thai' => 'th([_-][a-z]+)?', 'turkish' => 'tr([_-][a-z]+)?', 'ukranian' => 'uk([_-][a-z]+)?', 'urdu' => 'ur', 'viatnamese' => 'vi', 'chinese_traditional_taiwan'=> 'zh[_-]tw', 'chinese_simplified' => 'zh', ); if (isset($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'])) { $accept_lang_ary = explode(',', $HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE']); for ($i = 0; $i < sizeof($accept_lang_ary); $i++) { @reset($match_lang); while (list($lang, $match) = each($match_lang)) { if (preg_match('#' . $match . '#i', trim($accept_lang_ary[$i]))) { if (file_exists(@phpbb_realpath($phpbb_root_path . 'language/lang_' . $lang))) { return $lang; } } } } } return 'english'; } ?>[/php:1:6388102afd] |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat no wlasnie i dlatego chce zrobic to poprzez wykrycie ip usera...
A jak ja mam domene .org i jestem Polakiem, albo .pl ale wole czytać po angielsku, to co? Takie coś przeglądarka załatwia nagłówkiem Accept-Language. Zobacz sobie zawartość pola [php:1:c71601938f]<?php $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?>[/php:1:c71601938f] Tam masz wymienione języki w jakich klient chce otrzymywać wynik w kolejności preferencji i z dodatkowymi parametrami. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 23.07.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
thx za podpowiedzi... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
To już było na forum.
Hint: GeoIP. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 2 Dołączył: 25.08.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Wankster
dostarczyl dobry skrypt.. wystarczy ze przerobisz go (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i bedzie smigac supa! |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 28.08.2003 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
countries.nerd.dk - pewnie możnaby wykorzystać?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:46 |