Site Default Language Problem In V4

Hi

i have problem with site default language configuration in both of frontend and backend position,

because after set that to another language in Setting >> appearance then not affect to anything in frontend and backend of site and English language is still default i mean both of site work and start with English language for default



what should i do ?

How are you testing this?

Note that Localization will override the defaults.

It first looks in your session to see if you've changed it (so to test you'd need a fresh session)

It then looks at the language being requested by the browser.

It then looks at the site default settings.



It may be working and you just don't know it.

thank tbirnseth

you good explain and exactly that.



but i think my website not doing the first one and not save cache and past enter changed condition,

i mean every time you close the browser and reopen that and renter to site again then site will be appear with main language (not use default language)



anyway



how to set site configuration to only doing the 3th level ?

i mean site only look the selected language for default in admin area and run that. and cache and browser language not affect to result.

Suggest you add the following to one of your templates somewhere:



Then do a view source of that page and search for SESSION.

This will display what the 'auth' data is that is held in the SESSION. You may find the language value set there.
If so, then you will need to identify if it's set from someone's login (user_id != 0) or whether it's being set from somewhere else.

[color=#282828][font=arial, verdana, tahoma, sans-serif]thank again for reply dear tbirnseth[/font][/color]

[font=“arial, verdana, tahoma, sans-serif”][color=“#282828”]can you let us know how to do that ? we must add that line to which file of template for see result?[/color][/font]

To remove checking the browser language you need to edit file [color=#ff0000]app/functions/fn.init.php[/color]

#replace
if (!empty($params['sl']) && !empty($avail_languages[$params['sl']])) {
fn_define('CART_LANGUAGE', $params['sl']);
} elseif (!fn_get_session_data('cart_language' . $area) && $_lc = fn_get_browser_language($avail_languages)) {
fn_define('CART_LANGUAGE', $_lc);
} elseif (!fn_get_session_data('cart_language' . $area) && !empty($avail_languages[$default_language])) {
fn_define('CART_LANGUAGE', $default_language);
} elseif (($_c = fn_get_session_data('cart_language' . $area)) && !empty($avail_languages[$_c])) {
fn_define('CART_LANGUAGE', $_c);
} else {
reset($avail_languages);
fn_define('CART_LANGUAGE', key($avail_languages));
}


#with:
if (!empty($params['sl']) && !empty($avail_languages[$params['sl']])) {
fn_define('CART_LANGUAGE', $params['sl']);
// } elseif (!fn_get_session_data('cart_language' . $area) && $_lc = fn_get_browser_language($avail_languages)) {
// fn_define('CART_LANGUAGE', $_lc);
} elseif (!fn_get_session_data('cart_language' . $area) && !empty($avail_languages[$default_language])) {
fn_define('CART_LANGUAGE', $default_language);
} elseif (($_c = fn_get_session_data('cart_language' . $area)) && !empty($avail_languages[$_c])) {
fn_define('CART_LANGUAGE', $_c);
} else {
reset($avail_languages);
fn_define('CART_LANGUAGE', key($avail_languages));
}




I hope that helps,





Valentin

[color=#808080][size=2]part of hungryweb.net[/size][/color]

You can add that to any template to see the value of the $auth array.

[quote name='Vali' timestamp='1392630123' post='177639']

To remove checking the browser language you need to edit file [color=#ff0000]app/functions/fn.init.php[/color]

#replace
if (!empty($params['sl']) && !empty($avail_languages[$params['sl']])) {
fn_define('CART_LANGUAGE', $params['sl']);
} elseif (!fn_get_session_data('cart_language' . $area) && $_lc = fn_get_browser_language($avail_languages)) {
fn_define('CART_LANGUAGE', $_lc);
} elseif (!fn_get_session_data('cart_language' . $area) && !empty($avail_languages[$default_language])) {
fn_define('CART_LANGUAGE', $default_language);
} elseif (($_c = fn_get_session_data('cart_language' . $area)) && !empty($avail_languages[$_c])) {
fn_define('CART_LANGUAGE', $_c);
} else {
reset($avail_languages);
fn_define('CART_LANGUAGE', key($avail_languages));
}


#with:
if (!empty($params['sl']) && !empty($avail_languages[$params['sl']])) {
fn_define('CART_LANGUAGE', $params['sl']);
// } elseif (!fn_get_session_data('cart_language' . $area) && $_lc = fn_get_browser_language($avail_languages)) {
// fn_define('CART_LANGUAGE', $_lc);
} elseif (!fn_get_session_data('cart_language' . $area) && !empty($avail_languages[$default_language])) {
fn_define('CART_LANGUAGE', $default_language);
} elseif (($_c = fn_get_session_data('cart_language' . $area)) && !empty($avail_languages[$_c])) {
fn_define('CART_LANGUAGE', $_c);
} else {
reset($avail_languages);
fn_define('CART_LANGUAGE', key($avail_languages));
}




I hope that helps,





Valentin

[color=#808080][size=2]part of hungryweb.net[/size][/color]

[/quote]



Dear [color=#282828][font=arial, verdana, tahoma, sans-serif]Valentin[/font][/color]

[color=#282828][font=arial, verdana, tahoma, sans-serif]thanks a lot [/font][/color]

because this solution full help to us and that is work perfect .



Best regards

[quote name='tbirnseth' timestamp='1392679991' post='177698']

You can add that to any template to see the value of the $auth array.

[/quote]



dear [color=#282828][font=arial, verdana, tahoma, sans-serif]tbirnseth[/font][/color]

i test that and found result and reason .

thanks for help me.

[quote name='Vali' timestamp='1392630123' post='177639']

To remove checking the browser language you need to edit file [color=#ff0000]app/functions/fn.init.php[/color]

#replace
if (!empty($params['sl']) && !empty($avail_languages[$params['sl']])) {
fn_define('CART_LANGUAGE', $params['sl']);
} elseif (!fn_get_session_data('cart_language' . $area) && $_lc = fn_get_browser_language($avail_languages)) {
fn_define('CART_LANGUAGE', $_lc);
} elseif (!fn_get_session_data('cart_language' . $area) && !empty($avail_languages[$default_language])) {
fn_define('CART_LANGUAGE', $default_language);
} elseif (($_c = fn_get_session_data('cart_language' . $area)) && !empty($avail_languages[$_c])) {
fn_define('CART_LANGUAGE', $_c);
} else {
reset($avail_languages);
fn_define('CART_LANGUAGE', key($avail_languages));
}


#with:
if (!empty($params['sl']) && !empty($avail_languages[$params['sl']])) {
fn_define('CART_LANGUAGE', $params['sl']);
// } elseif (!fn_get_session_data('cart_language' . $area) && $_lc = fn_get_browser_language($avail_languages)) {
// fn_define('CART_LANGUAGE', $_lc);
} elseif (!fn_get_session_data('cart_language' . $area) && !empty($avail_languages[$default_language])) {
fn_define('CART_LANGUAGE', $default_language);
} elseif (($_c = fn_get_session_data('cart_language' . $area)) && !empty($avail_languages[$_c])) {
fn_define('CART_LANGUAGE', $_c);
} else {
reset($avail_languages);
fn_define('CART_LANGUAGE', key($avail_languages));
}




I hope that helps,





Valentin

[color=#808080][size=2]part of hungryweb.net[/size][/color]

[/quote]



any help for version 3.x

Thank you in advance

F. Majer

For v3.x edit file [color=#ff0000]core/fn.init.php[/color][color=#ff0000] [/color]



#replace


if (!empty($params['sl']) && !empty($avail_languages[$params['sl']])) {
fn_define('CART_LANGUAGE', $params['sl']);
} elseif (!fn_get_session_data('cart_language' . AREA) && $_lc = fn_get_browser_language($avail_languages)) {
fn_define('CART_LANGUAGE', $_lc);
} elseif (!fn_get_session_data('cart_language' . AREA) && !empty($avail_languages[Registry::get('settings.Appearance.' . AREA_NAME . '_default_language')])) {
fn_define('CART_LANGUAGE', Registry::get('settings.Appearance.' . AREA_NAME . '_default_language'));
} elseif (($_c = fn_get_session_data('cart_language' . AREA)) && !empty($avail_languages[$_c])) {
fn_define('CART_LANGUAGE', $_c);
} else {
reset($avail_languages);
fn_define('CART_LANGUAGE', key($avail_languages));
}


#with


if (!empty($params['sl']) && !empty($avail_languages[$params['sl']])) {
fn_define('CART_LANGUAGE', $params['sl']);
// } elseif (!fn_get_session_data('cart_language' . AREA) && $_lc = fn_get_browser_language($avail_languages)) {
// fn_define('CART_LANGUAGE', $_lc);
} elseif (!fn_get_session_data('cart_language' . AREA) && !empty($avail_languages[Registry::get('settings.Appearance.' . AREA_NAME . '_default_language')])) {
fn_define('CART_LANGUAGE', Registry::get('settings.Appearance.' . AREA_NAME . '_default_language'));
} elseif (($_c = fn_get_session_data('cart_language' . AREA)) && !empty($avail_languages[$_c])) {
fn_define('CART_LANGUAGE', $_c);
} else {
reset($avail_languages);
fn_define('CART_LANGUAGE', key($avail_languages));
}






Valentin

[color=#808080][size=2]part of hungryweb.net[/size][/color]