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.
Problema impostazione default lingua italiana
Moderatore: mod Generali
il creatore della traduzione mi ha risposto così:
esattamente cosa devo modificare?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;
}
}
}
}
zeta ha scritto:il creatore della traduzione mi ha risposto così:esattamente cosa devo modificare?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;
}
}
}
}
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
Credo che cancellando la parte:
risolvi il tuo problema!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;
}
}
}
}