Removed uneeded target
[squirrelmail.git] / functions / gettext.php
index 4b2cae526e189ed8ba75bcc5b8371698e5f6df8b..ccb087516ce3fc97d966cc62a8772f98cf5268df 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * gettext.php
  *
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Copyright (c) 1999-2003 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * Alternate to the system's built-in gettext.
  * Possible use in other PHP scripts?  The only SM-specific thing is
  *   $sm_language, I think
  *
+ * @link http://www.php.net/gettext Original php gettext manual
+ *
  * $Id$
+ * @package squirrelmail
  */
 
+/** Almost everything requires global.php... */
+require_once(SM_PATH . 'functions/global.php');
+
 global $gettext_php_domain, $gettext_php_dir, $gettext_php_loaded,
  $gettext_php_translateStrings, $gettext_php_loaded_language,
  $gettext_php_short_circuit;
 
 if (! isset($gettext_php_loaded)) {
     $gettext_php_loaded = false;
-    session_register('gettext_php_loaded');
+    sqsession_register($gettext_php_loaded, 'gettext_php_loaded');
 }
 if (! isset($gettext_php_domain)) {
     $gettext_php_domain = '';
-    session_register('gettext_php_domain');
+    sqsession_register($gettext_php_domain, 'gettext_php_domain');
 }
 if (! isset($gettext_php_dir)) {
     $gettext_php_dir = '';
-    session_register('gettext_php_dir');
+    sqsession_register($gettext_php_dir, 'gettext_php_dir');
 }
 if (! isset($gettext_php_translateStrings)) {
     $gettext_php_translateStrings = array();
-    session_register('gettext_php_translateStrings');
+    sqsession_register($gettext_php_translateStrings, 'gettext_php_translateStrings');
 }
 if (! isset($gettext_php_loaded_language)) {
     $gettext_php_loaded_language = '';
-    session_register('gettext_php_loaded_language');
+    sqsession_register($gettext_php_loaded_language, 'gettext_php_loaded_language');
 }
 if (! isset($gettext_php_short_circuit)) {
     $gettext_php_short_circuit = false;
-    session_register('gettext_php_short_circuit');
+    sqsession_register($gettext_php_short_circuit, 'gettext_php_short_circuit');
 }
 
+/**
+ * Converts .po file into array and stores it in session.
+ *
+ * Used internally by _($str) function
+ *
+ * @internal function is used internally by functions/gettext.php code
+ */
 function gettext_php_load_strings() {
     global $squirrelmail_language, $gettext_php_translateStrings,
         $gettext_php_domain, $gettext_php_dir, $gettext_php_loaded,
@@ -138,6 +151,14 @@ function gettext_php_load_strings() {
     $gettext_php_loaded_language = $squirrelmail_language;
 }
 
+/**
+ * Alternative php gettext function (short form)
+ *
+ * @link http://www.php.net/function.gettext
+ *
+ * @param string $str English string
+ * @return string translated string
+ */
 function _($str) {
     global $gettext_php_loaded, $gettext_php_translateStrings, 
         $squirrelmail_language, $gettext_php_loaded_language,
@@ -184,6 +205,16 @@ function _($str) {
     return $str;
 }
 
+/**
+ * Alternative php bindtextdomain function
+ *
+ * Sets path to directory containing domain translations
+ *
+ * @link http://www.php.net/function.bindtextdomain
+ * @param string $name gettext domain name
+ * @param string $dir directory that contains all translations
+ * @return string path to translation directory
+ */
 function bindtextdomain($name, $dir) {
     global $gettext_php_domain, $gettext_php_dir, $gettext_php_loaded;
     
@@ -199,6 +230,15 @@ function bindtextdomain($name, $dir) {
     return $dir;
 }
 
+/**
+ * Alternative php textdomain function
+ *
+ * Sets default domain name
+ *
+ * @link http://www.php.net/function.textdomain
+ * @param string $name gettext domain name
+ * @return string gettext domain name
+ */
 function textdomain($name = false) {
     global $gettext_php_domain, $gettext_php_loaded;
     
@@ -206,7 +246,7 @@ function textdomain($name = false) {
         $gettext_php_domain = $name;
         $gettext_php_loaded = false;
     }
+
     return $gettext_php_domain;
 }
-
-?>
+?>
\ No newline at end of file