diff --git a/config-templates/config.php b/config-templates/config.php
index 7feb83a434c55bb206ecb9bd0313630ceb0f3596..f92652b6f8f7b456027d7b92851651efd2f9048c 100644
--- a/config-templates/config.php
+++ b/config-templates/config.php
@@ -112,7 +112,7 @@ $config = array (
 	/*
 	 * Languages available and what language is default
 	 */
-	'language.available'	=> array('en', 'no', 'dk', 'es'),
+	'language.available'	=> array('en', 'no', 'dk', 'es', 'de'),
 	'language.default'		=> 'en',
 	
 	/*
diff --git a/dictionaries/errors.php b/dictionaries/errors.php
index 1b4abc8e751d00644696b119cccf559f7530b5f9..b16a0e379c3e6d2102be8a36889eb9422a24a908 100644
--- a/dictionaries/errors.php
+++ b/dictionaries/errors.php
@@ -6,67 +6,76 @@ $lang = array(
 	'error_header' => array(
 		'en' => 'simpleSAMLphp error',
 		'no' => 'simpleSAMLphp feil',
-		'dk' => '',
+		'dk' => 'simpleSAMLphp fejl',
 	),
 	
 	'report_trackid' => array(
 		'en' => 'If you report this error, please also report this tracking ID which makes it possible to locate your session in the logs which are available to the system administrator:',
 		'no' => 'Hvis du ønsker å rapportere denne feilen, send også med denne sporings-IDen. Den gjør det enklere for systemadministratorene og finne ut hva som gikk galt:',
 		'dk' => 'Hvis du vil rapportere denne fejl, så medsend venligst dette sporings-ID. Den gør det muligt for teknikerne at finde fejlen.',
+		'es' => 'Por favor, si informa de este error, mantenga el <emph>tracking ID</emph> que permite enonctrar su sesi&oacute;n en los registros de que dispone el administrador del sistema:',
 	),
 	
 	'debuginfo_header' => array(
 		'en' => 'Debug information',
 		'no' => 'Detaljer for feilsøking',
 		'dk' => 'Detaljer til fejlsøgning',
+		'es' => 'Informaci&oacute;n de depuraci&oacute;n',
 	),
 
 	'debuginfo_text' => array(
 		'en' => 'The debug information below may be interesting for the administrator / help desk:',
 		'no' => 'Detaljene nedenunder kan være av interesse for administratoren / hjelpetjenesten',
 		'dk' => 'Detaljerne herunder kan være af interesse for teknikerne / help-desken',
+		'es' => 'La siguiente informaci&oacute; de depuraci;oacute;n puede ser de utilidad para el administrador del sistema o el centro de atenci&aucte;n a usuarios:',
 	),
 	
 	'report_header' => array(
 		'en' => 'Report errors',
 		'no' => 'Rapporter feil',
 		'dk' => 'Rapportér fejl',
+		'es' => 'Informar del error',
 	),
 
 	'report_text' => array(
 		'en' => 'Optionally enter your email address, for the administrators to be able contact you for further questions about your issue:',
 		'no' => 'Dersom du ønsker at hjelpetjenesten skal kunde kontakte deg igjen i forbindelse med denne feilen, må du oppgi e-post adressen din nedenunder:',
 		'dk' => 'Hvis du vil kunne kontaktes i forbindelse med fejlmeldingen, bedes du indtaste din emailadresse herunder',
+		'es' => 'Si lo desea, indique su direcci&oacute;n electr;oacute;nica, para que los administradores puedan ponerse en contacto con usted y obtener datos adicionales de su problema',
 	),
 	
 	'report_email' => array(
-		'en' => 'E-mail address: ',
+		'en' => 'E-mail address:',
 		'no' => 'E-post adresse:',
-		'dk' => 'E-mailadresse',
+		'dk' => 'E-mailadresse:',
+		'es' => 'Correo-e:',
 	),
 	
 	'report_explain' => array(
 		'en' => 'Explain what you did to get this error...',
 		'no' => 'Forklar hva du gjorde og hvordan feilen oppsto...',
 		'dk' => 'Forklar hvad du gjorde og hvordan fejlen opstod',
+		'es' => 'Explique lo que ha hecho para llegar a este error...',
 	),
 	
 	'report_submit' => array(
 		'en' => 'Send error report',
 		'no' => 'Send feilrapport',
 		'dk' => 'Send fejlrapport',
+		'es' => 'Send error report',
 	),
 	
 	'howto_header' => array(
-		'en' => 'Send error report',
-		'no' => 'Send feilrapport',
-		'dk' => 'Send fejlrapport',
+		'en' => 'How to get help',
+		'no' => 'Hvordan fĂĄ hjelp',
+		'dk' => 'Hvordan få hjælp',
 	),
 	
 	'howto_text' => array(
 		'en' => 'This error probably is due to some unexpected behaviour or to misconfiguration of simpleSAMLphp. Contact the administrator of this login service, and send them the error message above.',
 		'no' => 'Denne feilen skyldes sannsynligvis en feilkonfigurasjon av simpleSAMLphp eller som en følge av en uforutsett hendelse. Kontakt administratoren av denne tjenesten og rapporter så mye som mulig angående feilen.',
 		'dk' => 'Denne fejl skyldes formentlig en fejlkonfiguration af simpleSAMLphp - alternativt en ukendt fejl. Kontakt administratoren af denne tjeneste og rapportér så mange detaljer som muligt om fejlen',
+		'es' => 'Este erro se debe probablemente a un comportamiento inesperado o a una configuraci&oacute; incorrecta de simpleSAMLphp. P&oacute;ngase en contacto con el administrador de este servicio de conexi&oacute;n y env&iacute;ele el mensaje de error anterior.',
 	),
 	
 	'title_CACHEAUTHNREQUEST' => array('en' => 'Error making single sign-on to service'),
diff --git a/dictionaries/frontpage.php b/dictionaries/frontpage.php
index cc8a2387a51cfa60a77932482662785d2d69fc29..975356a0f36b0ec5abd41ad83dfbb73ac7b1ba02 100644
--- a/dictionaries/frontpage.php
+++ b/dictionaries/frontpage.php
@@ -6,37 +6,44 @@ $lang = array(
 		'en' => '<strong>Congratulations</strong>, you have successfully installed simpleSAMLphp. This is the start page of your installation, where you will find links to test examples, diagnostics, metadata and even links to relevant documentation.',
 		'no' => '<strong>Gratulerer</strong>, du har nĂĄ installert simpleSAMLphp. Dette er startsiden til din simpleSAMLphp installasjon, hvor du vil finne eksempler, diagnostikk, metadata og til og med lenker til relevant dokumentasjon.',
 		'dk' => '<strong>Tillykke</strong>, du har nu installeret simpleSAMLphp. Dette er startsiden til installationen, hvor du vil finde eksempler, diagnostik, metadata og links til relevant dokumentation',
+		'es' => '<strong>&iexcl;Felicidades!</strong>, ha instalado simpleSAMLphp con &eacute;xito. This &eacute;sta es la p&aacute;gina inicial de su instalaci&oacute;n, aqu&iacute; encontrar&aacute; enlaces a ejemplos de prueba, diagn&oacute;sticos, metadatos e incluso enlaces a la documentaci&oacute;n pertienente.',
 	),
 	
 	'useful_links_header' => array(
 		'en' => 'Useful links for your installation',
 		'no' => 'Nyttige lenker for denne installasjonen',
 		'dk' => 'Nyttige links',
+		'es' => 'Enalces &uacute;tiles para su instalaci&oacute;n',
 	),
 	'metadata_header' => array(
 		'en' => 'Metadata',
 		'no' => 'Metadata',
 		'dk' => 'Metadata',
+		'es' => 'Metadatos',
 	),
 	'doc_header' => array(
 		'en' => 'Documentation',
 		'no' => 'Dokumentasjon',
 		'dk' => 'Dokumentation',
+		'es' => 'Documentaci&oacute;n',
 	),
 	'checkphp' => array(
 		'en' => 'Checking your PHP installation',
 		'no' => 'Sjekker din PHP installasjon',
 		'dk' => 'Checker din PHP-installation',
+		'es' => 'Verificaci&oacute;n de su instalaci&oacute;n de PHP',
 	),
 	'about_header' => array(
 		'en' => 'About simpleSAMLphp',
 		'no' => 'Om simpleSAMLphp',
 		'dk' => 'Om simpleSAMLphp',
+		'es' => 'Sobre simpleSAMLphp',
 	),
 	'about_text' => array(
 		'en' => 'This simpleSAMLphp thing is pretty cool, where can I read more about it? You can find more information about <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp at the Feide RnD blog</a> over at <a href="http://uninett.no">UNINETT</a>.',
 		'no' => 'Yey! simpleSAMLphp virker jammen kult, hvor kan jeg finne ut mer om det? Du kan lese mer om simpleSAMLphp pĂĄ <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp sin hjemmeside</a>.',
 		'dk' => 'Yes, det er cool! Hvor kan jeg læse mere om det? Gå til <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp sin hjemmeside</a>',
+		'es' => '&iexcl;Eh! Esto del simpleSAMLphp est&aacute; interesante, &iquest;d&oacute;nde puedo averiguar m&aacute;a? Hay m&aacute;s informaci&oacute;n sobre <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp en el blog de I+D de Feide</a> en <a href="http://uninett.no">UNINETT</a>.',
 	),
 	
 	'required' => array(
@@ -69,6 +76,7 @@ $lang = array(
 		'en' => 'Warnings',
 		'no' => 'Advarsler',
 		'dk' => 'Advarsler',
+		'es' => 'Avisos',
 	),
 	
 	'warnings_https' => array(
diff --git a/dictionaries/login.php b/dictionaries/login.php
index 5230de4fa6e38172180e06d60ef6269e9b7b7efd..8f6296e3dd24f01b58c14db30ce6374e40be0518 100644
--- a/dictionaries/login.php
+++ b/dictionaries/login.php
@@ -7,43 +7,51 @@ $lang = array(
 		'en' => 'Error',
 		'no' => 'Error',
 		'dk' => 'Fejl',
+		'es' => 'Los datos que ha suministrado no son v&aacute;lidos',
 	),
 	'user_pass_header' => array(
 		'en' => 'Enter your username and password',
 		'no' => 'Skriv inn brukernavn og passord',
 		'dk' => 'Indtast brugernavn og kodeord',
+		'es' => 'Indique su nombre de usuario y clave de acceso',
 	),
 	'user_pass_text' => array(
 		'en' => 'A service has requested you to authenticate your self. That means you need to enter your username and password in the form below.',
 		'no' => 'En tjeneste har forespurt autentisering av deg. Det betyr at du mĂĄ skriv inn ditt brukernavn og passord for ĂĄ autentisere deg.',
 		'dk' => 'En web-tjeneste har bedt om at tilkendegiver dig. Det betyder, at du skal indtaste dit brugernavn og kodeord herunder',
+		'es' => 'Un servicio solicita que se autentique usted. Esto siginifica que debe indicar su nombre de usuario y su clave de acceso en el siguiente formulario.',
 	),
 	'login_button' => array(
 		'en' => 'Login',
 		'no' => 'Logg inn',
 		'dk' => 'Login',
+		'es' => 'Login',
 	),
 	'username' => array(
 		'en' => 'Username',
 		'no' => 'Brukernavn',
 		'dk' => 'Brugernavn',
+		'es' => 'Nombre de usuario',
 	),
 	'password' => array(
 		'en' => 'Password',
 		'no' => 'Passord',
 		'dk' => 'Kodeord',
+		'es' => 'Clave de acceso',
 	),
 
 	'help_header' => array(
 		'en' => 'Help! I don\'t remember my password.',
 		'no' => 'Hjelp! Jeg har glemt passordet mitt',
 		'dk' => 'Hjælp! Jeg har glemt mit kodeord',
+		'es' => '&iexcl;Socorro! Se me ha olvidado mi clave de acceso.',
 	),
 	'help_text' => array(
 		'en' => 'Too bad! - Without your username and password you cannot authenticate your self and access the service.
 		There may be someone that can help you. Contact the help desk at your university!',
 		'no' => 'Synd! - Uten riktig brukernavn og passord kan du ikke autentisere deg. Det kan være noen som kan hjelpe deg. Forsøk å kontakt help-desk hos din hjemmeorganisasjon.',
 		'dk' => 'Desværre, uden korrekt brugernavn og kodeord kan du ikke få adgang til tjenesten. Måske kan help-desk på din hjemmeinstitution hjælpe dig',
+		'es' => '&iexcl;Muy mal! - Sin su nombre de usuario y su clave de acceso usted no se puede identificar y acceder al servicio. A lo mejor hay alguien que puede ayudarle. &iexcl;P&oacute;ngase en contacto con el centro de ayuda de su universidad!',
 	),
 
 	'error_nopassword' => array(