diff --git a/dictionaries/attributes.php b/dictionaries/attributes.php
index 7c037abba00504e41743f2cd61e4e6f429185451..350ead729e1c9fb857d865500c2dcb3a6165c8eb 100644
--- a/dictionaries/attributes.php
+++ b/dictionaries/attributes.php
@@ -7,7 +7,7 @@ $lang = array(
 		'se' => 'Olles namma',
 		'da' => 'Kaldenavn',
 		'en' => 'Common name',
-		'de' => 'Allgemeiner Name',
+		'de' => 'Voller Name',
 		'sv' => 'Fullständigt namn',
 		'es' => 'Nombre comĂşn (CN)',
 		'fr' => 'Nom usuel',
@@ -21,6 +21,7 @@ $lang = array(
 		'no' => 'Navneledd (DC)',
 		'nn' => 'Domene-komponent',
 		'en' => 'Domain component (DC)',
+		'de' => 'Domain-Komponente',
 		'sv' => 'Domännamnskomponent',
 		'es' => 'Componente de dominio (DC)',
 		'lb' => 'Domain Komponent',
@@ -32,6 +33,7 @@ $lang = array(
 		'no' => 'Navn som normalt vises',
 		'nn' => 'Namn på den forma brukaren sjølv ønskjer (t.d. JR Rawlings i staden for fullt namn)',
 		'en' => 'Display name',
+		'de' => 'Anzeigename',
 		'sv' => 'Visningsnamn',
 		'es' => 'Nombre para mostrar',
 		'lb' => 'Ugewisenen Numm',
@@ -71,7 +73,7 @@ $lang = array(
 		'no' => 'Hjemmetelefon',
 		'nn' => 'Heimetelefon',
 		'en' => 'Home telephone',
-		'de' => 'Private Telefornnummer',
+		'de' => 'Private Telefonnummer',
 		'sv' => 'Hemtelefon',
 		'es' => 'Teléfono de su domicilio',
 		'lb' => 'Haustelefon',
@@ -119,7 +121,9 @@ $lang = array(
 		'no' => 'URI med valgfri tilleggskommentar',
 		'nn' => 'URI med kommentar om bruksomrĂĄde',
 		'en' => 'Labeled URI',
+		'de' => 'URI mit zusätzlicher Kennzeichnung',
 		'sv' => 'Hemsida',
+		'es' => 'UIR etiquetada',
 		'lb' => 'Beschrëfteten URI',
 		'sl' => 'OznaÄŤen URI',
 		'hr' => 'URI adresa',
@@ -145,6 +149,7 @@ $lang = array(
 		'no' => 'Overordnet',
 		'nn' => 'Overordna sjef',
 		'en' => 'Manager',
+		'de' => 'Manager/in',
 		'sv' => 'Chef',
 		'es' => 'Gestor',
 		'lb' => 'Manager',
@@ -187,6 +192,7 @@ $lang = array(
 		'no' => 'Organisasjonsenhet',
 		'nn' => 'Organisasjonseining',
 		'en' => 'Organizational unit',
+		'de' => 'Organisationseinheit',
 		'sv' => 'Organisationsenhet',
 		'es' => 'Unidad organizativa',
 		'lb' => 'Organisatiounseenheet',
@@ -222,6 +228,7 @@ $lang = array(
 		'no' => 'Postboks',
 		'nn' => 'Postboks',
 		'en' => 'Post office box',
+		'de' => 'Postfach',
 		'sv' => 'Box',
 		'es' => 'CĂłdigo postal',
 		'lb' => 'Postschléissfach',
@@ -320,6 +327,7 @@ $lang = array(
 		'no' => 'Organisasjonens hjemmeside',
 		'nn' => 'Organisasjonen si heimeside (URL)',
 		'en' => 'Organizational homepage',
+		'de' => 'Homepage der Organisation',
 		'sv' => 'Organisationens hemsida',
 		'es' => 'Página de su organización',
 		'lb' => 'Organisatiouns Websait',
@@ -331,6 +339,7 @@ $lang = array(
 		'no' => 'Foretaksnavn',
 		'nn' => 'Formelt namn pĂĄ organisasjonen',
 		'en' => 'Organization\'s legal name',
+		'de' => 'Name der Körperschaft',
 		'sv' => 'Organisationens legala namn',
 		'es' => 'Nombre legal de su organizaciĂłn',
 		'lb' => 'Numm vun der Organisatioun',
@@ -344,7 +353,7 @@ $lang = array(
 		'se' => 'Du doaibma organisašuvnnas',
 		'da' => 'Brugerens tilknytning til hjemmeorganisationen',
 		'en' => 'Affiliation',
-		'de' => 'Zugehörigkeit',
+		'de' => 'Organisationszugehörigkeit',
 		'sv' => 'Anknytning',
 		'es' => 'AfiliaciĂłn',
 		'fr' => 'Affiliation',
@@ -360,8 +369,9 @@ $lang = array(
 		'se' => 'URI mii čilge dihto vuoigatvuođa dihto ressurssaide',
 		'da' => 'Specifik rolle i forhold til tjenesten',
 		'en' => 'Entitlement regarding the service',
-		'de' => 'Besondere Rolle fĂĽr den Service',
+		'de' => 'Berechtigung',
 		'sv' => 'Roll(er) i aktuell tjänst',
+		'es' => 'Derecho relativo al servicio',
 		'fr' => 'Appartenance Ă  un groupe',
 		'nl' => 'Recht',
 		'lb' => 'Berechtegung',
@@ -373,7 +383,7 @@ $lang = array(
 		'no' => 'Kallenavn',
 		'nn' => 'Kallenamn',
 		'en' => 'Nickname',
-		'de' => 'Benutzername',
+		'de' => 'Spitzname',
 		'sv' => 'Smeknamn',
 		'es' => 'Alias',
 		'lb' => 'Spëtznumm',
@@ -385,6 +395,7 @@ $lang = array(
 		'no' => 'Entydig navn (DN) for brukerens vertsorganisasjon',
 		'nn' => 'LDAP-peikar (DN) til heimeorganisasjon for personen',
 		'en' => 'Distinguished name (DN) of person\'s home organization',
+		'de' => 'Distinguished name (DN) der Organisation',
 		'sv' => 'LDAP-pekare (DN) till personens organisation',
 		'es' => 'DN de su organizciĂłn origen',
 		'lb' => 'Distinguished name (DN) of person\'s home organization',
@@ -396,6 +407,7 @@ $lang = array(
 		'no' => 'Entydig navn (DN) for brukerens organisasjonsenhet',
 		'nn' => 'LDAP-peikar (DN) til organisasjonseining for personen',
 		'en' => 'Distinguished name (DN) of the person\'s home organizational unit',
+		'de' => 'Distinguished name (DN) der Organisationseinheit',
 		'sv' => 'LDAP-pekare (DN) till personens organisationsenhet',
 		'es' => 'DN de la Unidad Organizativa (OU) de su organizaciĂłn origen',
 		'lb' => 'Distinguished name (DN) of the person\'s home organizational unit',
@@ -407,6 +419,7 @@ $lang = array(
 		'no' => 'Primær tilknytning til organisasjon',
 		'nn' => 'Primærtilknyting til organisasjonen',
 		'en' => 'Primary affiliation',
+		'de' => 'Primäre Organisationszugehörigkeit',
 		'sv' => 'Primär anknytning',
 		'es' => 'AfiliaciĂłn primaria',
 		'lb' => 'Haapt Zougehéiregkeet',
@@ -422,6 +435,7 @@ $lang = array(
 		'en' => 'Person\'s principal name at home organization',
 		'de' => 'Persönliche ID bei der Heimorganisation',
 		'sv' => 'Användaridentitet vid din organisationen',
+		'es' => 'Identificador Ăşnico de la persona en su organizaciĂłn de origen',
 		'fr' => 'Nom de l\'utilisateur dans l\'organisation de rattachement',
 		'nl' => 'Persoons ID bij organizatie',
 		'lb' => 'Haaptnumm bei der Heemorganisatioun',
@@ -434,8 +448,8 @@ $lang = array(
 		'nn' => 'Rolle hos ein organisasjon spesifisert i attributtverdien',
 		'se' => 'Rolla diehto organisašuvnnas, dehe dihto domenas.',
 		'da' => 'Gruppemedlemskab',
-		'en' => 'Group membership',
-		'de' => 'Gruppenzugehörigkeit',
+		'en' => 'Affiliation at home organization',
+		'de' => 'Organisationszugehörigkeit bei der Heimorganisation',
 		'sv' => 'Grupptillhörighet',
 		'es' => 'Grupo',
 		'fr' => 'RĂ´les pour ce service',
@@ -449,8 +463,8 @@ $lang = array(
 		'no' => 'Persistent anonym ID',
 		'nn' => 'Persistent anonym ID',
 		'da' => 'Vedholdende anonymt bruger-ID hos tjenesten',
-		'en' => 'Persistent anonymous ID',
-		'de' => 'Persistente anonyme ID',
+		'en' => 'Persistent pseudonymous ID',
+		'de' => 'Persistente pseudonyme ID',
 		'sv' => 'Varaktig anonym identitet i aktuell tjänst',
 		'es' => 'ID anĂłnimo persistente',
 		'fr' => 'Identifiant persistant anonyme',
@@ -464,6 +478,7 @@ $lang = array(
 		'no' => 'Organisasjonsnummer',
 		'nn' => 'Organisasjonsnummer',
 		'en' => 'Organizational number',
+		'de' => 'Firmennummer nach dem Norwegischen Firmenregister',
 		'sv' => 'Organisationsnummer',
 		'es' => 'NĂşmero de la organizaciĂłn',
 		'lb' => 'Organisatiounsnummer',
@@ -487,6 +502,7 @@ $lang = array(
 		'no' => 'Lokalt ID-nummer',
 		'nn' => 'Lokalt brukarnummer (ansattnummer, studentnummer, elevnummer osb)',
 		'en' => 'Local identity number',
+		'de' => 'Lokale Kennummer',
 		'sv' => 'Lokal identifierare',
 		'es' => 'NĂşmero de identificaciĂłn local',
 		'lb' => 'Identitéitsnummer',
@@ -500,7 +516,7 @@ $lang = array(
 		'se' => 'Riegadannummir',
 		'da' => 'CPR nummer',
 		'en' => 'Identity number assigned by public authorities',
-		'de' => 'Personalausweisnummer',
+		'de' => 'Norwegische Personenkennziffer',
 		'sv' => 'Personnummer',
 		'es' => 'NĂşmero de la Seguridad Social',
 		'fr' => 'Numéro de sécurité sociale',
@@ -514,8 +530,8 @@ $lang = array(
 		'no' => 'Unik ID for vertsorganisasjon',
 		'nn' => 'Unik ID for organisasjon',
 		'da' => 'Hjemmeorganisationens entydige ID',
-		'en' => 'Unique home organization ID',
-		'de' => 'Eindeutige ID der Heimorganisation',
+		'en' => 'Home organization domain name',
+		'de' => 'Domain-Name der Heimorganisation',
 		'sv' => 'Unik identifierare för organisationen',
 		'es' => 'Identificador Ăşnico de la organizaciĂłn de origen',
 		'fr' => 'Identifiant unique de l\'organisation de rattachement',
diff --git a/dictionaries/consent.php b/dictionaries/consent.php
index c27e092d553631b75eefbc16abf969aed66538b0..976f930f2e3de91b03c8192cb42ec3e7ad4824b4 100644
--- a/dictionaries/consent.php
+++ b/dictionaries/consent.php
@@ -8,6 +8,7 @@ $lang = array(
 		'en' => 'Yes',
 		'de' => 'Ja',
 		'sv' => 'Ja',
+		'fi' => 'Kyllä',
 		'es' => 'SĂ­',
 		'fr' => 'Oui',
 		'nl' => 'Ja',
@@ -23,6 +24,7 @@ $lang = array(
 		'en' => 'No',
 		'de' => 'Nein',
 		'sv' => 'Nej',
+		'fi' => 'ei',
 		'es' => 'No',
 		'fr' => 'Non',
 		'nl' => 'Nee',
@@ -37,6 +39,7 @@ $lang = array(
 		'da' => 'Husk samtykke',
 		'en' => 'Remember consent',
 		'sv' => 'Spara samtycke',
+		'fi' => 'Muista',
 		'es' => 'Recordar el consentimiento',
 		'fr' => 'Se souvenir du consentement',
 		'nl' => 'Bewaar toestemming',
@@ -52,6 +55,7 @@ $lang = array(
 		'en' => 'You are about to login to the service',
 		'de' => 'Sie sind dabei sich bei dem Service anzumelden',
 		'sv' => 'Du är på väg att logga in i tjänsten',
+		'fi' => 'Olet kirjautumassa palveluun',
 		'es' => 'Está a punto de acceder al servicio',
 		'fr' => 'Vous ĂŞtes sur le point de vous connecter au service',
 		'nl' => 'U gaat inloggen bij een dienst',
@@ -66,6 +70,7 @@ $lang = array(
 		'da' => 'I login processen vil din Identity Provider sende attributter som indeholder oplysninger om din identitet til denne service. Vil du acceptere dette?',
 		'en' => 'In the login proccess, the identity provider will send attributes containing information about your identity to this service. Do you accept this?',
 		'sv' => 'Vid inloggningen kommer din inloggningstjänst att skicka attribut med information om användaridentitet till denna tjänst. Är detta okej?',
+		'fi' => 'Kirjautuessasi Identity Provider haluaa lähettää attribuutteja joissa on henkilötietoja palvelun tarjoajalle. Hyväksytkö tämän?',
 		'es' => 'Durante el proceso de login, el IdP enviará atributos que contienen información acerca de su identidad a este servicio. Acepta esto?',
 		'fr' => 'Lors de l\'ouverture de session, le fournisseur d\'identité enverra des informations sur votre identité à ce service. Acceptez-vous cela ?',
 		'nl' => 'Tijdens het login proces stuurt de identity provider zgn. attributen met daarin informatie over uw identiteit voor deze dienst. Bent u het daarmee eens?',
@@ -81,6 +86,7 @@ $lang = array(
 		'en' => 'login',
 		'de' => 'anmelden',
 		'sv' => 'Logga in',
+		'fi' => 'Tunnus',
 		'es' => 'login',
 		'fr' => 'ouvrir une session',
 		'nl' => 'Login',
@@ -140,6 +146,7 @@ $lang = array(
 		'en' => 'show/hide attributes',
 		'de' => 'zeige/verstecke Eigenschaften',
 		'sv' => 'visa/göm attribut',
+		'fi' => 'Näytä/piilota attribuutteja',
 		'es' => 'Mostrar/ocultar atributos',
 		'fr' => 'montrer/cacher les attributs',
 		'nl' => 'toon/verberg attributen',
diff --git a/dictionaries/disco.php b/dictionaries/disco.php
index 1e3516822858f6ba492ed4bc93294efa9088bdce..40f6ed1ea553355ead7dd740c013fbbd57f187be 100644
--- a/dictionaries/disco.php
+++ b/dictionaries/disco.php
@@ -3,34 +3,50 @@
 $lang = array(
 	'selectidp' => array (
 		'no' => 'Velg din identitetsleverandør',
+		'nn' => 'Vel innloggingsteneste',
 		'da' => 'Vælg institution (identitetsudbyder)',
 		'en' => 'Select your identity provider',
-		'sv' => 'Välj din identitetslevrantör',
+		'sv' => 'Välj din identitetsleverantör',
+		'fi' => 'Valitse identiteetin tarjoajasi',
 		'es' => 'Seleccione su proveedor de identidad',
 		'sl' => 'Izberite IdP domaÄŤe organizacije',
 		'hr' => 'Odaberite vašeg davatelja elektroničkih identiteta',
+		'hu' => 'Válasszon személyazonosság-szolgáltatót',
 	),
 	'selectidp_full' => array (
 		'no' => 'Vennligst velg hvilken identitetsleverandør du vil bruke for å logge inn:',
+		'nn' => 'Vel innloggingsteneste (IdP) der du ønskjer å logga inn.',
 		'da' => 'Vælg institutionen (identitetsudbyderen) hvor du vil logge ind',
 		'en' => 'Please select the identity provider where you want to authenticate:',
 		'sv' => 'Välj vilken identitetsleverantör du vill logga in med:',
+		'fi' => 'Valitse identiteetin tarjoajasi mihin haluat kirjautua',
 		'es' => 'Por favor, seleccione el proveedor de identidad donde desea autenticarse',
-		'sl' => 'Izberite IdP, na katerem se boste avtenticirali',
+		'sl' => 'Izberite IdP, na katerem se boste avtenticirali:',
 		'hr' => 'Molimo odaberite davatelja elektroniÄŤkih identiteta kod kojeg se Ĺľelite autenticirati:',
+		'hu' => 'Kérjük, válassza ki azt a személyazonosság-szolgáltatót (IdP), ahol azonosítani tudja magát:',
 	),
 	'select' => array (
 		'no' => 'Velg',
+		'nn' => 'Vel',
 		'da' => 'Vælg',
 		'en' => 'Select',
 		'sv' => 'Välj',
+		'fi' => 'Valitse',
 		'es' => 'Seleccione',
 		'sl' => 'Izberite',
 		'hr' => 'Odaberi',
+		'hu' => 'Választ',
 	),
 	'remember' => array (
 		'no' => 'Husk mitt valg',
+		'nn' => 'Hugs mitt val',
 		'en' => 'Remember my choice',
+		'sv' => 'Kom ihĂĄg mitt val',
+		'fi' => 'Muista valintani',
+		'es' => 'Recordar mi elecciĂłn',
+		'sl' => 'Shrani kot privzeto izbiro',
+		'hr' => 'Zapamti moj odabir',
+		'hu' => 'Emlékezzen a válaszra',
 	),
 
 );
diff --git a/dictionaries/errors.php b/dictionaries/errors.php
index 9d1c7b3d4dac29a83cca5df808295dae08f7d051..4e065d7dbd2b1c7ea9c719a6484ff37e0b311a19 100644
--- a/dictionaries/errors.php
+++ b/dictionaries/errors.php
@@ -74,7 +74,7 @@ $lang = array(
 		'lb' => 'Fehler matdeelen',
 		'sl' => 'Prijavi napake',
 		'hr' => 'Prijavite grešku',
-		'hu' => 'Jelentés hiba',
+		'hu' => 'Mutassa a hibaĂĽzeneteket',
 	),
 	'report_text' => array (
 		'no' => 'Hvis du ønsker at brukerstøtte skal kunne kontakte deg igjen i forbindelse med denne feilen, må du oppgi e-postadressen din nedenfor:',
@@ -139,21 +139,25 @@ $lang = array(
 	),
 	'errorreport_header' => array (
 		'no' => 'Feilrapport sent',
+		'nn' => 'Feilrapport sendt',
 		'da' => 'Fejlrapportering sendt',
 		'en' => 'Error report sent',
 		'sv' => 'Felrapport skickad',
 		'es' => 'Informe de error enviado',
 		'sl' => 'PoroÄŤilo o napaki je bilo poslano',
 		'hr' => 'Prijava greške poslana',
+		'hu' => 'Elküldött hibabejelentés',
 	),
 	'errorreport_text' => array (
 		'no' => 'Feilrapport er sent til administrator.',
+		'nn' => 'Feilrapport har blitt sendt til administrator',
 		'da' => 'Fejlrapporten er nu sendt til system-administrator',
 		'en' => 'The error report has been sent to the administrators.',
 		'sv' => 'Felrapporten är skickad till den som sköter systemet.',
 		'es' => 'El informe de error ha sido enviado a los administradores.',
 		'sl' => 'PoroÄŤilo o napaki je bilo poslano administratorjem sistema.',
 		'hr' => 'Prijava greške poslana je administratorima.',
+		'hu' => 'A hibabejelentést elküldtük az adminisztrátoroknak.',
 	),
 	'howto_header' => array (
 		'no' => 'Hvordan fĂĄ hjelp',
@@ -243,7 +247,7 @@ $lang = array(
 		'hu' => 'Hiba történt a SAML kérés létrehozása közben.',
 	),
 	'title_DISCOPARAMS' => array (
-		'no' => 'Ugyldig forespørsel til discovery-tjenesten',
+		'no' => 'Ugyldig forespørsel til SAML 2.0 Discovery-tjenesten',
 		'nn' => 'Feilforma spørsmål til Discovery Service',
 		'en' => 'Bad request to discovery service',
 		'de' => 'UngĂĽltige Anfrage an den Discovery Service',
@@ -338,7 +342,7 @@ $lang = array(
 		'fr' => 'Erreur LDAP',
 		'nl' => 'LDAP Fout',
 		'lb' => 'LDAP Fehler',
-		'sl' => 'Napaka v LDAP-u',
+		'sl' => 'Napaka LDAP-a',
 		'hr' => 'LDAP greška',
 		'hu' => 'LDAP hiba',
 	),
@@ -516,7 +520,7 @@ $lang = array(
 		'fr' => 'Pas d\'information RelayState',
 		'nl' => 'Geen RelayState',
 		'lb' => 'Den ReplayState Parameter fehlt',
-		'sl' => 'Ni RelayState parametra',
+		'sl' => 'RelayState parametr ne obstaja',
 		'hr' => 'Nije postavljen RelayState parametar',
 		'hu' => 'Nincs RelayState paraméter',
 	),
@@ -546,7 +550,7 @@ $lang = array(
 		'fr' => 'Aucune session trouvée',
 		'nl' => 'Geen sessie gevonden',
 		'lb' => 'Keng Sessioun fonnt',
-		'sl' => 'Nobene seje ni bilo mogoÄŤe najti',
+		'sl' => 'Veljavne seje ni bilo mogoÄŤe najti',
 		'hr' => 'Sjednica nije pronađena',
 		'hu' => 'Nincs érvényes munkamenet',
 	),
@@ -576,7 +580,7 @@ $lang = array(
 		'fr' => 'Erreur lors du traitement de la réponse de l\'IdP',
 		'nl' => 'Fout in IdP response',
 		'lb' => 'Fehler beim Bearbeschten vun de Aentwert vum IdP',
-		'sl' => 'Pri obdelavi odgovora od IdP-ja je prišlo do napake',
+		'sl' => 'Pri obdelavi odgovora IdP-ja je prišlo do napake',
 		'hr' => 'Greška prilikom obrade odgovora IdP-a',
 		'hu' => 'IdP válasz feldolgozási hiba',
 	),
@@ -621,7 +625,7 @@ $lang = array(
 		'fr' => 'Ce fournisseur de service a reçu une réponse d\'authentification d\'un fournisseur d\'identité, mais une erreur s\'est produite lors du traitement de cette réponse.',
 		'nl' => 'De SP heeft een authenticatie antwoord ontvangen van een Identity Provider, maar er is een fout opgetreden bij het verwerken ervan. ',
 		'lb' => 'Dësen IdP kruut eng Authenticatiounsaentwert vun engem Service provider, mais et gouf en Fehler wéi déi sollt bearbescht gin.',
-		'sl' => 'Ta IdP je prejel avtenticiran odgovor od Service Providerja, vendar je pri obdelavi tega odgovora prišlo do napake.',
+		'sl' => 'IdP je prejel avtenticiran odgovor SP-ja, vendar je pri obdelavi tega odgovora prišlo do napake.',
 		'hr' => 'SP je dobio autentikacijski odgovor od IdP-a, ali je prilikom obrade odgovora došlo go greške.',
 		'hu' => 'Az SP megkapta az IdP-től az azonosítási válaszüzenetet, de ennek feldolgozása során hiba történt.',
 	),
@@ -651,7 +655,7 @@ $lang = array(
 		'fr' => 'Ce fournisseur de service a reçu une requête d\'authentification d\'un fournisseur d\'identité, mais une erreur s\'est produite lors du traitement de cette requête.',
 		'nl' => 'Deze IdP heeft een authenticatie verzoek ontvangen van een Service Provider, maar er is een fout opgetreden bij het verwerken ervan.',
 		'lb' => 'Dësen IdP kruut eng Authenticatiounsunfro vun engem Service provider, mais et gouf en Fehler wéi déi sollt bearbescht gin.',
-		'sl' => 'Ta IdP je prejel avtenticirano zahtevo od SP, vendar je prišlo do napake pri obdelavi te zahteve.',
+		'sl' => 'IdP je prejel avtenticirano zahtevo SP-ja, vendar je prišlo do napake pri obdelavi te zahteve.',
 		'hr' => 'IdP je dobio autentikacijski zahtjev od davatelja usluge (SP), ali je prilikom obrade zahtjeva došlo do greške.',
 		'hu' => 'Az IdP azonosítási kérést kapott az SP-től, de ennek feldolgozása során hiba történt.',
 	),
@@ -831,7 +835,7 @@ $lang = array(
 		'fr' => 'Vous n\'avez pas présenté de certificat valide',
 		'nl' => 'Je hebt geen geldig certificaat meegegeven',
 		'lb' => 'Dir hud keen gĂĽltegen Zertifikat',
-		'sl' => 'Posredovan certifikat je neveljaven.',
+		'sl' => 'Posredovan certifikat je neveljaven',
 		'hr' => 'Niste predoÄŤili valjani certifikat.',
 		'hu' => 'Nem található hiteles tanúsítvány',
 	),
@@ -867,35 +871,43 @@ $lang = array(
 	),
 	'title_READCONFIGTEMPLATES' => array (
 		'no' => 'Feil ved lesing av config-templates katalogen',
+		'nn' => 'Feil under lesing av konfigurasjonsmal-katalog',
 		'en' => 'Error reading config-templates directory',
 		'sv' => 'Fel vid läsning av konfigurationsmallkatalogen',
 		'es' => 'Error leyendo el directorio config-templates',
 		'sl' => 'Napaka pri dostopu do mape z namestitvenimi predlogami.',
 		'hr' => 'Greška prilikom čitanja config-templates direktorija',
+		'hu' => 'Nem sikerült olvasni a config-templates könyvtárából',
 	),
 	'descr_READCONFIGTEMPLATES' => array (
 		'no' => 'En feil oppstod mens simpleSAMLphp prøvde å finne tilgjengelige filer i config-templates katalogen.',
+		'nn' => 'Det oppsto ein feil då simpleSAMLphp prøved å finna filene som skulle vore tilgjengelege i konfigurasjonsmal-katalogen',
 		'en' => 'An error occured while simpleSAMLphp was attempting to find the available files in the config-templates directory.',
 		'sv' => 'Ett fel uppstod när simpleSAMLphp försökte upptäcka tillgängliga filer i konfigurationsmallkatalogen.',
 		'es' => 'Se produjo un error mientras simpleSAMLphp intentaba encontrar los ficheros disponibles en el directorio config-templates',
 		'sl' => 'Prišlo je do napake! simpleSAMLphp v mapi z namestitvenimi predlogami ne najde zahtevanih datotek.',
 		'hr' => 'Došlo je do greške tijekom pokušaja dohvaćanja raspoloživih datoteka u config-templates direktoriju.',
+		'hu' => 'Hiba történt miközben a simpleSAMLphp megpróbálta meghatározni, hogy milyen állományok találhatók a config-templates könyvtárban (konfigurációs sablonok gyűjtőhelye).',
 	),
 	'title_LOGOUTINFOLOST' => array (
 		'no' => 'Informasjon om utlogging er tapt',
+		'nn' => 'Mista utloggingsinformasjon',
 		'en' => 'Logout information lost',
 		'sv' => 'Utloggningsinformation är borta',
 		'es' => 'Se perdiĂł la informaciĂłn para cerrar la sesiĂłn',
 		'sl' => 'Odjavni (Logout) parametri niso na voljo.',
 		'hr' => 'Informacija o odjavljivanju izgubljena',
+		'hu' => 'Elveszett kijelentkezési információk',
 	),
 	'descr_LOGOUTINFOLOST' => array (
 		'no' => 'Informasjonen om den nåværende utloggingen har gått tapt. Du bør gå tilbake til den opprinnelige tjesesten og prøve å logge ut på nytt. Informasjon om utloggingsoperasjoner er kun lagret i en begrenset tid - vanligvis noen timer. Dette er lengere tid enn en vanlig utlogging skal ta, så denne feilen kan tyde på at noe er galt med oppsettet. Ta kontakt med tjenesteyteren hvis problemet gjentar seg.',
+		'nn' => 'Informasjon om utlogginga di har blitt borte.  Du bør gå tilbake til tenesta du prøver å logga ut av, og prøva ein gong til.  Feilen kan vera fordi utlogginga gjekk ut på tid.  Utloggingsinformasjon er lagra i eit kort tidsrom (vanlegvis nokre få timar), og dersom utlogging tar lengre tid kan det vera feil i andre deler av konfigurasjonen på webstaden du var innlogga på.  Dersom problemet ikkje blir borte, ta kontakt med webstaden du var innlogga på.',
 		'en' => 'The information about the current logout operation has been lost. You should return to the service you were trying to log out from and try to log out again. This error can be caused by the logout information expiring. The logout information is stored for a limited amout of time - usually a number of hours. This is longer than any normal logout operation should take, so this error may indicate some other error with the configuration. If the problem persists, contact your service provider.',
 		'sv' => 'Informationen om aktuell utloggning har försvunnit. Du bör återvända till tjänsten som du försökte logga ut från och försöka logga ut på nytt. Detta fel kan inträffa om informationen om utloggningen är för gammal. Utloggningsinformationen sparas en begränsad tid, oftas några timmar. Det är längre än vad utloggning bör ta så felet kan indikera något fel med konfigurationen. Om problemet kvarstår kontakta leverantören för den tjänst du försökte logga ut från.',
 		'es' => 'La información sobre la operación de cierre de sesión se ha perdido. Debería volver al servicio del que intenta salir e intentar cerrar la sesión de nuevo. La información para cerrar la sesión se almacena durante un tiempo limitado, generalmente mucho más tiempo del que debería tardar la operación de cierre de sesión, de modo que este error puede deberse a algun error en la configuración. Si el problema persiste, contacte con el proveedor del servicio.',
 		'sl' => 'Odjavni (Logout) parametri niso na voljo. Vrnite se na storitev, ki ste jo pravkar uporabljali in se ponovno poskusite odjaviti. Napaka je posledica poteka veljavnosti seje.',
 		'hr' => 'Informacija o tekućem zahtjevu za odjavljivanjem se izgubila. Preporučamo da se vratite u aplikaciju iz koje ste se htjeli odjaviti i pokušate se odjaviti ponovo. Ova greška može biti uzrokovana istekom valjanosti zahtjeva za odjavom. Zahtjev se pohranjuje određeno vrijeme - u pravilu nekoliko sati. Obzirom da je to dulje nego što bi bilo koja operacija odjavljivanja trebala trajati, greška koja se pojavila može upućivati na grešku u konfiguraciji. Ako se problem nastavi, kontaktirajte vašeg davatelja usluge. ',
+		'hu' => 'A kijelentkezési művelettel kapcsolatos információk valahol elvesztek. Kérjük, térjen vissza ahhoz a szolgáltatáshoz, ahonnan ki akart jelentkezni, és próbálja újra! Lehetséges, hogy a hibát az okozza, hogy a kijelentkezéshez szükséges információ elévült. A kijelentkezési információ csak korlátozott ideig érvényes - általában néhány óráig. Ez hosszabb, mint amennyi normális esetben a kijelentkezéshez szükséges, ezért ez a hibaüzenet konfigurációs hibát jelenthet. Ha a probléma továbbra is fennáll, kérjük, forduljon az alkalmazásszolgáltatóhoz (SP)!',
 	),
 
 );
diff --git a/dictionaries/frontpage.php b/dictionaries/frontpage.php
index a153ed41399240c24684ffbbca10c6efc32eea9c..c6bf364b974fbb66c2e730e4ce0beb3a5d2662fc 100644
--- a/dictionaries/frontpage.php
+++ b/dictionaries/frontpage.php
@@ -8,6 +8,7 @@ $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.',
 		'de' => '<strong>GlĂĽckwunsch</strong>, Sie haben erfolgreich simpleSAMLphp installiert. Dies ist die Startseite der Installation, hier gibts es Links zu Testbeispielen, Diagnose, Metadaten und anderer relevanten Dokumentation.',
 		'sv' => '<strong>Gratulerar</strong>, du har framgångsrikt installerat simpleSAMLphp. Detta är grundinstallationens startsida där du t.ex. hittar länkar till exempel, diagnostik och metadata men även länkar till relevant dokumentation.',
+		'fi' => '<strong>Onnittelut</strong>, olet onnistuneesti asentanut simpleSAMLphp:n. Tämä on asennuksen lähtösivu, millä löydät linkkejä testiesimerkkeihin, diagnostiikkaan, metadataan ja dokumentaatioon.',
 		'es' => '<strong>&iexcl;Felicidades!</strong>, ha instalado simpleSAMLphp con &eacute;xito. &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 pertinente.',
 		'fr' => '<strong>Félicitations</strong>, vous avez installé simpleSAMLphp avec succès.  Ceci est la page de démarrage de votre installation, où vous trouverez des liens vers des exemples, des pages de diagnostic, les <i>métadata</i> et même vers de la documentation.',
 		'nl' => '<strong>Gefeliciteerd</strong>, simpleSAMLphp is succesvol geinstalleerd. Dit is de startpagina voor simpleSAMLphp, waar je links kan vinden naar voorbeelden, test-paginas, analyses, metadata en ook naar relevante documentatie.',
@@ -23,6 +24,7 @@ $lang = array(
 		'en' => 'Useful links for your installation',
 		'de' => 'NĂĽtzliche Links fĂĽr ihre Installation',
 		'sv' => 'Nyttiga länkar gällande installationen',
+		'fi' => 'Asennuksesi käytännöllisiä linkkejä',
 		'es' => 'Enalces &uacute;tiles para su instalaci&oacute;n',
 		'fr' => 'Liens utiles pour votre installation',
 		'nl' => 'Nuttige links',
@@ -38,6 +40,7 @@ $lang = array(
 		'en' => 'Metadata',
 		'de' => 'Metadaten',
 		'sv' => 'Metadata',
+		'fi' => 'Metadata',
 		'es' => 'Metadatos',
 		'fr' => 'MĂ©tadata',
 		'nl' => 'Metadata',
@@ -53,6 +56,7 @@ $lang = array(
 		'en' => 'Documentation',
 		'de' => 'Dokumentation',
 		'sv' => 'Dokumentation',
+		'fi' => 'Dokumentaatio',
 		'es' => 'Documentaci&oacute;n',
 		'fr' => 'Documetnation',
 		'nl' => 'Documentatie',
@@ -68,6 +72,7 @@ $lang = array(
 		'en' => 'Checking your PHP installation',
 		'de' => 'ĂśberprĂĽfen der PHP Installation',
 		'sv' => 'Kontrollerar PHP-installationen',
+		'fi' => 'Tarkastetaan PHP-asennuksesi',
 		'es' => 'Verificaci&oacute;n de su instalaci&oacute;n de PHP',
 		'fr' => 'VĂ©rification de votre installation de PHP',
 		'nl' => 'Test de PHP installatie',
@@ -83,6 +88,7 @@ $lang = array(
 		'en' => 'About simpleSAMLphp',
 		'de' => 'Ăśber simpleSAMLphp',
 		'sv' => 'Om simpleSAMLphp',
+		'fi' => 'SimpleSAMLphp:stä',
 		'es' => 'Sobre simpleSAMLphp',
 		'fr' => 'Ă€ propos de simpleSAMLphp',
 		'nl' => 'Over simpleSAMLphp',
@@ -98,6 +104,7 @@ $lang = 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>.',
 		'de' => 'Hey, dieses simpleSAMLphp ist eine ziemlich coole Sache, wo kann ich mehr darĂĽber lesen? Sie finden mehr Informationen ĂĽber <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp auf dem Feide RnD blog</a> auf <a href="http://uninett.no">UNINETT</a>.',
 		'sv' => 'simpleSAMLphp är cool, var kan jag läsa mer om det? Du kan hitta mer information om <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp på Feide RnD blogg</a> hos <a href="http://uninett.no">UNINETT</a>.',
+		'fi' => 'Tää simpleSAMPphp on aiga magee, mutta mistä voin lukea enemmän asiasta? Löydät enemmän tietoa <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp blogista Feide RnD:llä</a> <a href="http://uninett.no">UNINETT</a>issa.',
 		'es' => '&iexcl;Eh! Esto del simpleSAMLphp est&aacute; interesante, &iquest;d&oacute;nde puedo averiguar m&aacute;s? 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>.',
 		'fr' => 'Yeah! simpleSAMLphp est assez cool, oĂą puis-je en lire plus Ă  son sujet ?  Vous trouverez plus d\'informations sur  <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp sur le blog de la R&amp;D de Feide</a> sur <a href="http://uninett.no">UNINETT</a>.',
 		'nl' => 'He, dat simpleSAMLphp dingetje is vet cool, waar kan ik er meer over vinden? Je kan meer informatie over <a href="http://rnd.feide.no/simplesamlphp">simpleSAMLphp</a> vinden op de Feide RnD blog van <a href="http://uninett.no">UNINETT</a>.',
@@ -113,6 +120,7 @@ $lang = array(
 		'en' => 'Required',
 		'de' => 'Erforderlich',
 		'sv' => 'Obligatoriskt',
+		'fi' => 'Pakollinen',
 		'es' => 'Necesario',
 		'fr' => 'Obligatoire',
 		'nl' => 'Vereist',
@@ -128,6 +136,7 @@ $lang = array(
 		'en' => 'Required for LDAP',
 		'de' => 'Erforderlich fĂĽr LDAP',
 		'sv' => 'Obligatoriskt för LDAP',
+		'fi' => 'Pakollinen LDAP:ia varten',
 		'es' => 'Necesario para LDAP',
 		'fr' => 'Obligatoire pour LDAP',
 		'nl' => 'Vereist voor LDAP',
@@ -143,6 +152,7 @@ $lang = array(
 		'en' => 'Required for Radius',
 		'de' => 'Erforderlich fĂĽr Radius',
 		'sv' => 'Obligatoriskt för Radius',
+		'fi' => 'Pakollinen Radiusta varten',
 		'es' => 'Necesario para RADIUS',
 		'fr' => 'Obligatoire pour Radius',
 		'nl' => 'Vereist voor Radius',
@@ -158,6 +168,7 @@ $lang = array(
 		'en' => 'Optional',
 		'de' => 'Optional',
 		'sv' => 'Valfri',
+		'fi' => 'Valinnainen',
 		'es' => 'Opcional',
 		'fr' => 'Facultatif',
 		'nl' => 'Optioneel',
@@ -173,6 +184,7 @@ $lang = array(
 		'en' => 'Recommended',
 		'de' => 'Empfohlen',
 		'sv' => 'Rekommenderad',
+		'fi' => 'Suositellaan',
 		'es' => 'Recomendado',
 		'fr' => 'Recommandé',
 		'nl' => 'Aanbevolen',
@@ -188,6 +200,7 @@ $lang = array(
 		'en' => 'Warnings',
 		'de' => 'Warnungen',
 		'sv' => 'Varningar',
+		'fi' => 'Varoituksia',
 		'es' => 'Avisos',
 		'fr' => 'Avertissements',
 		'nl' => 'Waarschuwingen',
@@ -203,6 +216,7 @@ $lang = array(
 		'en' => '<strong>You are not using HTTPS</strong> - encrypted communication with the user. HTTP works fine for test purposes, but in a production environment, you should use HTTPS. [ <a href="http://rnd.feide.no/content/simplesamlphp-maintenance-and-configuration">Read more about simpleSAMLphp maintenance</a> ]',
 		'de' => '<strong>Sie benutzen keine HTTPS</strong> - verschlüsselte Kommunikation mit dem Nutzer. simpleSAMLphp funktioniert zum Testen völlig perfekt mit HTTP , aber in einer Produktionsumgebung sollten Sie HTTPS benutzen. [ <a href="http://rnd.feide.no/content/simplesamlphp-maintenance-and-configuration">Lesen Sie mehr über die Verwaltung von simpleSAMLphp</a> ]',
 		'sv' => '<strong>Du använder inte HTTPS</strong> - krypterad kommunikation med användaren. HTTP fungerar bra under test men i produktion ska du använda HTTPS. [ <a href="http://rnd.feide.no/content/simplesamlphp-maintenance-and-configuration">Läs mer i dokumentet simpleSAMLphp maintenance</a> ]',
+		'fi' => '<strong>Et käytä HTTPS</strong> - vahvaa yhteystä käyttäjään. HTTP-protokolla on sopiva testeihin, mutta tuotantojärjestelmässä sinun tulee käyttää HTTPS:ää. [ <a href="http://rnd.feide.no/content/simplesamlphp-maintenance-and-configuration">Lue simpleSAMLphp ylläpidosta (eng)</a> ]',
 		'es' => 'No está usando HTTPS HTTPS</strong> - comunicaciones cifradas con el usuario. HTTP funciona bien en entornos de evaluación, pero si va a emplearlo en producción, debería emplear HTTPS. [ <a href="http://rnd.feide.no/content/simplesamlphp-maintenance-and-configuration">Lea más acerca del mantenimiento de simpleSAMLphp </a> ]',
 		'fr' => '<strong>Vous n\'utilisez pas HTTPS</strong> - communications chiffrées avec l\'utilisateur.  Utiliser simpleSAMLphp marchera parfaitement avec HTTP pour des tests, mais si vous voulez l\'utiliser dans un environnement de production, vous devriez utiliser HTTPS. [  <a href="http://rnd.feide.no/content/simplesamlphp-maintenance-and-configuration">en lire plus sur la maintenance de simpleSAMLphp</a> ]',
 		'nl' => '<strong>Je gebruikt geen HTTPS</strong> - versleutelde communicatie met de gebruiker. simpleSAMLphp werkt prima op HTTP voor test doeleinden, maar als je simpleSAMLphp in een productie omgeving gaat gebruiken, zou je dat moeten doen over HTTPS. [ <a href="http://rnd.feide.no/content/simplesamlphp-maintenance-and-configuration">lees meer over simpleSAMLphp onderhoud</a> ]',
@@ -218,6 +232,7 @@ $lang = array(
 		'en' => 'SAML 2.0 SP example - test logging in through your IdP',
 		'de' => 'SAML 2.0 SP Beispiel - Anmelden ĂĽber ihren IdP testen',
 		'sv' => 'SAML 2.0 SP exempel - testinloggning med SAML 2.0 via din IdP',
+		'fi' => 'SAML 2.0 SP esimerkki - testikirjautuminen IdP:si kautta',
 		'es' => 'Ejemplo de SP con SAML 2.0 - Prueba a acceder empleando tu IdP',
 		'fr' => 'SP SAML 2.0 d\'exemple - tester l\'identification via votre IdP',
 		'nl' => 'SAML 2.0 SP voorbeeld - test inloggen via je IdP',
@@ -233,6 +248,7 @@ $lang = array(
 		'en' => 'Shibboleth 1.3 SP example - test logging in through your Shib IdP',
 		'de' => 'Shibboleth 1.3 SP Beispiel - Anmelden ĂĽber ihren Shibboleth IdP testen',
 		'sv' => 'Shibboleth 1.3 SP exempel - testinloggning med SAML 2.0 via din IdP',
+		'fi' => 'Shiboleth 1.3 SP esimerkki - testikirjautuminen Shib IdP:si kautta',
 		'es' => 'Ejemplo de SP empleando Shibboleth 1.3 - Prueba a acceder empleando tu IdP Shibboleth',
 		'fr' => 'SP Shibboleth 1.3 d\'exemple - tester l\'identification via votre IdP',
 		'nl' => 'Shibboleth 1.3 SP voorbeeld - test inloggen via je Shibboleth 1.3 IdP',
@@ -248,6 +264,7 @@ $lang = array(
 		'en' => 'OpenID Provider site - Alpha version (test code)',
 		'de' => 'OpenID Provider Seite - Alpha Version (Testcode)',
 		'sv' => 'OpenID Provider sida - Alfa version (testkod)',
+		'fi' => 'OpenID tarjoaja - Alpha versio (testikoodi)',
 		'es' => 'Sitio del proveedor OpenID - VersiĂłn Alfa (cĂłdigo de prueba)',
 		'fr' => 'Site fournisseur d\'OpenID - version alpha (code de test)',
 		'nl' => 'OpenID Provider site - Alpha versie (test code)',
@@ -263,6 +280,7 @@ $lang = array(
 		'en' => 'Diagnostics on hostname, port and protocol',
 		'de' => 'Diagnose des Hostnamen, Ports und Protokolls',
 		'sv' => 'Diagnosera värdnamn, port och protokoll',
+		'fi' => 'Isäntänimen, portin ja protokollan diagnostiikka',
 		'es' => 'DiagnĂłstico sobre nombre de host, puerto y protocolo',
 		'fr' => 'Diagnostics sur le nom d\'hĂ´te, le port et le protocole',
 		'nl' => 'Inspectie op hostnaam, poort en protocol',
@@ -278,6 +296,7 @@ $lang = array(
 		'en' => 'PHP info',
 		'de' => 'PHPinfo',
 		'sv' => 'PHPinfo',
+		'fi' => 'PHP info',
 		'es' => 'PHP info',
 		'fr' => 'PHPinfo',
 		'nl' => 'PHP info',
@@ -288,12 +307,15 @@ $lang = array(
 	),
 	'link_configcheck' => array (
 		'no' => 'Sjekk av simpleSAMLphp konfigurasjonsfiler',
+		'nn' => 'simpleSAMLphp konfigurasjonssjekk',
 		'da' => 'simpleSAMLphp konfigurationscheck',
 		'en' => 'simpleSAMLphp configuration check',
 		'sv' => 'Konfigurationskontroll av simpleSAMLphp',
+		'fi' => 'simpleSAMLphp asetusten tarkastus',
 		'es' => 'ComprobaciĂłn de la configuraciĂłn de simpleSAMLphp',
 		'sl' => 'Preveri simpleSAMLphp nastavitve',
 		'hr' => 'Provjera simpleSAMLphp konfiguracije',
+		'hu' => 'simpleSAMLphp konfigurációjának ellenőrzése',
 	),
 	'link_meta_overview' => array (
 		'no' => 'Oversikt over metadata for din installasjon. Diagnostiser metadatafilene her.',
@@ -302,6 +324,7 @@ $lang = array(
 		'en' => 'Metadata overview for your installation. Diagnose your metadata files',
 		'de' => 'Ăśberblick ĂĽber die Metadaten dieser Installation. Diagnose der Metadaten.',
 		'sv' => 'Översikt över metadata i installationen. Diagnosera metadatafilerna',
+		'fi' => 'Asennuksesi metadatan yleiskataus. Tarkasta metadatatiedostojasi',
 		'es' => 'Vista general de los metadatos de tu instalaciĂłn. Comprueba tus ficheros de metadatos',
 		'fr' => 'Aperçu des <i>métadata</i> de votre installation.  Diagnostic de vos fichiers de <i>métadata</i>.',
 		'nl' => 'Meta data overzicht voor jouw installatie. Inspecteer je meta data files',
@@ -317,6 +340,7 @@ $lang = array(
 		'en' => 'Hosted SAML 2.0 Service Provider Metadata (automatically generated)',
 		'de' => 'Hosted SAML 2.0 Service Provider Metadaten (automatisch generiert)',
 		'sv' => 'Lokala SAML 2.0 Service Provider Metadata (automatiskt genererat)',
+		'fi' => 'Isännöidyn SAML 2.0 palveluntarjoajan Metadata (automaattisesti luotu)',
 		'es' => 'Metadatos alojados del SP SAML 2.0 (generados automáticamente)',
 		'fr' => 'Métadata du fournisseur de service SAML 2.0 (générées automatiquement)',
 		'nl' => 'Lokale SAML 2.0 Service Provider Metadata (automatisch gegenereerd)',
@@ -332,6 +356,7 @@ $lang = array(
 		'en' => 'Hosted SAML 2.0 Identity Provider Metadata (automatically generated)',
 		'de' => 'Hosted SAML 2.0 Identity Provider Metadaten (automatisch generiert)',
 		'sv' => 'Lokala SAML 2.0 Identity Provider Metadata (automatiskt genererat)',
+		'fi' => 'Isännöidyn SAML 2.0 identiteetintarjoajan Metadata (automaattisesti luotu)',
 		'es' => 'Metadatos alojados del IdP SAML 2.0 (generados automáticamente)',
 		'fr' => 'Métadata du fournisseur d\'identités SAML 2.0 (générées automatiquement)',
 		'nl' => 'Lokale SAML 2.0 Identity Provider Metadata (automatisch gegenereerd)',
@@ -347,6 +372,7 @@ $lang = array(
 		'en' => 'Hosted Shibboleth 1.3 Service Provider Metadata (automatically generated)',
 		'de' => 'Hosted Shibboleth 1.3 Service Provider Metadaten (automatisch generiert)',
 		'sv' => 'Lokala Shibboleth 1.3 Service Provider Metadata (automatiskt genererat)',
+		'fi' => 'Isännöidyn Shibboleth 1.3 palveluntarjoajan Metadata (automaattisesti luotu)',
 		'es' => 'Metadatos alojados del SP Shibooleth 1.3 (generados automáticamente)',
 		'fr' => 'Métadata du fournisseur de service Shibboleth 1.3 (générées automatiquement)',
 		'nl' => 'Lokale Shibboleth 1.3 Service Provider Metadata (automatisch gegenereerd)',
@@ -362,6 +388,7 @@ $lang = array(
 		'en' => 'Hosted Shibboleth 1.3 Identity Provider Metadata (automatically generated)',
 		'de' => 'Hosted Shibboleth 1.3 Identity Provider Metadaten (automatisch generiert)',
 		'sv' => 'Lokala Shibboleth 1.3 Identity Provider Metadata (automatiskt genererat)',
+		'fi' => 'Isännöidyn Shibboleth 1.3 identiteetintarjoajan Metadata (automaattisesti luotu)',
 		'es' => 'Metadatos alojados del IdP Shibooleth 1.3 (generados automáticamente)',
 		'fr' => 'Métadata du fournisseur d\'identités Shibboleth 1.3 (générées automatiquement)',
 		'nl' => 'Lokale Shibboleth 1.3 Identity Provider Metadata (automatisch gegenereerd)',
@@ -372,7 +399,14 @@ $lang = array(
 	),
 	'link_cleardiscochoices' => array (
 		'no' => 'Slett mitt valg av IdP i IdP discovery tjenestene',
+		'nn' => 'La meg velja kvar eg kjem ifrå på nytt.  Slett mitt val av identitetsleverandør (IdP) hos IdP-oppdagingstenesta ',
 		'en' => 'Delete my choices of IdP in the IdP discovery services',
+		'sv' => 'Ta bort mina val av identitetsleverantör i listan över identitetsleverantörer',
+		'fi' => 'Poista IdP valintani IdP discoverypalvelusta',
+		'es' => 'Borrar mis opciones de IdP en los servicios de descubrimiento de IdP',
+		'sl' => 'Razveljavi privzeti IdP',
+		'hr' => 'Poništi moje odabire IdP-a u servisu za pronalaženje IdP-a ',
+		'hu' => 'Felejtse el a kiválasztott IdP-ket',
 	),
 	'link_xmlconvert' => array (
 		'no' => 'XML til simpleSAMLphp metadata-oversetter',
@@ -381,13 +415,14 @@ $lang = array(
 		'en' => 'XML to simpleSAMLphp metadata converter',
 		'de' => 'XML zu simpleSAMLphp Metadaten Konvertierer',
 		'sv' => 'XML till simpleSAMLphp metadataöversättare',
+		'fi' => 'XML:stä simpleSAMLphp metadata:aan kääntäjä',
 		'es' => 'Conversor de XML a metadatos de simpleSAMLphp',
 		'fr' => 'Convertisseur de métadata XML vers simpleSAMLphp',
 		'nl' => 'XML naar simpleSAMLphp metadata vertaling',
 		'lb' => 'XML zu simpleSAMLphp Meta Données Emwandler',
 		'sl' => 'XML v simpleSAMLphp pretvornik metapodatkov',
 		'hr' => 'XML u simpleSAMLphp pretvorba metapodataka.',
-		'hu' => 'XML simpleSAMLphp metaadat konvertáló',
+		'hu' => 'Metaadatok konvertálása SAML2 XML-ből simpleSAMLphp-ba ',
 	),
 	'link_doc_install' => array (
 		'no' => 'Installerer simpleSAMLphp',
@@ -396,6 +431,7 @@ $lang = array(
 		'en' => 'Installing simpleSAMLphp',
 		'de' => 'simpleSAMLphp installieren',
 		'sv' => 'Installerar simpleSAMLphp',
+		'fi' => 'Asennetaan simpleSAMLphp',
 		'es' => 'InstalaciĂłn de simpleSAMLphp',
 		'fr' => 'Installation de simpleSAMLphp',
 		'nl' => 'Installatie van simpleSAMLphp',
@@ -411,6 +447,7 @@ $lang = array(
 		'en' => 'Using simpleSAMLphp as a Service Provider',
 		'de' => 'simpleSAMLphp als Service Provider benutzen',
 		'sv' => 'Använda simpleSAMLphp som Service Provider',
+		'fi' => 'simpleSAMLphp palveluntarjoajana',
 		'es' => 'Empleo de simpleSAMLphp como Service Provider',
 		'fr' => 'Utilisation de simpleSAMLphp comme fournisseur de service',
 		'nl' => 'Gebruik simpleSAMLphp als Service Provider',
@@ -426,6 +463,7 @@ $lang = array(
 		'en' => 'Using simpleSAMLphp as an Identity Provider',
 		'de' => 'simpleSAMLphp als Identitiy Provider benutzen',
 		'sv' => 'Använda simpleSAMLphp som Identity Provider',
+		'fi' => 'simpleSAMLphp identiteetintarjoajana',
 		'es' => 'Empleo de simpleSAMLphp como Identity Provider',
 		'fr' => 'Utilisation de simpleSAMLphp comme fournisseur d\'identités',
 		'nl' => 'Gebruik simpleSAMLphp als Identity Provider',
@@ -441,6 +479,7 @@ $lang = array(
 		'en' => 'Configure Shibboleth 1.3 SP to work with simpleSAMLphp IdP',
 		'de' => 'Shibboleth 1.3 SP fĂĽr die Zusammenarbeit mit einem simpleSAMLphp IdP konfigurieren',
 		'sv' => 'Konfigurera Shibboleth 1.3 SP för att fungera tillsammans med simpleSAMLphp IdP',
+		'fi' => 'Määritä asetukset Shibboleth 1.3 palveluntarjoajaksi simpleSAMLphp identiteetintarjoajan kanssa',
 		'es' => 'ConfiguraciĂłn de Shibboleth 1.3 SP para trabajar con un IdP simpleSAMLphp',
 		'fr' => 'Configurer un SP Shibboleth 1.3 pour fonctionner avec l\'IdP simpleSAMLphp',
 		'nl' => 'Configureer een Shibboleth 1.3 SP voor de simpleSAMLphp IdP',
@@ -456,6 +495,7 @@ $lang = array(
 		'en' => 'simpleSAMLphp as an IdP for Google Apps for Education',
 		'de' => 'simpleSAMLphp als IdP fĂĽr Google Apps fĂĽr Education verwernden',
 		'sv' => 'simpleSAMLphp som IdP för Google Apps for Education',
+		'fi' => 'simpleSAMLphp Google Apps for Education identiteetintarjoajana',
 		'es' => 'simpleSAMLphp como IdP para Google Apps for Education',
 		'fr' => 'simpleSAMLphp comme IdP pour les <i>Google Apps for Education</i>',
 		'nl' => 'simpleSAMLphp als een Identity Provider voor Google Apps for Education',
@@ -471,6 +511,7 @@ $lang = array(
 		'en' => 'simpleSAMLphp Advanced Features',
 		'de' => 'Fortgeschrittene Eigenschaften von simpleSAMLphp',
 		'sv' => 'simpleSAMLphp avancerade funktioner',
+		'fi' => 'simpeSAMLphp:n pitkälle kehittyneet ominaisuudet',
 		'es' => 'CaracterĂ­sticas avanzadas de simpleSAMLphp',
 		'fr' => 'Fonctionnalités avancées de simpleSAMLphp',
 		'nl' => 'simpleSAMLphp Geavanceerde Functies',
@@ -486,6 +527,7 @@ $lang = array(
 		'en' => 'simpleSAMLphp Maintenance and Configuration',
 		'de' => 'Verwaltung und Konfiguration von simpleSAMLphp',
 		'sv' => 'simpleSAMLphp skötsel och konfiguration',
+		'fi' => 'simpleSAMLphp:n ylläpito ja asetusten määrittely',
 		'es' => 'Mantenimento y configuraciĂłn de simpleSAMLphp',
 		'fr' => 'Maintenance et configuration de simpleSAMLphp',
 		'nl' => 'simpleSAMLphp Onderhoud en Configuratie',
diff --git a/dictionaries/login.php b/dictionaries/login.php
index e3c42aa31e0e2573f1ca306d2da1500d880ab887..a3c2db36aa94c7b9b758ce9b2e95fa1bceabab7c 100644
--- a/dictionaries/login.php
+++ b/dictionaries/login.php
@@ -8,6 +8,7 @@ $lang = array(
 		'en' => 'Error',
 		'de' => 'Fehler',
 		'sv' => 'Fel',
+		'fi' => 'Virhe',
 		'es' => 'Los datos que ha suministrado no son válidos',
 		'fr' => 'Erreur',
 		'nl' => 'Fout',
@@ -23,6 +24,7 @@ $lang = array(
 		'en' => 'Enter your username and password',
 		'de' => 'Bitten geben sie ihren Nutzernamen und Passwort ein',
 		'sv' => 'Ange ditt användarnamn och lösenord',
+		'fi' => 'Syötä tunnuksesi ja salasanasi',
 		'es' => 'Indique su nombre de usuario y clave de acceso',
 		'fr' => 'Entrez votre identifiant et votre mot de passe',
 		'nl' => 'Geef je gebruikersnaam en wachtwoord',
@@ -38,11 +40,12 @@ $lang = array(
 		'en' => 'A service has requested you to authenticate yourself. Please enter your username and password in the form below.',
 		'de' => 'Ein Dienst hat eine Authentifizierung angefordert. Bitte geben Sie daher unten ihren Nutzernamen und Passwort in der Form ein.',
 		'sv' => 'En webbtjänst har begärt att du ska logga in. Detta betyder att du behöver ange ditt användarnamn och ditt lösenord i formuläret nedan.',
+		'fi' => 'Palvelu on pyytänyt kirjautumista. Ole hyvä ja syötä tunnuksesi ja salasanasi alla olevaan kaavakkeeseen.',
 		'es' => 'Un servicio solicita que se autentique. Esto significa que debe indicar su nombre de usuario y su clave de acceso en el siguiente formulario.',
 		'fr' => 'Un service a demandé à ce que vous vous authentifiez.  Cela signifie que vous devez entre votre identifiant et votre mot de passe dans le formulaire ci-dessous.',
 		'nl' => 'Voor deze dienst is authenticatie vereist. Geef je gebruikersnaam en wachtwoord in onderstaand formulier.',
 		'lb' => 'En Service huet ungefrot aerch ze authentifizéiren. Daat heescht daer musst aeren Benotzernumm an d\'Passwuert an de Formulairen heidrënner angin.',
-		'sl' => 'Storitev zahteva, da se prijavite. To pomeni, da je potreben vnos uporabniškega imena in gesla v spodnje okno',
+		'sl' => 'Storitev zahteva, da se prijavite. To pomeni, da je potreben vnos uporabniškega imena in gesla v spodnji polji.',
 		'hr' => 'Servis zahtjeva od vas da se autenticirate. To znači da u donji obrazac trebate unijeti vašu korisničku oznaku i zaporku.',
 		'hu' => 'Ez a szolgáltatás megköveteli, hogy azonosítsa magát. Kérjük, adja meg felhasználó nevét és jelszavát az alábbi űrlapon.',
 	),
@@ -54,6 +57,7 @@ $lang = array(
 		'en' => 'Login',
 		'de' => 'Einloggen',
 		'sv' => 'Logga in',
+		'fi' => 'Kirjaudu',
 		'es' => 'Login',
 		'fr' => 'S\'identifier',
 		'nl' => 'Inloggen',
@@ -70,6 +74,7 @@ $lang = array(
 		'en' => 'Username',
 		'de' => 'Nutzername',
 		'sv' => 'Användarnamn',
+		'fi' => 'Tunnus',
 		'es' => 'Nombre de usuario',
 		'fr' => 'Identifiant',
 		'nl' => 'Gebruikersnaam',
@@ -86,6 +91,7 @@ $lang = array(
 		'en' => 'Organization',
 		'de' => 'Organisation',
 		'sv' => 'Organisation',
+		'fi' => 'Organisaatio',
 		'es' => 'OrganizaciĂłn',
 		'fr' => 'Fournisseur',
 		'nl' => 'Organisatie',
@@ -102,6 +108,7 @@ $lang = array(
 		'en' => 'Password',
 		'de' => 'Passwort',
 		'sv' => 'Lösenord',
+		'fi' => 'Salasana',
 		'es' => 'Clave de acceso',
 		'fr' => 'Mot de passe',
 		'nl' => 'Wachtwoord',
@@ -117,6 +124,7 @@ $lang = array(
 		'en' => 'Help! I don\'t remember my password.',
 		'de' => 'Hilfe, ich habe mein Passwort vergessen',
 		'sv' => 'Hjälp! Jag kommer inte ihåg mitt lösenord.',
+		'fi' => 'Apua! En muista salasanaani',
 		'es' => '&iexcl;Socorro! Se me ha olvidado mi clave de acceso.',
 		'fr' => 'Ă€ l\'aide !  Je ne me souviens plus de mon mot de passe.',
 		'nl' => 'Help! Ik weet mijn wachtwoord niet meer.',
@@ -132,6 +140,7 @@ $lang = array(
 		'en' => 'Too bad! - Without your username and password you cannot authenticate yourself for access to the service. There may be someone that can help you. Consult the help desk at your university!',
 		'de' => 'Pech! - Ohne Nutzername und Passwort können Sie sich nicht authentifizieren und somit den Dienst nicht nutzen. Möglicherweise kann ihnen jemand helfen, kontaktieren Sie den Help-Desk in ihrer Einrichtung.',
 		'sv' => 'Tyvärr kan du inte logga in i tjänsten om du inte har ditt användarnamn och ditt lösenord. Ta kontakt med din organisations support eller helpdesk för att få hjälp.',
+		'fi' => 'Pahus! - Ilman tunnusta ja salasanaa et voi kirjautua palveluun. Voi olla, että joku voi auttaa sinua. Ole hyvä ja ota yhteyttä korkeakoulusi tukeen!',
 		'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!',
 		'fr' => 'Pas de chance !  Sans votre identifiant et votre mot de passe vous ne pouvez pas vous authentifier et accéder au service. Il y a peut-être quelqu\'un pour vous aider.  Contactez le help desk de votre université !',
 		'nl' => 'Vette pech! - Zonder je gebruikersnaam en wachtwoord kun je je niet authenticeren en dus niet gebruikmaken van deze dienst.',
@@ -147,11 +156,12 @@ $lang = array(
 		'en' => 'You sent something to the login page, but for some reason the password was not sent. Try again please.',
 		'de' => 'Sie haben etwas an die Loginseite geschickt, aber aus irgendeinem Grund ist das Passwort nicht ĂĽbermittelt worden. Bitte versuchen Sie es erneut.',
 		'sv' => 'Du skicka in en inloggningsförfrågan men det verkar som om ditt lösenord inte fanns med i förfrågan. Försök igen!',
+		'fi' => 'Lähetit jotain kirjautumissivulle, mutta jostain syystä salasanaa ei lähetetty. Ole hyvä ja yritä uudestaan.',
 		'es' => 'Usted envió algo a la página de acceso pero, por algún motivo, la clave no fue enviada. Inténtelo de nuevo, por favor.',
 		'fr' => 'Vous avez envoyé quelque chose sur la pge d\'identification mais pour une raison inconnue votre mot de passe n\'a pas été transmis.  Veuillez réessayer.',
 		'nl' => 'Je hebt wel iets ingetikt, maar blijkbaar is je wachtwoord niet verstuurd. Probeer het opnieuw AUB.',
 		'lb' => 'Der hud eppes un d\'Login Sait geschéeckt me aus iergentengem Grond huet d Passwuert gefehlt. Probéiert w.e.g nach eng Kéier.',
-		'sl' => 'V prijavno stran ste vnesli podatke, vendar geslo ni bilo poslano. Poskusite znova.',
+		'sl' => 'Prišlo je do napake, poskusite znova.',
 		'hr' => 'Iz nekog razloga autentikacijski servis nije dobio vašu zaporku. Molimo pokušajte ponovo.',
 		'hu' => 'Valamilyen oknál fogva a jelszó nem olvasható. Kérjük, próbálja újra!',
 	),
@@ -163,6 +173,7 @@ $lang = array(
 		'en' => 'Incorrect username or password.',
 		'de' => 'Falscher Nutzername oder Passwort.',
 		'sv' => 'Fel användarnamn eller lösenord.',
+		'fi' => 'Väärä tunnus tai salasana.',
 		'es' => 'Nombre de usuario o contraseña erróneos',
 		'fr' => 'Mauvais identifiant au mot de passe.',
 		'nl' => 'Gebruikersnaam of wachtwoord niet bekend',
diff --git a/templates/default/includes/header.php b/templates/default/includes/header.php
index e870627607cb2d45d5890fc4a2bef89105d435d9..4b47c663fe0ab0e653155624535be43cc97886a2 100644
--- a/templates/default/includes/header.php
+++ b/templates/default/includes/header.php
@@ -49,6 +49,7 @@ $langnames = array(
 	'en' => 'English',
 	'de' => 'Deutsch',
 	'sv' => 'Svenska',
+	'fi' => 'Suomeksi',
 	'es' => 'Español',
 	'fr' => 'Français',
 	'nl' => 'Nederlands',