* Removed one language (it wasn't in the CVS so I commented it out)
authorfidian <fidian@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Fri, 27 Apr 2001 03:25:38 +0000 (03:25 +0000)
committerfidian <fidian@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Fri, 27 Apr 2001 03:25:38 +0000 (03:25 +0000)
* Minor modifications to detection of gettext
* Auto-load of gettext.php if gettext isn't compiled into PHP

Thank you Konstantin!

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@1319 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/i18n.php

index 3aec6c9c6cd9ccde75f75cca43e85369a696ff9e..d0c800789f63761b04315ee839af02bc2de5beb0 100644 (file)
@@ -29,8 +29,8 @@
    $languages['hr']['NAME']    = 'Croatian';
    $languages['hr']['CHARSET'] = 'iso-8859-2';
 
-   $languages['cs_CZ']['NAME']    = 'Czech';
-   $languages['cs_CZ']['CHARSET'] = 'iso-8859-2';
+   //$languages['cs_CZ']['NAME']    = 'Czech';
+   //$languages['cs_CZ']['CHARSET'] = 'iso-8859-2';
    
    $languages['da']['NAME']    = 'Danish';
    $languages['da']['CHARSET'] = 'iso-8859-1';
    global $use_gettext;
    
    // Detect whether gettext is installed.
-   // If it is, set the flag so we can use it.
-   if (! function_exists('_') || 
-       ! function_exists('bindtextdomain') ||
-       ! function_exists('textdomain'))
-       $use_gettext = false;
-   else
-       $use_gettext = true;
-          
-
-   // Avoid warnings/errors if gettext is not installed
-   if (! function_exists('_')) {
-      function _($str) { return $str; };
-   }
-   if (! function_exists('bindtextdomain')) {
-      function bindtextdomain() { return; }
-   }
-   if (! function_exists('textdomain')) {
-      function textdomain() { return; }
+   $gettext_flags = 0;
+   if (function_exists('_')) $gettext_flags += 1;
+   if (function_exists('bindtextdomain')) $gettext_flags += 2;
+   if (function_exists('textdomain')) $gettext_flags += 4;
+
+   // If gettext is fully loaded, cool
+   if ($gettext_flags == 7)
+      $use_gettext = true;
+   // If we can fake gettext, try that
+   elseif ($gettext_flags == 0) {
+      $use_gettext = true;
+      include('../functions/gettext.php');
+   } else {
+      // Uh-ho.  A weird install
+      if (! $gettext_flags & 1) {
+         function _($str) { return $str; };
+      }
+      if (! $gettext_flags & 2) {
+         function bindtextdomain() { return; }
+      }
+      if (! $gettext_flags & 4) {
+         function textdomain() { return; }
+      }
    }
 
 
       
       if ($SetupAlready)
          return;
-        
+
       $SetupAlready = 1;
       
       $charset_headers_sent=false;
       }
 
       if (isset($sm_language) && $use_gettext &&
-         $squirrelmail_language != '' &&
-        isset($languages[$sm_language]['CHARSET'])) {
+          $squirrelmail_language != '' &&
+         isset($languages[$sm_language]['CHARSET'])) {
          if ((ini_get('safe_mode') == FALSE) && (getenv('LC_ALL') != $sm_language)) {
            putenv('LC_ALL=' . $sm_language);
          }