From 767c95750d02360bfd40b9e71ce183338f7e4c33 Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Tue, 5 Oct 2010 13:14:56 +0200 Subject: [PATCH] Add Translation package. --- framework/Translation/lib/Horde/Translation.php | 29 ++++++++ .../Translation/lib/Horde/Translation/Gettext.php | 62 +++++++++++++++++ framework/Translation/package.xml | 77 ++++++++++++++++++++++ 3 files changed, 168 insertions(+) create mode 100644 framework/Translation/lib/Horde/Translation.php create mode 100644 framework/Translation/lib/Horde/Translation/Gettext.php create mode 100644 framework/Translation/package.xml diff --git a/framework/Translation/lib/Horde/Translation.php b/framework/Translation/lib/Horde/Translation.php new file mode 100644 index 000000000..ce7653858 --- /dev/null +++ b/framework/Translation/lib/Horde/Translation.php @@ -0,0 +1,29 @@ + + * @package Translation + */ +interface Horde_Translation +{ + /** + * Returns the translation of a message. + * + * @var string $message The string to translate. + * + * @return string The string translation, or the original string if no + * translation exists. + */ + public function t($message); +} diff --git a/framework/Translation/lib/Horde/Translation/Gettext.php b/framework/Translation/lib/Horde/Translation/Gettext.php new file mode 100644 index 000000000..04637b513 --- /dev/null +++ b/framework/Translation/lib/Horde/Translation/Gettext.php @@ -0,0 +1,62 @@ + + * @package Translation + */ +class Horde_Translation_Gettext implements Horde_Translation +{ + /** + * The translation domain, e.g. package name. + * + * @var string + */ + protected $_domain; + + /** + * Whether the gettext extension is installed. + * + * @var boolean + */ + protected $_gettext; + + /** + * Constructor. + * + * @param string $domain The translation domain, e.g. package name. + * @param string $path The path to the gettext catalog. + */ + public function __construct($domain, $path) + { + $this->_gettext = function_exists('_'); + if (!$this->_gettext) { + return; + } + $this->_domain = $domain; + bindtextdomain($this->_domain, $path); + } + + /** + * Returns the translation of a message. + * + * @var string $message The string to translate. + * + * @return string The string translation, or the original string if no + * translation exists. + */ + public function t($message) + { + return $this->_gettext ? dgettext($this->_domain, $message) : $message; + } +} diff --git a/framework/Translation/package.xml b/framework/Translation/package.xml new file mode 100644 index 000000000..6ab343ecd --- /dev/null +++ b/framework/Translation/package.xml @@ -0,0 +1,77 @@ + + + Translation + pear.horde.org + Horde translation library + . + + Jan Schneider + jan + jan@horde.org + yes + + 2010-10-05 + + + 0.1.0 + 0.1.0 + + + beta + beta + + LGPL + +* Initial release. + + + + + + + + + + + + + + + + + 5.2.0 + + + 1.5.0 + + + + + gettext + + + + + + + + + + + + + 0.1.0 + 0.1.0 + + + beta + beta + + 2010-10-05 + LGPL + +* Initial release. + + + + -- 2.11.0