From: Tyler A. <fi...@us...> - 2001-04-26 19:55:29
|
Update of /cvsroot/squirrelmail/squirrelmail/functions In directory usw-pr-cvs1:/tmp/cvs-serv12115 Modified Files: gettext.php Log Message: * Everything should be in the session now Index: gettext.php =================================================================== RCS file: /cvsroot/squirrelmail/squirrelmail/functions/gettext.php,v retrieving revision 1.1 retrieving revision 1.2 diff -u -w -r1.1 -r1.2 --- gettext.php 2001/04/26 18:45:58 1.1 +++ gettext.php 2001/04/26 19:55:27 1.2 @@ -3,6 +3,8 @@ /* Alternate to the system's built-in gettext. * relies on .po files (can't read .mo easily). * Uses the session for caching (speed increase) + * Possible use in other PHP scripts? The only SM-specific thing is + * $sm_language, I think */ if (defined('gettext_php')) @@ -16,16 +18,28 @@ $gettext_php_loaded = false; session_register('gettext_php_loaded'); } + if (! isset($gettext_php_domain)) { + $gettext_php_domain = ''; + session_register('gettext_php_translateStrings'); + } + if (! isset($gettext_php_dir)) { + $gettext_php_dir = ''; + session_register('gettext_php_translateStrings'); + } + if (! isset($gettext_php_translateStrings)) { + $gettext_php_translateStrings = array(); + session_register('gettext_php_translateStrings'); + } function gettext_php_load_strings() { global $sm_language, $gettext_php_translateStrings, $gettext_php_domain, $gettext_php_dir, $gettext_php_loaded; // $sm_language gives 'en' for English, 'de' for German, etc. - // I didn't wanna use getenv or similar. + // I didn't wanna use getenv or similar, but you easily could change + // my code to do that. $gettext_php_translateStrings = array(); - session_register('gettext_php_translateStrings'); $filename = $gettext_php_dir; if (substr($filename, -1) != '/') @@ -34,6 +48,7 @@ $file = fopen($filename, 'r'); if ($file === false) + // Uh-ho return; $key = ''; @@ -47,6 +62,9 @@ if (ereg('^msgid "(.*)"$', $line, $match)) { if ($match[1] == '') { // Potential multi-line + // msgid "" + // "string string " + // "string string" $key = ''; $line = trim(fgets($file, 4096)); while (ereg('^[ ]*"(.*)"[ ]*$', $line, $match)) { @@ -54,11 +72,15 @@ $line = trim(fgets($file, 4096)); } } else { + // msgid "string string" $key = $match[1]; } } elseif (ereg('^msgstr "(.*)"$', $line, $match)) { if ($match[1] == '') { // Potential multi-line + // msgstr "" + // "string string " + // "string string" $gettext_php_translateStrings[$key] = ''; $line = trim(fgets($file, 4096)); while (ereg('^[ ]*"(.*)"[ ]*$', $line, $match)) { @@ -66,6 +88,7 @@ $line = trim(fgets($file, 4096)); } } else { + // msgstr "string string" $gettext_php_translateStrings[$key] = $match[1]; } $key = ''; |