diff options
Diffstat (limited to 'classes')
-rwxr-xr-x | classes/pluginhost.php | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/classes/pluginhost.php b/classes/pluginhost.php index 96b1ce499..2ad9ae11d 100755 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -1,4 +1,18 @@ <?php +/* gettext helpers for plugins */ + +function P__($plugin, $msgid) { + return P_gettext($plugin, $msgid); +} + +function P_gettext($plugin, $msgid) { + return _dgettext(PLuginHost::object_to_domain($plugin), $msgid); +} + +function P_ngettext($plugin, $singular, $plural, $number) { + return _dngettext(PLuginHost::object_to_domain($plugin), $singular, $plural, $number); +} + class PluginHost { private $pdo; private $hooks = array(); @@ -63,6 +77,10 @@ class PluginHost { const KIND_SYSTEM = 2; const KIND_USER = 3; + static function object_to_domain($plugin) { + return strtolower(get_class($plugin)); + } + function __construct() { $this->pdo = Db::pdo(); @@ -211,6 +229,11 @@ class PluginHost { continue; } + if (file_exists(dirname($file) . "/locale")) { + _bindtextdomain($class, dirname($file) . "/locale"); + _bind_textdomain_codeset($class, "UTF-8"); + } + $this->last_registered = $class; switch ($kind) { |