<?php
+
/**
* Copyright (c) 2003 Danilo Segan <danilo@kvota.net>.
*
* This file is part of PHP-gettext.
*
- * PHP-gettext is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * PHP-gettext is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
- * PHP-gettext is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * PHP-gettext is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with PHP-gettext; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License
+ * along with PHP-gettext; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
+ * @copyright 2004-2011 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
* @package squirrelmail
* @subpackage i18n
*/
-
+
/**
* Class that uses parsed translation input objects
* @package squirrelmail
$byte[$i]=ord($this->STREAM->read(1));
}
//print sprintf("pos: %d\n",$this->STREAM->currentpos());
- if ($this->BYTEORDER == 0)
+ if ($this->BYTEORDER == 0)
return (int)(($byte[0]) | ($byte[1]<<8) | ($byte[2]<<16) | ($byte[3]<<24));
- else
+ else
return (int)(($byte[3]) | ($byte[2]<<8) | ($byte[1]<<16) | ($byte[0]<<24));
}
$data = $this->STREAM->read($length);
return (string)$data;
}
-
+
/**
* binary search for string
* @param string $string
if ($cmp == 0) {
$this->_HASHED[$string] = $half;
return $half;
- } elseif ($cmp<0)
+ } elseif ($cmp<0)
return $this->find_string($string,$start,$half);
else
return $this->find_string($string,$half,$end);
* @return string translated string
*/
function translate($string) {
- if ($this->error > 0) return $string;
+ if ($this->error > 0) return $string;
$num = $this->find_string($string, 0, $this->total);
if ($num == -1)
return $string;
- else
+ else
return $this->get_translation_number($num);
}
// this is true, right?
// cache header field for plural forms
- if (isset($this->pluralheader) && is_string($this->pluralheader))
+ if (isset($this->pluralheader) && is_string($this->pluralheader))
return $this->pluralheader;
else {
$header = $this->get_translation_number(0);
- if (eregi("plural-forms: (.*)\n",$header,$regs)) {
+ if (preg_match('/plural-forms: (.*)\n/i',$header,$regs)) {
$expr = $regs[1];
} else {
$expr = "nplurals=2; plural=n == 1 ? 0 : 1;";
$result=-1;
} else {
// find out the appropriate form
- $select = $this->select_string($number);
+ $select = $this->select_string($number);
// this should contains all strings separated by NULLs
$result = $this->find_string($single.chr(0).$plural,0,$this->total);
}
}
}
-?>
\ No newline at end of file