Newsgroup: it.lavoro.professioni.webmaster
Titolo: language negotiation

Ciao ragazzi vediamo se avete qualche bella idea
problema:
redirezione in base alla lingua su diverse pagine htm
soluzione 1.
usate il language negotiation della combinata server apache /client browser
web basata sulla lingua settata nel browser:
soluzione testata e funzionante con un problema: esempio installo netscape
4.5 inglese sul mio windows 98 ita...
Netscape 4.5 ha settato la lingua inglese nel language negotiation..
ergo mi falsa la content negotiation del server web
e mi redirige il client sulla pagina scorretta
soluzione 2
crearsi una cgi che prenve la variabile user agent dal browser
ed estrae da quella la lingua del sistema operativo del client
anche questa ha un problema:
netscape restituisce stringhe di questo tipo:
Mozilla/4.5 [en] (Win98; I)
Mozilla/4.05 [en] (Win95; I)
Mozilla/4.5 [it] (Win95; I)
e quindi il tutto sembrerebbe ok..
il problema e' internet explorer
che restituisce stringhe del tipo:
Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)
Mozilla/2.0 (compatible; MSIE 3.0; Windows 95)
da li' come risalgo alla lingua???
ergo manco questa soluzione funziona
Ora chiedo a voi...
avete una terza soluzione
o ho trascuato io qualcosa?
ciao e buon lavoro
Davide
--
_________________________
Davide Giansoldati
D.G. Line - Servizi informatici
http://www.dgline.it

Ciao..
fra gli altri ..
dal client puoi risalire con
navigator.systemLanguage
ti restituisce la lingua di sistema..
ad es:
en-us =English(United States)
zu = Zulu
fo =Faeroese
ecc.
--
Bye
Ro<*¿*>berto

 wrote in message
7s67u4$7ah$2...@diesel.cu.mi.it...


Ciao,
navigator.systemLanguage
è solo per IE ed è difficile trovare
qualche riferimento nei testi
classici del JS..
mentre con
navigator.appVersion
ti ritorna in un qualche modo
anche il linguaggio del browser
in formato "(Win95, I)"


o ho trascuato io qualcosa?
boh... prova a vedere
una possibilita' lato server con script
che magari potresti anche utilizzare in forma embedding nell'html
[ho visto che c'e' un modulo apache per perl html embedding]
[io ho fatto qualcosa del genere per un reply via email automatico 
alla compilazione di un form con spedizione della versione italiana 
o inglese - spesso ci becca - mal che vada redirigi sulla versione 
inglese]
In uno script puoi provare a unire in una condizione tutte le 
variabili a disposizione per aumentare la probabilita' di 
"beccarci".. [cosi' come lo ho pensato - con 2 variabili - potrebbe 
servire solo con una relativa probabilita' a discriminare solo 2 
lingue, italiano per gli italiani e inglese per tutti gli altri]
te lo scrivo cosi' in logica [eventualmente utilizzerai il 
linguaggio che conosci]
if ($REMOTE_HOST finisce con ".it" or $HTTP_USER_AGENT contiene 
"[it]")
# pero' come tu ben sai non sempre e' disponibile il remote host
redirect su ita_index.htm in lingua italiana
else
redirect su eng_index.htm in lingua inglese
endif
#gianfranco

 ed estrae da quella la lingua del sistema operativo del client
e chi ti dice che la lingua del sistema operativo sia quella che il tuo
utente preferisce?
Guarda che non e` mica sempre cosi`. Io ho lavorato per anni in Belgio dove
usavo un sistema operativo francese e un browser inglese. Ciononostante ho
sempre preferito l'italiano.
Certi sistemi operativi inoltre, 
p.es
. macintosh, si usano comunemente in
inglese, anche se ne esiste una versione italiana, nel caso di altri sistemi
operativi esiste solo la versione inglese.
Rossella