Problema impostazione default lingua italiana

Discussione sulle traduzioni italiane di osCommerce

Moderatore: mod Generali

Rispondi
zeta
membro Junior
membro Junior
Messaggi: 2
Iscritto il: 02/02/2008, 14:56

Problema impostazione default lingua italiana

Messaggio 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.
zeta
membro Junior
membro Junior
Messaggi: 2
Iscritto il: 02/02/2008, 14:56

Messaggio 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?
Goelom
membro Baby
membro Baby
Messaggi: 71
Iscritto il: 21/08/2006, 18:44

Messaggio 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
ovi
membro Junior
membro Junior
Messaggi: 32
Iscritto il: 07/06/2007, 14:39

Messaggio 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!
Rispondi