Pagina 1 di 1
Problema impostazione default lingua italiana
Inviato: 02/02/2008, 15:01
da zeta
Salve... ho un piccolo problema con l'installazione della lingua ita che ho preso dal sito ufficiale di oscommerce: 2.2 MS2 Italian Language - Complete Pack - 1.2b.
Dopo l'installazione è tutto corretto, l'unico problema è che io vorrei che questa lingua non fosse impostata di default per il sito, cioè quando provo ad andare nella home mi ritrovo con la lingua italiana nonostante io abbia settato in Localization>Languages l'inglese come default e sort order n°1 e l'italiano con sort order 2 (e non è default)
Perchè ciò? C'è qualcosa da modificare nei file ita? ho cercato in italian.php ma non c'è nulla che riguardi questo problema.
Inviato: 04/02/2008, 0:18
da zeta
il creatore della traduzione mi ha risposto così:
n ogni caso, la soluzione la trovi in classes/languages.php
in particolare nelle funzioni:
function set_language($language) {
if ( (tep_not_null($language)) && (isset($this->catalog_languages[$language])) ) {
$this->language = $this->catalog_languages[$language];
} else {
$this->language = $this->catalog_languages[DEFAULT_LANGUAGE];
}
}
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;
}
}
}
}
esattamente cosa devo modificare?
Inviato: 04/02/2008, 11:39
da Goelom
zeta ha scritto:il creatore della traduzione mi ha risposto così:
n ogni caso, la soluzione la trovi in classes/languages.php
in particolare nelle funzioni:
function set_language($language) {
if ( (tep_not_null($language)) && (isset($this->catalog_languages[$language])) ) {
$this->language = $this->catalog_languages[$language];
} else {
$this->language = $this->catalog_languages[DEFAULT_LANGUAGE];
}
}
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;
}
}
}
}
esattamente cosa devo modificare?
Non vorrei dire cavolate, sono uno scarsone e di php ne capisco ben poco, ma probabilmente la funzione che hai postato verifica il linguaggio del browser utilizzato e lo imposta come default.
Prova ad accedere con un browser in lingua inglese e vedi se cambia qualcosa.
by Carmelo
Inviato: 08/02/2008, 16:45
da ovi
Credo che cancellando la parte:
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;
}
}
}
}
risolvi il tuo problema!