diff --git a/bin/translation.php b/bin/translation.php
deleted file mode 100755
index 82c60a04b9b2c53afa3461bea54990ceb169766f..0000000000000000000000000000000000000000
--- a/bin/translation.php
+++ /dev/null
@@ -1,194 +0,0 @@
-#!/usr/bin/env php
-<?php
-
-// This is the base directory of the SimpleSAMLphp installation
-$baseDir = dirname(dirname(__FILE__));
-
-// Add library autoloader
-require_once($baseDir . '/lib/_autoload.php');
-
-if (count($argv) !== 3) {
-	echo "Wrong number of parameters. Run:   " . $argv[0] . " [pulldef,push,pull] filename\n"; exit;
-}
-
-$action = $argv[1];
-$file = $argv[2];
-
-$translationconfig = SimpleSAML_Configuration::getConfig('translation.php');
-
-$application = $translationconfig->getString('application', 'simplesamlphp');
-$base = $translationconfig->getString('baseurl') . '/module.php/translationportal/';
-
-if (!preg_match('/^(.*?)(?:\.(definition|translation))?\.(json|php)/', $file, $match))
-	throw new Exception('Illlegal file name. Must end on (definition|translation).json');
-$fileWithoutExt = $match[1];
-if (!empty($match[2])) {
-	$type = $match[2];
-} else {
-	$type = 'definition';
-}
-
-$basefile = basename($fileWithoutExt);
-
-
-echo 'Action: [' . $action. ']' . "\n";
-echo 'Application: [' . $application. ']' . "\n";
-echo 'File orig: [' . $file . ']'. "\n";
-echo 'File base: [' . $basefile . ']'. "\n";
-
-
-switch($action) {
-	case 'pulldef':
-		
-		$content = \SimpleSAML\Utils\HTTP::fetch($base . 'export.php?aid=' . $application . '&type=def&file=' . $basefile);
-		file_put_contents($fileWithoutExt . '.definition.json' , $content);
-		break;
-		
-	case 'pull':
-
-		try {
-			$content = \SimpleSAML\Utils\HTTP::fetch($base . 'export.php?aid=' . $application . '&type=translation&file=' . $basefile);
-			file_put_contents($fileWithoutExt . '.translation.json' , $content);
-		}
-		catch (SimpleSAML_Error_Exception $e) {
-			echo 'Translation unavailable for ' . $basefile; 
-			SimpleSAML_Logger::warning("Translation unavailable for $basefile in $base: " . $e->getMessage());
-		}
-		break;
-	
-	case 'push':
-
-		push($file, $basefile, $application, $type);
-		
-		break;
-		
-	case 'convert':
-
-		include($file);
-		$definition = json_format(convert_definition($lang));
-		$translation = json_format(convert_translation($lang)) . "\n";
-		file_put_contents($fileWithoutExt . '.definition.json' , $definition);
-		file_put_contents($fileWithoutExt . '.translation.json' , $translation);
-		break;
-
-	
-	default:
-		throw new Exception('Unknown action [' . $action . ']');
-}
-
-function ssp_readline($prompt = '') {
-    echo $prompt;
-    return rtrim( fgets( STDIN ), "\n" );
-}
-
-function convert_definition($data) {
-	$new = array();
-	foreach($data AS $key => $value) {
-		$new[$key] = array('en' => $value['en']);
-	}
-	return $new;
-}
-
-function convert_translation($data) {
-	foreach ($data as &$value) {
-		unset($value['en']);
-	}
-	return $data;
-}
-
-function push($file, $fileWithoutExt, $aid, $type) {
-	
-	if (!file_exists($file)) throw new Exception('Could not find file: ' . $file);
-	
-	$fileContent = file_get_contents($file);
-	
-	
-	global $baseDir;
-	
-	require_once($baseDir . '/modules/oauth/libextinc/OAuth.php');
-
-
-	
-	$translationconfig = SimpleSAML_Configuration::getConfig('translation.php');
-
-	$baseurl = $translationconfig->getString('baseurl');
-	$key = $translationconfig->getString('key');
-	$secret = $translationconfig->getString('secret');
-	
-	echo 'Using OAuth to authenticate you to the translation portal' . "\n";
-	$consumer = new sspmod_oauth_Consumer($key, $secret);
-
-	
-	
-	$storage = new sspmod_core_Storage_SQLPermanentStorage('oauth_clientcache');
-	
-	$cachedAccessToken = $storage->get('accesstoken', 'translation', '');
-	$accessToken = NULL;
-	if (empty($cachedAccessToken)) {
-
-		// Get the request token
-		$requestToken = $consumer->getRequestToken($baseurl . '/module.php/oauth/requestToken.php');
-		echo "Got a request token from the OAuth service provider [" . $requestToken->key . "] with the secret [" . $requestToken->secret . "]\n";
-
-		// Authorize the request token
-		$url = $consumer->getAuthorizeRequest($baseurl . '/module.php/oauth/authorize.php', $requestToken, FALSE);
-
-		echo('Go to this URL to authenticate/authorize the request: ' . $url . "\n");
-		system('open ' . $url);
-
-		ssp_readline('Click enter when you have completed the authorization step using your web browser...');
-
-		// Replace the request token with an access token
-		$accessToken = $consumer->getAccessToken( $baseurl . '/module.php/oauth/accessToken.php', $requestToken);
-		echo "Got an access token from the OAuth service provider [" . $accessToken->key . "] with the secret [" . $accessToken->secret . "]\n";
-		
-		$storage->set('accesstoken', 'translation', '', $accessToken);
-		
-	} else {
-		$accessToken = $cachedAccessToken['value'];
-		echo 'Successfully read OAuth Access Token from cache [' . $accessToken->key . ']' . "\n";
-	}
-
-	$pushURL = $baseurl . '/module.php/translationportal/push.php';
-	$request = array('data' => base64_encode($fileContent), 'file' => $fileWithoutExt, 'aid' => $aid, 'type' => $type);
-	
-	$result = $consumer->postRequest($pushURL, $accessToken, $request);
-	
-	echo $result;
-	
-	
-}
-
-/**
- * Format an associative array as a json string.
- *
- * @param mixed $data  The data that should be json encoded.
- * @param string $indentation  The current indentation level. Optional.
- * @return string  The json encoded data.
- */
-function json_format($data, $indentation = '') {
-	assert('is_string($indentation)');
-
-	if (!is_array($data)) {
-		return json_encode($data);
-	}
-
-	$ret = "{";
-	$first = TRUE;
-	foreach ($data as $k => $v) {
-		$k = json_encode((string)$k);
-		$v = json_format($v, $indentation . "\t");
-
-		if ($first) {
-			$ret .= "\n";
-			$first = FALSE;
-		} else {
-			$ret .= ",\n";
-		}
-
-		$ret .= $indentation . "\t" . $k . ': ' . $v;
-	}
-	$ret .= "\n" . $indentation . '}';
-
-	return $ret;
-}