Language setting fixes:

- switch 'en_US' to 'en', fixes the "admin panel switches to Arabic" bug
- tweak setting descriptions to clarify that most of the time we'll be using browser language
- add a backend switch to disable language detection (should this be exposed to ui?)
This commit is contained in:
Brion Vibber 2010-03-03 12:08:07 -08:00
parent c82efb7fd8
commit 0881eba80e
4 changed files with 12 additions and 8 deletions

View File

@ -277,8 +277,8 @@ class SiteAdminPanelForm extends AdminForm
$this->unli();
$this->li();
$this->out->dropdown('language', _('Language'),
get_nice_language_list(), _('Default site language'),
$this->out->dropdown('language', _('Default language'),
get_nice_language_list(), _('Site language when autodetection from browser settings is not available'),
false, $this->value('language'));
$this->unli();

View File

@ -253,6 +253,7 @@ function main()
$user = common_current_user();
// initialize language env
common_log(LOG_DEBUG, "XXX: WAIII");
common_init_language();

View File

@ -40,7 +40,8 @@ $default =
'logdebug' => false,
'fancy' => false,
'locale_path' => INSTALLDIR.'/locale',
'language' => 'en_US',
'language' => 'en',
'langdetect' => true,
'languages' => get_all_languages(),
'email' =>
array_key_exists('SERVER_ADMIN', $_SERVER) ? $_SERVER['SERVER_ADMIN'] : null,

View File

@ -105,11 +105,13 @@ function common_language()
// Otherwise, find the best match for the languages requested by the
// user's browser...
$httplang = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : null;
if (!empty($httplang)) {
$language = client_prefered_language($httplang);
if ($language)
return $language;
if (common_config('site', 'langdetect')) {
$httplang = isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : null;
if (!empty($httplang)) {
$language = client_prefered_language($httplang);
if ($language)
return $language;
}
}
// Finally, if none of the above worked, use the site's default...