diff --git a/lib/SimpleSAML/Locale/Translate.php b/lib/SimpleSAML/Locale/Translate.php
index 004a7cd8165e793b5d77efaff1d49ef2ff11c729..4f3abf90152db3c33a17fc3a4182e8862749cf0d 100644
--- a/lib/SimpleSAML/Locale/Translate.php
+++ b/lib/SimpleSAML/Locale/Translate.php
@@ -467,4 +467,32 @@ class Translate
         );
         return array();
     }
+
+
+    public static function translateSingular($original)
+    {
+        $text = \Gettext\BaseTranslator::$current->gettext($original);
+
+        if (func_num_args() === 1) {
+            return $text;
+        }
+
+        $args = array_slice(func_get_args(), 1);
+
+        return strtr($text, is_array($args[0]) ? $args[0] : $args);
+    }
+
+
+    public static function translatePlural($original, $plural, $value)
+    {
+        $text = \Gettext\BaseTranslator::$current->ngettext($original, $plural, $value);
+
+        if (func_num_args() === 3) {
+            return $text;
+        }
+
+        $args = array_slice(func_get_args(), 3);
+
+        return strtr($text, is_array($args[0]) ? $args[0] : $args);
+    }
 }