From: Brion Vibber <brion@pobox.com>
Date: Wed, 3 Mar 2010 20:08:07 +0000 (-0800)
Subject: Language setting fixes:
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0881eba80eabfea65919be2f3d65235ccd0b5eb6;p=quix0rs-gnu-social.git

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?)
---

diff --git a/actions/siteadminpanel.php b/actions/siteadminpanel.php
index 8c8f8b3742..4b29819b71 100644
--- a/actions/siteadminpanel.php
+++ b/actions/siteadminpanel.php
@@ -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();
 
diff --git a/index.php b/index.php
index 06ff9900fd..a46bc084d5 100644
--- a/index.php
+++ b/index.php
@@ -253,6 +253,7 @@ function main()
     $user = common_current_user();
 
     // initialize language env
+common_log(LOG_DEBUG, "XXX: WAIII");
 
     common_init_language();
 
diff --git a/lib/default.php b/lib/default.php
index 7b50242ae2..b7216045ce 100644
--- a/lib/default.php
+++ b/lib/default.php
@@ -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,
diff --git a/lib/util.php b/lib/util.php
index 46be920fa7..da2799d4f9 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -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...