Αυτόματη αναγνώριση γλώσσας

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Ambrakiotis
Δημοσιεύσεις: 31
Εγγραφή: 03 Δεκ 2003 11:34

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από Ambrakiotis » 25 Απρ 2004 22:43

Υπάρχει τρόπος αν μια ιστοσελίδα είναι σε Ελληνικά και Αγγλικά αν ο επισκέπτης είναι απο Ελλάδα να του ανοίγει η Ελληνική ενώ σε αντίθετη περίπτωση να ανοίγει η Αγγλική έκδοση?

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από ThyClub » 25 Απρ 2004 23:47

yep there is: http://zeus.greekstudio.com

Με ΡΗΡ:
function get_lang()
{
$browser = $_SERVER["HTTP_USER_AGENT"];
$lang=$_SERVER["HTTP_ACCEPT_LANGUAGE"];
if (eregi("el",$lang) || eregi("el",$browser) && !eregi("Lynx",$browser))
{
$lang="el";
}
else
{
$lang="en";
}
return $lang;
}
Μπορείς να το καταλάβεις αν στον ΙΕ δώσεις σαν γλώσσα μόνο αγγλικά και επισκευτείς την σελίδα του ZeusCMS

Άβαταρ μέλους
grjava
Δημοσιεύσεις: 387
Εγγραφή: 13 Μαρ 2002 01:00
Τοποθεσία: athens
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από grjava » 26 Απρ 2004 00:49

ThyClub νομίζω ότι κάνεις λάθος (στην δοκιμή εννοώ) διότι η fuction δεν αναγνωρίζει το pc αλλά το IP του κάθε επισκέπτη..

Άβαταρ μέλους
Ambrakiotis
Δημοσιεύσεις: 31
Εγγραφή: 03 Δεκ 2003 11:34

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από Ambrakiotis » 26 Απρ 2004 01:45

Isos den egina katanoitos....
An exoyme mia selida p.x. text.htm kai mia deyteri textgr.htm yparxei tropos i selida index.htm aytomata na parapempei stin antistixi selida analoga apo to poy mpenei o episkeptis?
An me index.htm ayto den einai dynato me index.php pos mporo na xrisimopiiso ayton ton kodika?

Άβαταρ μέλους
grjava
Δημοσιεύσεις: 387
Εγγραφή: 13 Μαρ 2002 01:00
Τοποθεσία: athens
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από grjava » 26 Απρ 2004 01:56

Αυτό θα το βάλεις ως index.php:

Κώδικας: Επιλογή όλων

<?
$pos = strpos&#40;$HTTP_ACCEPT_LANGUAGE, "el"&#41;;
if &#40;$pos === false&#41; &#123;
    include&#40;'http&#58;//site.com/lang/en/'&#41;;
&#125;
else&#123;
    include&#40;'http&#58;//site.com/lang/el/'&#41;;
&#125;
?> 
Για να δεις αν δουλέυει θα πρέπει να έχεις κάποιο φίλο σε usa ή Αγγλία μεριά.. :D
Στις διαδρομές θα βάλεις τους φακκέλους που οδηγούν σε κάθε γλώσσα..
Υπάρχει και ένα για περισσότερες γλώσσες.. αν το θες να στο στείλω.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από ThyClub » 26 Απρ 2004 16:25

grjava έγραψε:ThyClub νομίζω ότι κάνεις λάθος (στην δοκιμή εννοώ) διότι η fuction δεν αναγνωρίζει το pc αλλά το IP του κάθε επισκέπτη..
Η παραπάνω function απλά "ρίχνει" μια ματιά στο USER_AGENT string και αν περιέχει το "el" επιστρέφει ελληνικά αν όχι τότε αγγλικά.

Αν ήθελες να πείς οτι κάνει τσεκ στον browser και όχι στην γλώσσα του χρήστη τότε ναι.

$HTTP_ACCEPT_LANGUAGE
Αυτό δεν θα επιστρέψει την γλώσσα του server???

Άβαταρ μέλους
iNDEFiX
Honorary Member
Δημοσιεύσεις: 2569
Εγγραφή: 20 Δεκ 2002 00:48
Τοποθεσία: κλειστή λόγω έργων
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από iNDEFiX » 27 Απρ 2004 12:42

H variable 'HTTP_ACCEPT_LANGUAGE' periexei thn glossa pou exei proepilegmenh o client (tou request). Symfona me to manual:

Contents of the Accept-Language: header from the current request, if there is one. Example: 'en'.

Enas eykolos tropos na kaneis mia dromologhsh sthn adistixh selida symfona me thn glossa tou user einai o ekshs:

Κώδικας: Επιλογή όλων

if&#40;$_SERVER&#91;'HTTP_ACCEPT_LANGUAGE'&#93;=="en"&#41;&#123;
  header&#40;"Location&#58; http&#58;//www.example.com/en/"&#41;;
&#125;else&#123;
  header&#40;"Location&#58; http&#58;//www.example.com/el/"&#41;;
&#125;
Sthn parapano periptosh an kapoios exei agglika san glossa sto OS tou to script ton kanei redirect sto www.example.com/en/ allios ton paei sto www.example.com/el/

Άβαταρ μέλους
iNDEFiX
Honorary Member
Δημοσιεύσεις: 2569
Εγγραφή: 20 Δεκ 2002 00:48
Τοποθεσία: κλειστή λόγω έργων
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από iNDEFiX » 27 Απρ 2004 13:02

grjava έγραψε:Αυτό θα το βάλεις ως index.php:

Κώδικας: Επιλογή όλων

<?
$pos = strpos&#40;$HTTP_ACCEPT_LANGUAGE, "el"&#41;;
if &#40;$pos === false&#41; &#123;
    include&#40;'http&#58;//site.com/lang/en/'&#41;;
&#125;
else&#123;
    include&#40;'http&#58;//site.com/lang/el/'&#41;;
&#125;
?> 
episis to $HTTP_ACCEPT_LANGUAGE den isxiei. Einai $_SERVER['HTTP_ACCEPT_LANGUAGE'] ... :hammer:

Άβαταρ μέλους
grjava
Δημοσιεύσεις: 387
Εγγραφή: 13 Μαρ 2002 01:00
Τοποθεσία: athens
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από grjava » 27 Απρ 2004 15:11

Are you sure about that? check again... :D

Άβαταρ μέλους
iNDEFiX
Honorary Member
Δημοσιεύσεις: 2569
Εγγραφή: 20 Δεκ 2002 00:48
Τοποθεσία: κλειστή λόγω έργων
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από iNDEFiX » 27 Απρ 2004 18:54

Oups... nai exei allaksei stis kainourgies versions. Xazomara mou :(

aguila21
Honorary Member
Δημοσιεύσεις: 3510
Εγγραφή: 30 Απρ 2003 21:44
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από aguila21 » 18 Ιουν 2006 20:29

Πώς είναι ο κώδικας για 3 γλώσσες;Στο head μπαίνει ο κώδικας;

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από panosru » 20 Ιουν 2006 10:12

iNDEFiX έγραψε:Oups... nai exei allaksei stis kainourgies versions. Xazomara mou :(
antithetos, to $HTTP_ACCEPT_LANGUAGE den paizei stis kainouries virsions to sosto einai $_SERVER['HTTP_ACCEPT_LANGUAGE']

aguila21
Honorary Member
Δημοσιεύσεις: 3510
Εγγραφή: 30 Απρ 2003 21:44
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από aguila21 » 08 Οκτ 2006 09:22

Επαναφέρω το θέμα.
Πώς μπορώ να φτιάξω μια σελίδα να αναγνωρίζεται αυτόματα και να αφορά 3 διαφορετικές γλώσσες;Αν μπορεί να μου πει κάποιος τον κώδικα,και που τον τοποθετούμε,καλά θα είναι!

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από panosru » 08 Οκτ 2006 18:08

Κώδικας: Επιλογή όλων

<?php

switch &#40;$_SERVER&#91;'HTTP_ACCEPT_LANGUAGE'&#93;&#41;
&#123;
	case 'el'&#58;
		header&#40;"Location index.el.php"&#41;;
		break;
		
	case 'en'&#58;
		header&#40;"Location index.en.php"&#41;;
		break;
		
	case 'ru'&#58;
		header&#40;"Location index.ru.php"&#41;;
		break;		
&#125;

?>

aguila21
Honorary Member
Δημοσιεύσεις: 3510
Εγγραφή: 30 Απρ 2003 21:44
Επικοινωνία:

Αυτόματη αναγνώριση γλώσσας

Δημοσίευση από aguila21 » 08 Οκτ 2006 20:11

panosru σ'ευχαριστώ

Αλλά που θα τον βάλω;Στο Head ή στο Body;Επίσης σε κάθε σελίδα απο τις 3 θα βάλω κώδικα;

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης