diff --git a/apps/workflowengine/lib/Check/UserGroupMembership.php b/apps/workflowengine/lib/Check/UserGroupMembership.php
index f437dbfc2d1d0b34356915f969d153dcc0e7d3b9..6390c57fbea2b54043ff36a3dff785e77af59dbe 100644
--- a/apps/workflowengine/lib/Check/UserGroupMembership.php
+++ b/apps/workflowengine/lib/Check/UserGroupMembership.php
@@ -24,6 +24,7 @@ namespace OCA\WorkflowEngine\Check;
 
 use OCP\Files\Storage\IStorage;
 use OCP\IGroupManager;
+use OCP\IL10N;
 use OCP\IUser;
 use OCP\IUserSession;
 use OCP\WorkflowEngine\ICheck;
@@ -42,13 +43,18 @@ class UserGroupMembership implements ICheck {
 	/** @var IGroupManager */
 	protected $groupManager;
 
+	/** @var IL10N */
+	protected $l;
+
 	/**
 	 * @param IUserSession $userSession
 	 * @param IGroupManager $groupManager
+	 * @param IL10N $l
 	 */
-	public function __construct(IUserSession $userSession, IGroupManager $groupManager) {
+	public function __construct(IUserSession $userSession, IGroupManager $groupManager, IL10N $l) {
 		$this->userSession = $userSession;
 		$this->groupManager = $groupManager;
+		$this->l = $l;
 	}
 
 	/**
@@ -83,11 +89,11 @@ class UserGroupMembership implements ICheck {
 	 */
 	public function validateCheck($operator, $value) {
 		if (!in_array($operator, ['is', '!is'])) {
-			throw new \UnexpectedValueException('Invalid operator', 1);
+			throw new \UnexpectedValueException($this->l->t('Operator %s is invalid', $operator), 1);
 		}
 
 		if (!$this->groupManager->groupExists($value)) {
-			throw new \UnexpectedValueException('Group does not exist', 2);
+			throw new \UnexpectedValueException($this->l->t('Group %s does not exist', $value), 2);
 		}
 	}
 
diff --git a/apps/workflowengine/lib/Manager.php b/apps/workflowengine/lib/Manager.php
index f2a04dfb0fa83e94c690d4f39f0f631724445360..b72836a919c90d9ccc54802b8ce394d8d6f4e630 100644
--- a/apps/workflowengine/lib/Manager.php
+++ b/apps/workflowengine/lib/Manager.php
@@ -26,6 +26,7 @@ use OCP\AppFramework\QueryException;
 use OCP\DB\QueryBuilder\IQueryBuilder;
 use OCP\Files\Storage\IStorage;
 use OCP\IDBConnection;
+use OCP\IL10N;
 use OCP\IServerContainer;
 use OCP\WorkflowEngine\ICheck;
 use OCP\WorkflowEngine\IManager;
@@ -50,13 +51,18 @@ class Manager implements IManager {
 	/** @var IServerContainer|\OC\Server */
 	protected $container;
 
+	/** @var IL10N */
+	protected $l;
+
 	/**
 	 * @param IDBConnection $connection
 	 * @param IServerContainer $container
+	 * @param IL10N $l
 	 */
-	public function __construct(IDBConnection $connection, IServerContainer $container) {
+	public function __construct(IDBConnection $connection, IServerContainer $container, IL10N $l) {
 		$this->connection = $connection;
 		$this->container = $container;
+		$this->l = $l;
 	}
 
 	/**
@@ -111,7 +117,7 @@ class Manager implements IManager {
 			return $checkInstance->executeCheck($check['operator'], $check['value']);
 		} else {
 			// Check is invalid
-			throw new \RuntimeException('Check ' . htmlspecialchars($check['class']) . ' is invalid or does not exist');
+			throw new \UnexpectedValueException($this->l->t('Check %s is invalid or does not exist', $check['class']));
 		}
 	}
 
@@ -158,7 +164,7 @@ class Manager implements IManager {
 			return $row;
 		}
 
-		throw new \UnexpectedValueException('Operation does not exist');
+		throw new \UnexpectedValueException($this->l->t('Operation #%s does not exist', $id));
 	}
 
 	/**
@@ -262,7 +268,7 @@ class Manager implements IManager {
 
 		if (!empty($checkIds)) {
 			$missingCheck = array_pop($checkIds);
-			throw new \RuntimeException('Check #' . htmlspecialchars($missingCheck) . ' is invalid or does not exist');
+			throw new \UnexpectedValueException($this->l->t('Check #%s does not exist', $missingCheck));
 		}
 
 		return $checks;
diff --git a/apps/workflowengine/templates/admin.php b/apps/workflowengine/templates/admin.php
index 9e01f8359fa92b777091398bbe934114e9a74365..4eabf783bbae02e52c813db325f150a1939b2e52 100644
--- a/apps/workflowengine/templates/admin.php
+++ b/apps/workflowengine/templates/admin.php
@@ -20,13 +20,13 @@
  */
 
 /** @var array $_ */
-/** @var OC_L10N $l */
+/** @var \OCP\IL10N $l */
 ?>
 <div id="<?php p($_['appid']); ?>" class="section workflowengine">
 	<h2 class="inlineblock"><?php p($_['heading']); ?></h2>
 	<script type="text/template" id="operations-template">
 		<div class="operations"></div>
-		<button class="button-add-operation">Add operation</button>
+		<button class="button-add-operation"><?php p($l->t('Add operation')); ?></button>
 	</script>
 
 	<script type="text/template" id="operation-template">
@@ -56,17 +56,17 @@
 				</div>
 				{{/each}}
 			</div>
-			<button class="button-add">Add check</button>
+			<button class="button-add"><?php p($l->t('Add check')); ?></button>
 			{{#if hasChanged}}
 				{{! reset only makes sense if the operation is already saved }}
 				{{#if operation.id}}
-					<button class="button-reset pull-right">Reset</button>
+					<button class="button-reset pull-right"><?php p($l->t('Reset')); ?></button>
 				{{/if}}
-				<button class="button-save pull-right">Save</button>
+				<button class="button-save pull-right"><?php p($l->t('Save')); ?></button>
 			{{/if}}
 			{{#if saving}}
 				<span class="icon-loading-small pull-right"></span>
-				<span class="pull-right">Saving ...</span>
+				<span class="pull-right"><?php p($l->t('Saving…')); ?></span>
 			{{else}}{{#if message}}
 				<span class="msg pull-right {{#if errorMessage}}error{{else}}success{{/if}}">
 					{{message}}{{#if errorMessage}} {{errorMessage}}{{/if}}
@@ -75,5 +75,5 @@
 		</div>
 	</script>
 
-	<div class="rules"><span class="icon-loading-small"></span> Loading ...</div>
+	<div class="rules"><span class="icon-loading-small"></span> <?php p($l->t('Loading…')); ?></div>
 </div>