3 * SquirrelMail internal ngettext functions
5 * Uses php-gettext classes
7 * Copyright (c) 2004-2005 The SquirrelMail Project Team
8 * Licensed under the GNU GPL. For full terms see the file COPYING.
10 * @copyright (c) 2004-2005 The SquirrelMail Project Team
11 * @license http://opensource.org/licenses/gpl-license.php GNU Public Licens
12 * @link http://www.php.net/gettext Original php gettext manual
13 * @link http://savannah.nongnu.org/projects/php-gettext php-gettext classes
15 * @package squirrelmail
21 * internal ngettext wrapper.
23 * provides ngettext support
25 * @link http://www.php.net/function.ngettext
26 * @param string $single English string, singular form
27 * @param string $plural English string, plural form
28 * @param integer $number number that shows used quantity
29 * @return string translated string
31 function ngettext($single, $plural, $number) {
32 global $l10n, $gettext_domain;
33 if (! isset($l10n[$gettext_domain]) ||
34 ! is_object($l10n[$gettext_domain]) ||
35 $l10n[$gettext_domain]->error
==1)
36 return ($number==1 ?
$single : $plural);
37 return $l10n[$gettext_domain]->ngettext($single, $plural, $number);
42 * freaky setup where ngettext is not available and dngettext is available.
44 if (! function_exists('dngettext')) {
46 * internal dngettext wrapper.
48 * provides dngettext support
50 * @link http://www.php.net/function.dngettext
51 * @param string $domain Gettext domain
52 * @param string $single English string, singular form
53 * @param string $plural English string, plural form
54 * @param integer $number number that shows used quantity
55 * @return string translated string
57 function dngettext($domain, $single, $plural, $number) {
59 // Make sure that $number is integer
60 $number = (int) $number;
62 // Make sure that domain is initialized
63 if (! isset($l10n[$domain]) ||
64 ! is_object($l10n[$domain]) ||
65 $l10n[$domain]->error
==1)
66 return ($number==1 ?
$single : $plural);
68 // use ngettext class function
69 return $l10n[$domain]->ngettext($single, $plural, $number);