Pagina 1 di 1

se utilizzo browser netscape

Inviato: 08/05/2004, 11:52
da Gio978
Ciao a tutti

se utilizzo un browser netscape e/o mozilla mi va direttamente sulla lingua inglese. con IE invece va giustamente sull'italiano.

come correggo questo problema?

Ciao e grazie

p.s. ho installata la 2.2

Inviato: 12/05/2004, 19:57
da Gio978
oh, c'è qualcuno che ha una pallida idea di come debba fare?

ciao ciao
GiO

Inviato: 13/05/2004, 11:25
da southmodel
Apri il Netscape, - Edit - Preferences - Languages - Add.. - Italian - Move Up (finche non diventa la prima lingua della lista) - Ok

Al prossimo accesso nel tuo sito fatto con OS sarà in Italiano....

Inviato: 13/05/2004, 17:10
da Gio978
è gia la prima della lista....

Inviato: 13/05/2004, 17:11
da Gio978
ho paura che devo inserire qualche java script nella homepage del sito

Inviato: 13/05/2004, 19:02
da southmodel
davvero strano, a me funziona perfettamente...... (netscape 7.1)

Inviato: 13/05/2004, 20:12
da Gio978
...e ti dico che dà lo stesso problema da computer differenti con differenti collegamenti a internet sia con netscape che con mozilla

...BOH....

il sito, se ti interessa, è

http://www.tuttostore.com


ciao e grazie
GiO :cry:

Inviato: 13/05/2004, 22:50
da marcus
Prima un pò di Teoria.

Il protocollo HTTP, cioè la lingua in cui si parlano Brwoser e Server prevede una variabile detta di ambiente chiamata: 'HTTP_ACCEPT_LANGUAGE' che appunto specifica la lingua parlata dal browser.

Ora la pratica.

OsC da quel bravo programmino che è, gestisce tale variabile!
Dove? nel file catalog/includes/classes/languages.php.

Nel tuo caso la funzione da studiare è:

Codice: Seleziona tutto

function get_browser_language() { 
      $this->browser_languages = explode(',', getenv('HTTP_ACCEPT_LANGUAGE')); 

      for ($i=0, $n=sizeof($this->browser_languages); $i<$n; $i++) { 
        reset($this->languages); 
        while (list($key, $value) = each($this->languages)) { 
          if (eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) { 
            $this->language = $this->catalog_languages[$key]; 
            break 2; 
          } 
        } 
      }
Rinomina questa funzione in function default_get_browser_language()
e inserisci la nuova function get_browser_language() così fatta:

Codice: Seleziona tutto

function get_browser_language() { 
      $this->browser_languages = 'it'; //FORZA LINGUA ITALIANA

      for ($i=0, $n=sizeof($this->browser_languages); $i<$n; $i++) { 
        reset($this->languages); 
        while (list($key, $value) = each($this->languages)) { 
          if (eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) { 
            $this->language = $this->catalog_languages[$key]; 
            break 2; 
          } 
        } 
      }
Naturalmente così facendo nasce un piccolo problemino sulla cui natura e soluzione ti lascio riflettere ...

Marzullus

Inviato: 14/05/2004, 9:59
da Gio978
caro Marzullus

purtroppo ti devo dire che se avessi scritto in arabo (antico ovviamente...) avrei capito qualcosa in più....

Non sono un programmatore php e non essendo mio il sito e-commerce non posso fare troppe 'prove' e/o giochetti con il codice a rischio che poi qualcosa smetta di funzionare...
:oops:
ciao
Gio978