<?php

use Symfony\Component\Translation\MessageCatalogue;

$catalogue = new MessageCatalogue('fi', array (
  'validators' => 
  array (
    'This value should be false.' => 'Arvon tulee olla epätosi.',
    'This value should be true.' => 'Arvon tulee olla tosi.',
    'This value should be of type {{ type }}.' => 'Arvon tulee olla tyyppiä {{ type }}.',
    'This value should be blank.' => 'Arvon tulee olla tyhjä.',
    'The value you selected is not a valid choice.' => 'Arvon tulee olla yksi annetuista vaihtoehdoista.',
    'You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.' => 'Sinun tulee valita vähintään yksi vaihtoehto.|Sinun tulee valita vähintään {{ limit }} vaihtoehtoa.',
    'You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.' => 'Sinun tulee valita enintään yksi vaihtoehto.|Sinun tulee valita enintään {{ limit }} vaihtoehtoa.',
    'One or more of the given values is invalid.' => 'Yksi tai useampi annetuista arvoista on virheellinen.',
    'This field was not expected.' => 'Tätä kenttää ei odotettu.',
    'This field is missing.' => 'Tämä kenttä puuttuu.',
    'This value is not a valid date.' => 'Annettu arvo ei ole kelvollinen päivämäärä.',
    'This value is not a valid datetime.' => 'Annettu arvo ei ole kelvollinen päivämäärä ja kellonaika.',
    'This value is not a valid email address.' => 'Annettu arvo ei ole kelvollinen sähköpostiosoite.',
    'The file could not be found.' => 'Tiedostoa ei löydy.',
    'The file is not readable.' => 'Tiedostoa ei voi lukea.',
    'The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.' => 'Tiedostonkoko ({{ size }} {{ suffix }}) on liian iso. Suurin sallittu tiedostonkoko on {{ limit }} {{ suffix }}.',
    'The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.' => 'Tiedostotyyppi ({{ type }}) on virheellinen. Sallittuja tiedostotyyppejä ovat {{ types }}.',
    'This value should be {{ limit }} or less.' => 'Arvon tulee olla {{ limit }} tai vähemmän.',
    'This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.' => 'Liian pitkä syöte. Syöte saa olla enintään yhden merkin.|Liian pitkä syöte. Syöte saa olla enintään {{ limit }} merkkiä.',
    'This value should be {{ limit }} or more.' => 'Arvon tulee olla {{ limit }} tai enemmän.',
    'This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.' => 'Liian lyhyt syöte. Syötteen tulee olla vähintään yhden merkin.|Liian lyhyt syöte. Syötteen tulee olla vähintään {{ limit }} merkkiä.',
    'This value should not be blank.' => 'Kenttä ei voi olla tyhjä.',
    'This value should not be null.' => 'Annettu arvo ei voi olla null.',
    'This value should be null.' => 'Annetun arvon tulee olla null.',
    'This value is not valid.' => 'Virheellinen arvo.',
    'This value is not a valid time.' => 'Annettu arvo ei ole kelvollinen kellonaika.',
    'This value is not a valid URL.' => 'Annettu arvo ei ole kelvollinen URL-osoite.',
    'The two values should be equal.' => 'Kahden annetun arvon tulee olla samat.',
    'The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.' => 'Annettu tiedosto on liian iso. Suurin sallittu tiedostokoko on {{ limit }} {{ suffix }}.',
    'The file is too large.' => 'Tiedosto on liian iso.',
    'The file could not be uploaded.' => 'Tiedoston siirto epäonnistui.',
    'This value should be a valid number.' => 'Arvon tulee olla numero.',
    'This file is not a valid image.' => 'Tiedosto ei ole kelvollinen kuva.',
    'This is not a valid IP address.' => 'Tämä arvo ei ole kelvollinen IP-osoite.',
    'This value is not a valid language.' => 'Arvo ei ole kelvollinen kieli.',
    'This value is not a valid locale.' => 'Arvo ei ole kelvollinen kieli- ja alueasetus (locale).',
    'This value is not a valid country.' => 'Arvo ei ole kelvollinen maa.',
    'This value is already used.' => 'Arvo on jo käytetty.',
    'The size of the image could not be detected.' => 'Kuvan kokoa ei tunnistettu.',
    'The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.' => 'Kuva on liian leveä ({{ width }} px). Leveyden tulee olla enintään {{ max_width }} px.',
    'The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.' => 'Kuva on liian kapea ({{ width }} px). Leveyden tulee olla vähintään {{ min_width }} px.',
    'The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.' => 'Kuva on liian korkea ({{ height }} px). Korkeuden tulee olla enintään {{ max_height }} px.',
    'The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.' => 'Kuva on liian matala ({{ height }} px). Korkeuden tulee olla vähintään {{ min_height }} px.',
    'This value should be the user\'s current password.' => 'Arvon tulee olla käyttäjän tämänhetkinen salasana.',
    'This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.' => 'Arvon tulee olla tasan yhden merkin pituinen.|Arvon tulee olla tasan {{ limit }} merkin pituinen.',
    'The file was only partially uploaded.' => 'Tiedosto ladattiin vain osittain.',
    'No file was uploaded.' => 'Tiedostoa ei ladattu.',
    'No temporary folder was configured in php.ini.' => 'Väliaikaista kansiota ei ole määritetty php.ini:ssä, tai määritetty kansio ei ole olemassa.',
    'Cannot write temporary file to disk.' => 'Väliaikaistiedostoa ei voitu kirjoittaa levylle.',
    'A PHP extension caused the upload to fail.' => 'PHP-laajennoksen vuoksi tiedoston lataus epäonnistui.',
    'This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.' => 'Tässä ryhmässä tulee olla vähintään yksi elementti.|Tässä ryhmässä tulee olla vähintään {{ limit }} elementtiä.',
    'This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.' => 'Tässä ryhmässä tulee olla enintään yksi elementti.|Tässä ryhmässä tulee olla enintään {{ limit }} elementtiä.',
    'This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.' => 'Tässä ryhmässä tulee olla tasan yksi elementti.|Tässä ryhmässä tulee olla tasan {{ limit }} elementtiä.',
    'Invalid card number.' => 'Virheellinen korttinumero.',
    'Unsupported card type or invalid card number.' => 'Tätä korttityyppiä ei tueta tai korttinumero on virheellinen.',
    'This is not a valid International Bank Account Number (IBAN).' => 'Tämä arvo ei ole kelvollinen kansainvälinen pankkitilinumero (IBAN).',
    'This value is not a valid ISBN-10.' => 'Arvo ei ole kelvollinen ISBN-10.',
    'This value is not a valid ISBN-13.' => 'Arvo ei ole kelvollinen ISBN-13.',
    'This value is neither a valid ISBN-10 nor a valid ISBN-13.' => 'Arvo ei ole kelvollinen ISBN-10 eikä ISBN-13.',
    'This value is not a valid ISSN.' => 'Arvo ei ole kelvollinen ISSN.',
    'This value is not a valid currency.' => 'Arvo ei ole kelvollinen valuutta.',
    'This value should be equal to {{ compared_value }}.' => 'Arvo ei ole sama kuin {{ compared_value }}.',
    'This value should be greater than {{ compared_value }}.' => 'Arvon tulee olla suurempi kuin {{ compared_value }}.',
    'This value should be greater than or equal to {{ compared_value }}.' => 'Arvon tulee olla suurempi tai yhtä suuri kuin {{ compared_value }}.',
    'This value should be identical to {{ compared_value_type }} {{ compared_value }}.' => 'Arvon tulee olla sama kuin {{ compared_value_type }} {{ compared_value }}.',
    'This value should be less than {{ compared_value }}.' => 'Arvon tulee olla pienempi kuin {{ compared_value }}.',
    'This value should be less than or equal to {{ compared_value }}.' => 'Arvon tulee olla pienempi tai yhtä suuri kuin {{ compared_value }}.',
    'This value should not be equal to {{ compared_value }}.' => 'Arvon ei tule olla sama kuin {{ compared_value }}.',
    'This value should not be identical to {{ compared_value_type }} {{ compared_value }}.' => 'Arvon ei tule olla sama kuin {{ compared_value_type }} {{ compared_value }}.',
    'The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.' => 'Kuvasuhde on liian suuri ({{ ratio }}). Suurin sallittu suhde on {{ max_ratio }}.',
    'The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.' => 'Kuvasuhde on liian pieni ({{ ratio }}). Pienin sallittu suhde on {{ min_ratio }}.',
    'The image is square ({{ width }}x{{ height }}px). Square images are not allowed.' => 'Kuva on neliö ({{ width }}x{{ height }} px). Neliönmuotoiset kuvat eivät ole sallittuja.',
    'The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.' => 'Kuva on vaakasuuntainen ({{ width }}x{{ height }} px). Vaakasuuntaiset kuvat eivät ole sallittuja.',
    'The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.' => 'Kuva on pystysuuntainen ({{ width }}x{{ height }} px). Pystysuuntaiset kuvat eivät ole sallittuja.',
    'An empty file is not allowed.' => 'Tiedosto ei saa olla tyhjä.',
    'The host could not be resolved.' => 'Palvelimeen ei saatu yhteyttä.',
    'This value does not match the expected {{ charset }} charset.' => 'Arvo ei vastaa odotettua merkistöä {{ charset }}.',
    'This is not a valid Business Identifier Code (BIC).' => 'Tämä arvo ei ole kelvollinen liiketoiminnan tunnistekoodi (BIC).',
    'Error' => 'Virhe',
    'This is not a valid UUID.' => 'Tämä arvo ei ole kelvollinen UUID.',
    'This value should be a multiple of {{ compared_value }}.' => 'Tämän arvon tulee olla luvun {{ compared_value }} kerrannainen.',
    'This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.' => 'Tätä pankkitunnusta (BIC) ei ole liitetty IBAN-tilinumeroon {{ iban }}.',
    'This value should be valid JSON.' => 'Arvon tulee olla kelvollinen JSON.',
    'This collection should contain only unique elements.' => 'Ryhmän tulee sisältää vain yksilöllisiä arvoja.',
    'This value should be positive.' => 'Arvon tulee olla positiivinen.',
    'This value should be either positive or zero.' => 'Arvon tulee olla joko positiivinen tai nolla.',
    'This value should be negative.' => 'Arvon tulee olla negatiivinen.',
    'This value should be either negative or zero.' => 'Arvon tulee olla joko negatiivinen tai nolla.',
    'This value is not a valid timezone.' => 'Arvo ei ole kelvollinen aikavyöhyke.',
    'This password has been leaked in a data breach, it must not be used. Please use another password.' => 'Tämä salasana on vuotanut tietomurrossa, eikä sitä saa käyttää. Käytä toista salasanaa.',
    'This value should be between {{ min }} and {{ max }}.' => 'Arvon tulee olla {{ min }} - {{ max }}.',
    'This value is not a valid hostname.' => 'Arvo ei ole kelvollinen laitenimi (hostname).',
    'The number of elements in this collection should be a multiple of {{ compared_value }}.' => 'Ryhmässä olevien elementtien määrän pitää olla luvun {{ compared_value }} kerrannainen.',
    'This value should satisfy at least one of the following constraints:' => 'Arvon tulee läpäistä vähintään yksi seuraavista tarkistuksista:',
    'Each element of this collection should satisfy its own set of constraints.' => 'Ryhmän jokaisen elementin tulee läpäistä omat tarkistuksensa.',
    'This value is not a valid International Securities Identification Number (ISIN).' => 'Tämä arvo ei ole kelvollinen ISIN-koodi (International Securities Identification Number).',
    'This value should be a valid expression.' => 'Tämän arvon on oltava kelvollinen lauseke.',
    'This value is not a valid CSS color.' => 'Tämä arvo ei ole kelvollinen CSS-värimääritys.',
    'This value is not a valid CIDR notation.' => 'Tämä arvo ei ole kelvollinen CIDR-merkintä.',
    'The value of the netmask should be between {{ min }} and {{ max }}.' => 'Verkkomaskille annetun arvon tulee olla {{ min }} - {{ max }}.',
    'The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.' => 'Tiedostonimi on liian pitkä. Nimi saa olla enintään yhden merkin pituinen.|Tiedostonimi on liian pitkä. Nimi saa olla enintään {{ filename_max_length }} merkin pituinen.',
    'The password strength is too low. Please use a stronger password.' => 'Salasana on liian heikko. Valitse vahvempi salasana.',
    'This value contains characters that are not allowed by the current restriction-level.' => 'Arvo sisältää merkkejä, joita nykyinen rajoitustaso ei salli.',
    'Using invisible characters is not allowed.' => 'Näkymättömiä merkkejä ei saa käyttää.',
    'Mixing numbers from different scripts is not allowed.' => 'Eri kirjaimistojen numeroita ei saa sekoittaa.',
    'Using hidden overlay characters is not allowed.' => 'Piilotettuja tarkemerkkejä ei saa käyttää.',
    'The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}.' => 'Tiedostopääte ({{ extension }}) on virheellinen. Sallitut tiedostopäätteet ovat: {{ extensions }}.',
    'The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}.' => 'Havaittu merkistö on virheellinen ({{ detected }}). Sallitut merkistöt ovat {{ encodings }}.',
    'This value is not a valid MAC address.' => 'Tämä arvo ei ole kelvollinen MAC-osoite.',
    'This URL is missing a top-level domain.' => 'Tästä URL-osoitteesta puuttuu ylätason verkkotunnus.',
    'This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words.' => 'Tämä arvo on liian lyhyt. Sen pitäisi sisältää vähintään yksi sana.|Tämä arvo on liian lyhyt. Sen pitäisi sisältää vähintään {{ min }} sanaa.',
    'This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less.' => 'Tämä arvo on liian pitkä. Sen pitäisi sisältää vain yksi sana.|Tämä arvo on liian pitkä. Sen pitäisi sisältää {{ max }} sanaa tai vähemmän.',
    'This value does not represent a valid week in the ISO 8601 format.' => 'Tämä arvo ei esitä kelvollista viikkoa ISO 8601 -muodossa.',
    'This value is not a valid week.' => 'Tämä arvo ei ole kelvollinen viikko.',
    'This value should not be before week "{{ min }}".' => 'Tämän arvon ei pitäisi olla ennen viikkoa "{{ min }}".',
    'This value should not be after week "{{ max }}".' => 'Tämän arvon ei pitäisi olla viikon "{{ max }}" jälkeen.',
    'This value is not a valid Twig template.' => 'Tämä arvo ei ole kelvollinen Twig-malli.',
    'This file is not a valid video.' => 'Tämä tiedosto ei ole kelvollinen video.',
    'The size of the video could not be detected.' => 'Videon kokoa ei voitu tunnistaa.',
    'The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.' => 'Videon leveys on liian suuri ({{ width }} px). Leveyden tulee olla enintään {{ max_width }} px.',
    'The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.' => 'Videon leveys on liian pieni ({{ width }} px). Leveyden tulee olla vähintään {{ min_width }} px.',
    'The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.' => 'Videon korkeus on liian suuri ({{ height }} px). Korkeuden tulee olla enintään {{ max_height }} px.',
    'The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.' => 'Videon korkeus on liian pieni ({{ height }} px). Korkeuden tulee olla vähintään {{ min_height }} px.',
    'The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels.' => 'Videossa on liian vähän pikseleitä ({{ pixels }}). Pikseleitä tulee olla vähintään {{ min_pixels }}.',
    'The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels.' => 'Videossa on liikaa pikseleitä ({{ pixels }}). Pikseleitä tulee olla enintään {{ max_pixels }}.',
    'The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.' => 'Videon kuvasuhde on liian suuri ({{ ratio }}). Suurin sallittu suhde on {{ max_ratio }}.',
    'The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.' => 'Videon kuvasuhde on liian pieni ({{ ratio }}). Pienin sallittu suhde on {{ min_ratio }}.',
    'The video is square ({{ width }}x{{ height }}px). Square videos are not allowed.' => 'Video on neliön muotoinen ({{ width }}x{{ height }}px). Neliönmuotoiset videot eivät ole sallittuja.',
    'The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed.' => 'Video on vaakasuuntainen ({{ width }}x{{ height }} px). Vaakasuuntaiset videot eivät ole sallittuja.',
    'The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed.' => 'Video on pystysuuntainen ({{ width }}x{{ height }} px). Pystysuuntaiset videot eivät ole sallittuja.',
    'The video file is corrupted.' => 'Videotiedosto on vioittunut.',
    'The video contains multiple streams. Only one stream is allowed.' => 'Videossa on useita virtoja. Vain yksi virta on sallittu.',
    'Unsupported video codec "{{ codec }}".' => 'Videokoodekkia ei tueta ({{ codec }}).',
    'Unsupported video container "{{ container }}".' => 'Videon säiliömuotoa ei tueta ({{ container }}).',
    'The image file is corrupted.' => 'Kuvatiedosto on vioittunut.',
    'The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels.' => 'Kuvassa on liian vähän pikseleitä ({{ pixels }}). Pikseleitä tulee olla vähintään {{ min_pixels }}.',
    'The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels.' => 'Kuvassa on liikaa pikseleitä ({{ pixels }}). Pikseleitä tulee olla enintään {{ max_pixels }}.',
    'This filename does not match the expected charset.' => 'Tämä tiedostonimi ei vastaa odotettua merkistöä.',
    'This value is not valid XML.' => 'Tämä arvo ei ole kelvollista XML:ää.',
    'This value does not conform to the expected XSD schema.' => 'Tämä arvo ei vastaa odotettua XSD-skeemaa.',
    'This XML payload is too large ({{ size }} bytes): it exceeds the limit of {{ limit }} bytes.' => 'Tämä XML-data on liian suuri ({{ size }} tavua): se ylittää {{ limit }} tavun rajan.',
    'This value is not a valid cron expression.' => 'Tämä arvo ei ole kelvollinen cron-lauseke.',
    'This form should not contain extra fields.' => 'Tämä lomake ei voi sisältää ylimääräisiä kenttiä.',
    'The uploaded file was too large. Please try to upload a smaller file.' => 'Ladattu tiedosto on liian iso. Ole hyvä ja lataa pienempi tiedosto.',
    'The CSRF token is invalid. Please try to resubmit the form.' => 'CSRF-tarkiste on virheellinen. Ole hyvä ja yritä lähettää lomake uudestaan.',
    'This value is not a valid HTML5 color.' => 'Tämä arvo ei ole kelvollinen HTML5-väri.',
    'Please enter a valid birthdate.' => 'Syötä kelvollinen syntymäaika.',
    'The selected choice is invalid.' => 'Valittu vaihtoehto ei kelpaa.',
    'The collection is invalid.' => 'Ryhmä ei kelpaa.',
    'Please select a valid color.' => 'Valitse kelvollinen väri.',
    'Please select a valid country.' => 'Valitse kelvollinen maa.',
    'Please select a valid currency.' => 'Valitse kelvollinen valuutta.',
    'Please choose a valid date interval.' => 'Valitse kelvollinen aikaväli.',
    'Please enter a valid date and time.' => 'Syötä kelvolliset päivä ja aika.',
    'Please enter a valid date.' => 'Syötä kelvollinen päivä.',
    'Please select a valid file.' => 'Valitse kelvollinen tiedosto.',
    'The hidden field is invalid.' => 'Piilotettu kenttä ei ole kelvollinen.',
    'Please enter an integer.' => 'Syötä kokonaisluku.',
    'Please select a valid language.' => 'Valitse kelvollinen kieli.',
    'Please select a valid locale.' => 'Valitse kelvollinen kielikoodi.',
    'Please enter a valid money amount.' => 'Syötä kelvollinen rahasumma.',
    'Please enter a number.' => 'Syötä numero.',
    'The password is invalid.' => 'Salasana ei kelpaa.',
    'Please enter a percentage value.' => 'Syötä prosenttiluku.',
    'The values do not match.' => 'Arvot eivät vastaa toisiaan.',
    'Please enter a valid time.' => 'Syötä kelvollinen kellonaika.',
    'Please select a valid timezone.' => 'Valitse kelvollinen aikavyöhyke.',
    'Please enter a valid URL.' => 'Syötä kelvollinen URL.',
    'Please enter a valid search term.' => 'Syötä kelvollinen hakusana.',
    'Please provide a valid phone number.' => 'Anna kelvollinen puhelinnumero.',
    'The checkbox has an invalid value.' => 'Valintaruudun arvo ei  kelpaa.',
    'Please enter a valid email address.' => 'Syötä kelvollinen sähköpostiosoite.',
    'Please select a valid option.' => 'Valitse kelvollinen vaihtoehto.',
    'Please select a valid range.' => 'Valitse kelvollinen väli.',
    'Please enter a valid week.' => 'Syötä kelvollinen viikko.',
    'Please enter a valid UUID.' => 'Syötä kelvollinen UUID.',
  ),
  'security' => 
  array (
    'An authentication exception occurred.' => 'Autentikointipoikkeus tapahtui.',
    'Authentication credentials could not be found.' => 'Autentikoinnin tunnistetietoja ei löydetty.',
    'Authentication request could not be processed due to a system problem.' => 'Autentikointipyyntöä ei voitu käsitellä järjestelmäongelman vuoksi.',
    'Invalid credentials.' => 'Virheelliset tunnistetiedot.',
    'Cookie has already been used by someone else.' => 'Eväste on jo jonkun muun käytössä.',
    'Not privileged to request the resource.' => 'Ei oikeutta resurssiin.',
    'Invalid CSRF token.' => 'Virheellinen CSRF-tunnus.',
    'No authentication provider found to support the authentication token.' => 'Autentikointitunnukselle ei löydetty tuettua autentikoinnintarjoajaa.',
    'No session available, it either timed out or cookies are not enabled.' => 'Sessio ei ole saatavilla, se on joko vanhentunut tai evästeet eivät ole käytössä.',
    'No token could be found.' => 'Tunnusta ei löytynyt.',
    'Username could not be found.' => 'Käyttäjätunnusta ei löytynyt.',
    'Account has expired.' => 'Tili on vanhentunut.',
    'Credentials have expired.' => 'Tunnistetiedot ovat vanhentuneet.',
    'Account is disabled.' => 'Tili on poistettu käytöstä.',
    'Account is locked.' => 'Tili on lukittu.',
    'Too many failed login attempts, please try again later.' => 'Liian monta epäonnistunutta kirjautumisyritystä, yritä myöhemmin uudelleen.',
    'Invalid or expired login link.' => 'Virheellinen tai vanhentunut kirjautumislinkki.',
    'Too many failed login attempts, please try again in %minutes% minute.' => 'Liian monta epäonnistunutta kirjautumisyritystä, yritä uudelleen %minutes% minuutin kuluttua.',
    'Too many failed login attempts, please try again in %minutes% minutes.' => 'Liian monta epäonnistunutta kirjautumisyritystä, yritä uudelleen %minutes% minuutin kuluttua.',
  ),
));

$catalogueEn = new MessageCatalogue('en', array (
  'validators' => 
  array (
    'This value should be false.' => 'This value should be false.',
    'This value should be true.' => 'This value should be true.',
    'This value should be of type {{ type }}.' => 'This value should be of type {{ type }}.',
    'This value should be blank.' => 'This value should be blank.',
    'The value you selected is not a valid choice.' => 'The value you selected is not a valid choice.',
    'You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.' => 'You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.',
    'You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.' => 'You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.',
    'One or more of the given values is invalid.' => 'One or more of the given values is invalid.',
    'This field was not expected.' => 'This field was not expected.',
    'This field is missing.' => 'This field is missing.',
    'This value is not a valid date.' => 'This value is not a valid date.',
    'This value is not a valid datetime.' => 'This value is not a valid datetime.',
    'This value is not a valid email address.' => 'This value is not a valid email address.',
    'The file could not be found.' => 'The file could not be found.',
    'The file is not readable.' => 'The file is not readable.',
    'The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.' => 'The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.',
    'The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.' => 'The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.',
    'This value should be {{ limit }} or less.' => 'This value should be {{ limit }} or less.',
    'This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.' => 'This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.',
    'This value should be {{ limit }} or more.' => 'This value should be {{ limit }} or more.',
    'This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.' => 'This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.',
    'This value should not be blank.' => 'This value should not be blank.',
    'This value should not be null.' => 'This value should not be null.',
    'This value should be null.' => 'This value should be null.',
    'This value is not valid.' => 'This value is not valid.',
    'This value is not a valid time.' => 'This value is not a valid time.',
    'This value is not a valid URL.' => 'This value is not a valid URL.',
    'The two values should be equal.' => 'The two values should be equal.',
    'The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.' => 'The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.',
    'The file is too large.' => 'The file is too large.',
    'The file could not be uploaded.' => 'The file could not be uploaded.',
    'This value should be a valid number.' => 'This value should be a valid number.',
    'This file is not a valid image.' => 'This file is not a valid image.',
    'This is not a valid IP address.' => 'This value is not a valid IP address.',
    'This value is not a valid language.' => 'This value is not a valid language.',
    'This value is not a valid locale.' => 'This value is not a valid locale.',
    'This value is not a valid country.' => 'This value is not a valid country.',
    'This value is already used.' => 'This value is already used.',
    'The size of the image could not be detected.' => 'The size of the image could not be detected.',
    'The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.' => 'The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.',
    'The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.' => 'The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.',
    'The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.' => 'The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.',
    'The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.' => 'The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.',
    'This value should be the user\'s current password.' => 'This value should be the user\'s current password.',
    'This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.' => 'This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.',
    'The file was only partially uploaded.' => 'The file was only partially uploaded.',
    'No file was uploaded.' => 'No file was uploaded.',
    'No temporary folder was configured in php.ini.' => 'No temporary folder was configured in php.ini, or the configured folder does not exist.',
    'Cannot write temporary file to disk.' => 'Cannot write temporary file to disk.',
    'A PHP extension caused the upload to fail.' => 'A PHP extension caused the upload to fail.',
    'This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.' => 'This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.',
    'This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.' => 'This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.',
    'This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.' => 'This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.',
    'Invalid card number.' => 'Invalid card number.',
    'Unsupported card type or invalid card number.' => 'Unsupported card type or invalid card number.',
    'This is not a valid International Bank Account Number (IBAN).' => 'This value is not a valid International Bank Account Number (IBAN).',
    'This value is not a valid ISBN-10.' => 'This value is not a valid ISBN-10.',
    'This value is not a valid ISBN-13.' => 'This value is not a valid ISBN-13.',
    'This value is neither a valid ISBN-10 nor a valid ISBN-13.' => 'This value is neither a valid ISBN-10 nor a valid ISBN-13.',
    'This value is not a valid ISSN.' => 'This value is not a valid ISSN.',
    'This value is not a valid currency.' => 'This value is not a valid currency.',
    'This value should be equal to {{ compared_value }}.' => 'This value should be equal to {{ compared_value }}.',
    'This value should be greater than {{ compared_value }}.' => 'This value should be greater than {{ compared_value }}.',
    'This value should be greater than or equal to {{ compared_value }}.' => 'This value should be greater than or equal to {{ compared_value }}.',
    'This value should be identical to {{ compared_value_type }} {{ compared_value }}.' => 'This value should be identical to {{ compared_value_type }} {{ compared_value }}.',
    'This value should be less than {{ compared_value }}.' => 'This value should be less than {{ compared_value }}.',
    'This value should be less than or equal to {{ compared_value }}.' => 'This value should be less than or equal to {{ compared_value }}.',
    'This value should not be equal to {{ compared_value }}.' => 'This value should not be equal to {{ compared_value }}.',
    'This value should not be identical to {{ compared_value_type }} {{ compared_value }}.' => 'This value should not be identical to {{ compared_value_type }} {{ compared_value }}.',
    'The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.' => 'The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.',
    'The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.' => 'The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.',
    'The image is square ({{ width }}x{{ height }}px). Square images are not allowed.' => 'The image is square ({{ width }}x{{ height }}px). Square images are not allowed.',
    'The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.' => 'The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.',
    'The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.' => 'The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.',
    'An empty file is not allowed.' => 'An empty file is not allowed.',
    'The host could not be resolved.' => 'The host could not be resolved.',
    'This value does not match the expected {{ charset }} charset.' => 'This value does not match the expected {{ charset }} charset.',
    'This is not a valid Business Identifier Code (BIC).' => 'This value is not a valid Business Identifier Code (BIC).',
    'Error' => 'Error',
    'This is not a valid UUID.' => 'This value is not a valid UUID.',
    'This value should be a multiple of {{ compared_value }}.' => 'This value should be a multiple of {{ compared_value }}.',
    'This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.' => 'This Business Identifier Code (BIC) is not associated with IBAN {{ iban }}.',
    'This value should be valid JSON.' => 'This value should be valid JSON.',
    'This collection should contain only unique elements.' => 'This collection should contain only unique elements.',
    'This value should be positive.' => 'This value should be positive.',
    'This value should be either positive or zero.' => 'This value should be either positive or zero.',
    'This value should be negative.' => 'This value should be negative.',
    'This value should be either negative or zero.' => 'This value should be either negative or zero.',
    'This value is not a valid timezone.' => 'This value is not a valid timezone.',
    'This password has been leaked in a data breach, it must not be used. Please use another password.' => 'This password has been leaked in a data breach, it must not be used. Please use another password.',
    'This value should be between {{ min }} and {{ max }}.' => 'This value should be between {{ min }} and {{ max }}.',
    'This value is not a valid hostname.' => 'This value is not a valid hostname.',
    'The number of elements in this collection should be a multiple of {{ compared_value }}.' => 'The number of elements in this collection should be a multiple of {{ compared_value }}.',
    'This value should satisfy at least one of the following constraints:' => 'This value should satisfy at least one of the following constraints:',
    'Each element of this collection should satisfy its own set of constraints.' => 'Each element of this collection should satisfy its own set of constraints.',
    'This value is not a valid International Securities Identification Number (ISIN).' => 'This value is not a valid International Securities Identification Number (ISIN).',
    'This value should be a valid expression.' => 'This value should be a valid expression.',
    'This value is not a valid CSS color.' => 'This value is not a valid CSS color.',
    'This value is not a valid CIDR notation.' => 'This value is not a valid CIDR notation.',
    'The value of the netmask should be between {{ min }} and {{ max }}.' => 'The value of the netmask should be between {{ min }} and {{ max }}.',
    'The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.' => 'The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.',
    'The password strength is too low. Please use a stronger password.' => 'The password strength is too low. Please use a stronger password.',
    'This value contains characters that are not allowed by the current restriction-level.' => 'This value contains characters that are not allowed by the current restriction-level.',
    'Using invisible characters is not allowed.' => 'Using invisible characters is not allowed.',
    'Mixing numbers from different scripts is not allowed.' => 'Mixing numbers from different scripts is not allowed.',
    'Using hidden overlay characters is not allowed.' => 'Using hidden overlay characters is not allowed.',
    'The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}.' => 'The extension of the file is invalid ({{ extension }}). Allowed extensions are {{ extensions }}.',
    'The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}.' => 'The detected character encoding is invalid ({{ detected }}). Allowed encodings are {{ encodings }}.',
    'This value is not a valid MAC address.' => 'This value is not a valid MAC address.',
    'This URL is missing a top-level domain.' => 'This URL is missing a top-level domain.',
    'This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words.' => 'This value is too short. It should contain at least one word.|This value is too short. It should contain at least {{ min }} words.',
    'This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less.' => 'This value is too long. It should contain one word.|This value is too long. It should contain {{ max }} words or less.',
    'This value does not represent a valid week in the ISO 8601 format.' => 'This value does not represent a valid week in the ISO 8601 format.',
    'This value is not a valid week.' => 'This value is not a valid week.',
    'This value should not be before week "{{ min }}".' => 'This value should not be before week "{{ min }}".',
    'This value should not be after week "{{ max }}".' => 'This value should not be after week "{{ max }}".',
    'This value is not a valid Twig template.' => 'This value is not a valid Twig template.',
    'This file is not a valid video.' => 'This file is not a valid video.',
    'The size of the video could not be detected.' => 'The size of the video could not be detected.',
    'The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.' => 'The video width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.',
    'The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.' => 'The video width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.',
    'The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.' => 'The video height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.',
    'The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.' => 'The video height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.',
    'The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels.' => 'The video has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels.',
    'The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels.' => 'The video has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels.',
    'The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.' => 'The video ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.',
    'The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.' => 'The video ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.',
    'The video is square ({{ width }}x{{ height }}px). Square videos are not allowed.' => 'The video is square ({{ width }}x{{ height }}px). Square videos are not allowed.',
    'The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed.' => 'The video is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented videos are not allowed.',
    'The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed.' => 'The video is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented videos are not allowed.',
    'The video file is corrupted.' => 'The video file is corrupted.',
    'The video contains multiple streams. Only one stream is allowed.' => 'The video contains multiple streams. Only one stream is allowed.',
    'Unsupported video codec "{{ codec }}".' => 'Unsupported video codec "{{ codec }}".',
    'Unsupported video container "{{ container }}".' => 'Unsupported video container "{{ container }}".',
    'The image file is corrupted.' => 'The image file is corrupted.',
    'The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels.' => 'The image has too few pixels ({{ pixels }} pixels). Minimum amount expected is {{ min_pixels }} pixels.',
    'The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels.' => 'The image has too many pixels ({{ pixels }} pixels). Maximum amount expected is {{ max_pixels }} pixels.',
    'This filename does not match the expected charset.' => 'This filename does not match the expected charset.',
    'This value is not valid XML.' => 'This value is not valid XML.',
    'This value does not conform to the expected XSD schema.' => 'This value does not conform to the expected XSD schema.',
    'This XML payload is too large ({{ size }} bytes): it exceeds the limit of {{ limit }} bytes.' => 'This XML payload is too large ({{ size }} bytes): it exceeds the limit of {{ limit }} bytes.',
    'This value is not a valid cron expression.' => 'This value is not a valid cron expression.',
    'This form should not contain extra fields.' => 'This form should not contain extra fields.',
    'The uploaded file was too large. Please try to upload a smaller file.' => 'The uploaded file was too large. Please try to upload a smaller file.',
    'The CSRF token is invalid. Please try to resubmit the form.' => 'The CSRF token is invalid. Please try to resubmit the form.',
    'This value is not a valid HTML5 color.' => 'This value is not a valid HTML5 color.',
    'Please enter a valid birthdate.' => 'Please enter a valid birthdate.',
    'The selected choice is invalid.' => 'The selected choice is invalid.',
    'The collection is invalid.' => 'The collection is invalid.',
    'Please select a valid color.' => 'Please select a valid color.',
    'Please select a valid country.' => 'Please select a valid country.',
    'Please select a valid currency.' => 'Please select a valid currency.',
    'Please choose a valid date interval.' => 'Please choose a valid date interval.',
    'Please enter a valid date and time.' => 'Please enter a valid date and time.',
    'Please enter a valid date.' => 'Please enter a valid date.',
    'Please select a valid file.' => 'Please select a valid file.',
    'The hidden field is invalid.' => 'The hidden field is invalid.',
    'Please enter an integer.' => 'Please enter an integer.',
    'Please select a valid language.' => 'Please select a valid language.',
    'Please select a valid locale.' => 'Please select a valid locale.',
    'Please enter a valid money amount.' => 'Please enter a valid money amount.',
    'Please enter a number.' => 'Please enter a number.',
    'The password is invalid.' => 'The password is invalid.',
    'Please enter a percentage value.' => 'Please enter a percentage value.',
    'The values do not match.' => 'The values do not match.',
    'Please enter a valid time.' => 'Please enter a valid time.',
    'Please select a valid timezone.' => 'Please select a valid timezone.',
    'Please enter a valid URL.' => 'Please enter a valid URL.',
    'Please enter a valid search term.' => 'Please enter a valid search term.',
    'Please provide a valid phone number.' => 'Please provide a valid phone number.',
    'The checkbox has an invalid value.' => 'The checkbox has an invalid value.',
    'Please enter a valid email address.' => 'Please enter a valid email address.',
    'Please select a valid option.' => 'Please select a valid option.',
    'Please select a valid range.' => 'Please select a valid range.',
    'Please enter a valid week.' => 'Please enter a valid week.',
    'Please enter a valid UUID.' => 'Please enter a valid UUID.',
  ),
  'security' => 
  array (
    'An authentication exception occurred.' => 'An authentication exception occurred.',
    'Authentication credentials could not be found.' => 'Authentication credentials could not be found.',
    'Authentication request could not be processed due to a system problem.' => 'Authentication request could not be processed due to a system problem.',
    'Invalid credentials.' => 'Invalid credentials.',
    'Cookie has already been used by someone else.' => 'Cookie has already been used by someone else.',
    'Not privileged to request the resource.' => 'Not privileged to request the resource.',
    'Invalid CSRF token.' => 'Invalid CSRF token.',
    'No authentication provider found to support the authentication token.' => 'No authentication provider found to support the authentication token.',
    'No session available, it either timed out or cookies are not enabled.' => 'No session available, it either timed out or cookies are not enabled.',
    'No token could be found.' => 'No token could be found.',
    'Username could not be found.' => 'Username could not be found.',
    'Account has expired.' => 'Account has expired.',
    'Credentials have expired.' => 'Credentials have expired.',
    'Account is disabled.' => 'Account is disabled.',
    'Account is locked.' => 'Account is locked.',
    'Too many failed login attempts, please try again later.' => 'Too many failed login attempts, please try again later.',
    'Invalid or expired login link.' => 'Invalid or expired login link.',
    'Too many failed login attempts, please try again in %minutes% minute.' => 'Too many failed login attempts, please try again in %minutes% minute.',
    'Too many failed login attempts, please try again in %minutes% minutes.' => 'Too many failed login attempts, please try again in %minutes% minutes.',
  ),
  'messages' => 
  array (
    'Not authorized' => 'Not authorized',
    'Failed admin login attempt for \'%login%\'' => 'Failed admin login attempt for \'%login%\'',
    'Login attempt for disabled admin \'%login%\'' => 'Login attempt for disabled admin \'%login%\'',
    'Administrator not found' => 'Administrator not found',
    'Attribute definition already exists.' => 'Attribute definition already exists.',
    'Password Reset Request' => 'Password Reset Request',
    'Hello,

                    A password reset has been requested for your account.
                    Please use the following token to reset your password:

                    %token%

                    If you did not request this password reset, please ignore this email.

                    Thank you.
                ' => '
                    Hello,

                    A password reset has been requested for your account.
                    Please use the following token to reset your password:

                    %token%

                    If you did not request this password reset, please ignore this email.

                    Thank you.
                ',
    '<p>Password Reset Request!</p>
<p>Hello! A password reset has been requested for your account.</p>
<p>Please use the following token to reset your password:</p>
<p><a href="%confirmation_link%">Reset Password</a></p>
<p>If you did not request this password reset, please ignore this email.</p>
<p>Thank you.</p>' => '
                    
                        <p>Password Reset Request!</p>
                        <p>Hello! A password reset has been requested for your account.</p>
                        <p>Please use the following token to reset your password:</p>
                        <p><a href="%confirmation_link%">Reset Password</a></p>
                        <p>If you did not request this password reset, please ignore this email.</p>
                        <p>Thank you.</p>
                    
                ',
    'Request for confirmation' => 'Request for confirmation',
    'Thank you for subscribing!

                    Please confirm your subscription by clicking the link below:

                    %confirmation_link%

                    If you did not request this subscription, please ignore this email.
                ' => 'Thank you for subscribing!

                    Please confirm your subscription by clicking the link below:

                    %confirmation_link%

                    If you did not request this subscription, please ignore this email.
                ',
    '<p>Thank you for subscribing!</p>
<p>Please confirm your subscription by clicking the link below:</p>
<p><a href="%confirmation_link%">Confirm Subscription</a></p>
<p>If you did not request this subscription, please ignore this email.</p>
                ' => '<p>Thank you for subscribing!</p>
<p>Please confirm your subscription by clicking the link below:</p>
<p><a href="%confirmation_link%">Confirm Subscription</a></p>
<p>If you did not request this subscription, please ignore this email.</p>
                ',
    'PHP IMAP extension not available. Falling back to Webklex IMAP.' => 'PHP IMAP extension not available. Falling back to Webklex IMAP.',
    'Could not apply force lock. Aborting.' => 'Could not apply force lock. Aborting.',
    'Another bounce processing is already running. Aborting.' => 'Another bounce processing is already running. Aborting.',
    'Queue is already being processed by another instance.' => 'Queue is already being processed by another instance.',
    'The system is in maintenance mode, stopping. Try again later.' => 'The system is in maintenance mode, stopping. Try again later.',
    'Bounce processing completed.' => 'Bounce processing completed.',
    'Recipient email address not provided' => 'Recipient email address not provided',
    'Invalid email address: %email%' => 'Invalid email address: %email%',
    'Sending test email synchronously to %email%' => 'Sending test email synchronously to %email%',
    'Queuing test email for %email%' => 'Queuing test email for %email%',
    'Test email sent successfully!' => 'Test email sent successfully!',
    'Test email queued successfully! It will be sent asynchronously.' => 'Test email queued successfully! It will be sent asynchronously.',
    'Failed to send test email: %error%' => 'Failed to send test email: %error%',
    'Email address auto blacklisted by bounce rule %rule_id%' => 'Email address auto blacklisted by bounce rule %rule_id%',
    'Auto Unsubscribed' => 'Auto Unsubscribed',
    'User auto unsubscribed for bounce rule %rule_id%' => 'User auto unsubscribed for bounce rule %rule_id%',
    'email auto unsubscribed for bounce rule %rule_id%' => 'email auto unsubscribed for bounce rule %rule_id%',
    'Subscriber auto blacklisted by bounce rule %rule_id%' => 'Subscriber auto blacklisted by bounce rule %rule_id%',
    'User auto unsubscribed for bounce rule %%rule_id%' => 'User auto unsubscribed for bounce rule %%rule_id%',
    'Auto confirmed' => 'Auto confirmed',
    'Auto unconfirmed' => 'Auto unconfirmed',
    'Subscriber auto confirmed for bounce rule %rule_id%' => 'Subscriber auto confirmed for bounce rule %rule_id%',
    'Requeued campaign; next embargo at %time%' => 'Requeued campaign; next embargo at %time%',
    'Subscriber auto unconfirmed for bounce rule %rule_id%' => 'Subscriber auto unconfirmed for bounce rule %rule_id%',
    'Running in test mode, not deleting messages from mailbox' => 'Running in test mode, not deleting messages from mailbox',
    'Processed messages will be deleted from the mailbox' => 'Processed messages will be deleted from the mailbox',
    'Processing bounces based on active bounce rules' => 'Processing bounces based on active bounce rules',
    'No active rules' => 'No active rules',
    'Processed %processed% out of %total% bounces for advanced bounce rules' => 'Processed %processed% out of %total% bounces for advanced bounce rules',
    '%processed% bounces processed by advanced processing' => '%processed% bounces processed by advanced processing',
    '%not_processed% bounces were not matched by advanced processing rules' => '%not_processed% bounces were not matched by advanced processing rules',
    'Opening mbox %file%' => 'Opening mbox %file%',
    'Connecting to %mailbox%' => 'Connecting to %mailbox%',
    'Please do not interrupt this process' => 'Please do not interrupt this process',
    'mbox file path must be provided with --mailbox.' => 'mbox file path must be provided with --mailbox.',
    'Invalid email, marking unconfirmed: %email%' => 'Invalid email, marking unconfirmed: %email%',
    'Failed to send to: %email%' => 'Failed to send to: %email%',
    'Reprocessing unidentified bounces' => 'Reprocessing unidentified bounces',
    '%total% bounces to reprocess' => '%total% bounces to reprocess',
    '%count% out of %total% processed' => '%count% out of %total% processed',
    '%reparsed% bounces were re-processed and %reidentified% bounces were re-identified' => '%reparsed% bounces were re-processed and %reidentified% bounces were re-identified',
    'Identifying consecutive bounces' => 'Identifying consecutive bounces',
    'Nothing to do' => 'Nothing to do',
    'Processed %processed% out of %total% subscribers' => 'Processed %processed% out of %total% subscribers',
    'Total of %total% subscribers processed' => 'Total of %total% subscribers processed',
    'Subscriber auto unconfirmed for %count% consecutive bounces' => 'Subscriber auto unconfirmed for %count% consecutive bounces',
    '%count% consecutive bounces, threshold reached' => '%count% consecutive bounces, threshold reached',
    'Reached max processing time; stopping cleanly.' => 'Reached max processing time; stopping cleanly.',
    'Giving a UUID to %count% subscribers, this may take a while' => 'Giving a UUID to %count% subscribers, this may take a while',
    'Giving a UUID to %count% campaigns' => 'Giving a UUID to %count% campaigns',
    'Batch limit reached, sleeping %sleep%s to respect MAILQUEUE_BATCH_PERIOD' => 'Batch limit reached, sleeping %sleep%s to respect MAILQUEUE_BATCH_PERIOD',
    'Value must be an array of image URLs.' => 'Value must be an array of image URLs.',
    'Image "%url%" is not a full URL.' => 'Image "%url%" is not a full URL.',
    'Image "%url%" does not exist (HTTP %code%)' => 'Image "%url%" does not exist (HTTP %code%)',
    'Image "%url%" could not be validated: %message%' => 'Image "%url%" could not be validated: %message%',
    'Not full URLs: %urls%' => 'Not full URLs: %urls%',
    'Subscriber list not found.' => 'Subscriber list not found.',
    'Subscriber does not exists.' => 'Subscriber does not exists.',
    'Subscription not found for this subscriber and list.' => 'Subscription not found for this subscriber and list.',
    'Another attribute with this name already exists.' => 'Another attribute with this name already exists.',
    'Subscribe page not found' => 'Subscribe page not found',
    'Value is required' => 'Value is required',
    'Subscriber not found' => 'Subscriber not found',
    'Unexpected error: %error%' => 'Unexpected error: %error%',
    'Added to blacklist for reason %reason%' => 'Added to blacklist for reason %reason%',
    'Could not read the uploaded file.' => 'Could not read the uploaded file.',
    'Error processing %email%: %error%' => 'Error processing %email%: %error%',
    'General import error: %error%' => 'General import error: %error%',
    'Value must be a string.' => 'Value must be a string.',
    'Invalid attribute type: "%type%". Valid types are: %valid_types%' => 'Invalid attribute type: "%type%". Valid types are: %valid_types%',
    'Thank you for subscribing!

Please confirm your subscription by clicking the link below:

%confirmation_link%

If you did not request this subscription, please ignore this email.' => '__Thank you for subscribing!

Please confirm your subscription by clicking the link below:

%confirmation_link%

If you did not request this subscription, please ignore this email.',
    '<p>Thank you for subscribing!</p><p>Please confirm your subscription by clicking the link below:</p><p><a href="%confirmation_link%">Confirm Subscription</a></p><p>If you did not request this subscription, please ignore this email.</p>' => '__<p>Thank you for subscribing!</p><p>Please confirm your subscription by clicking the link below:</p><p><a href="%confirmation_link%">Confirm Subscription</a></p><p>If you did not request this subscription, please ignore this email.</p>',
    'Hello,

A password reset has been requested for your account.
Please use the following token to reset your password:

%token%

If you did not request this password reset, please ignore this email.

Thank you.' => '__Hello,

A password reset has been requested for your account.
Please use the following token to reset your password:

%token%

If you did not request this password reset, please ignore this email.

Thank you.',
    '<p>Password Reset Request!</p><p>Hello! A password reset has been requested for your account.</p><p>Please use the following token to reset your password:</p><p><a href="%confirmation_link%">Reset Password</a></p><p>If you did not request this password reset, please ignore this email.</p><p>Thank you.</p>' => '__<p>Password Reset Request!</p><p>Hello! A password reset has been requested for your account.</p><p>Please use the following token to reset your password:</p><p><a href="%confirmation_link%">Reset Password</a></p><p>If you did not request this password reset, please ignore this email.</p><p>Thank you.</p>',
    'Person in charge of this system (one email address)' => '__Person in charge of this system (one email address)',
    'Name of the organisation' => '__Name of the organisation',
    'Logo of the organisation' => '__Logo of the organisation',
    'Date format' => '__Date format',
    'Show notification for Release Candidates' => '__Show notification for Release Candidates',
    'Secret for remote processing' => '__Secret for remote processing',
    'Notify admin on login from new location' => '__Notify admin on login from new location',
    'List of email addresses to CC in system messages (separate by commas)' => '__List of email addresses to CC in system messages (separate by commas)',
    'Default for \'From:\' in a campaign' => '__Default for \'From:\' in a campaign',
    'Default for \'address to alert when sending starts\'' => '__Default for \'address to alert when sending starts\'',
    'Default for \'address to alert when sending finishes\'' => '__Default for \'address to alert when sending finishes\'',
    'Always add analytics tracking code to campaigns' => '__Always add analytics tracking code to campaigns',
    'Analytics tracking code to add to campaign URLs' => '__Analytics tracking code to add to campaign URLs',
    'Who gets the reports (email address, separate multiple emails with a comma)' => '__Who gets the reports (email address, separate multiple emails with a comma)',
    'From email address for system messages' => '__From email address for system messages',
    'Webmaster' => '__Webmaster',
    'Name for system messages' => '__Name for system messages',
    'Reply-to email address for system messages' => '__Reply-to email address for system messages',
    'If there is only one visible list, should it be hidden in the page and automatically subscribe users who sign up' => '__If there is only one visible list, should it be hidden in the page and automatically subscribe users who sign up',
    'Categories for lists. Separate with commas.' => '__Categories for lists. Separate with commas.',
    'Display list categories on subscribe page' => '__Display list categories on subscribe page',
    'Width of a textline field (numerical)' => '__Width of a textline field (numerical)',
    'Dimensions of a textarea field (rows,columns)' => '__Dimensions of a textarea field (rows,columns)',
    'Send notifications about subscribe, update and unsubscribe' => '__Send notifications about subscribe, update and unsubscribe',
    'The default subscribe page when there are multiple' => '__The default subscribe page when there are multiple',
    'The default HTML template to use when sending a message' => '__The default HTML template to use when sending a message',
    'The HTML wrapper template for system messages' => '__The HTML wrapper template for system messages',
    'URL where subscribers can sign up' => '__URL where subscribers can sign up',
    'URL where subscribers can unsubscribe' => '__URL where subscribers can unsubscribe',
    'URL where unknown users can unsubscribe (do-not-send-list)' => '__URL where unknown users can unsubscribe (do-not-send-list)',
    'URL where subscribers have to confirm their subscription' => '__URL where subscribers have to confirm their subscription',
    'URL where subscribers can update their details' => '__URL where subscribers can update their details',
    'URL for forwarding messages' => '__URL for forwarding messages',
    'URL for downloading vcf card' => '__URL for downloading vcf card',
    '<h3>Thanks, you have been added to our newsletter</h3><p>You will receive an email to confirm your subscription. Please click the link in the email to confirm</p>' => '__<h3>Thanks, you have been added to our newsletter</h3><p>You will receive an email to confirm your subscription. Please click the link in the email to confirm</p>',
    'Text to display when subscription with an AJAX request was successful' => '__Text to display when subscription with an AJAX request was successful',
    'Subject of the message subscribers receive when they sign up' => '__Subject of the message subscribers receive when they sign up',
    'Message subscribers receive when they sign up' => '__Message subscribers receive when they sign up',
    'Goodbye from our Newsletter' => '__Goodbye from our Newsletter',
    'Subject of the message subscribers receive when they unsubscribe' => '__Subject of the message subscribers receive when they unsubscribe',
    'Message subscribers receive when they unsubscribe' => '__Message subscribers receive when they unsubscribe',
    'Welcome to our Newsletter' => '__Welcome to our Newsletter',
    'Subject of the message subscribers receive after confirming their email address' => '__Subject of the message subscribers receive after confirming their email address',
    'Message subscribers receive after confirming their email address' => '__Message subscribers receive after confirming their email address',
    '[notify] Change of List-Membership details' => '__[notify] Change of List-Membership details',
    'Subject of the message subscribers receive when they have changed their details' => '__Subject of the message subscribers receive when they have changed their details',
    'Message subscribers receive when they have changed their details' => '__Message subscribers receive when they have changed their details',
    'Part of the message that is sent to their new email address when subscribers change their information, and the email address has changed' => '__Part of the message that is sent to their new email address when subscribers change their information, and the email address has changed',
    'Part of the message that is sent to their old email address when subscribers change their information, and the email address has changed' => '__Part of the message that is sent to their old email address when subscribers change their information, and the email address has changed',
    'Your personal location' => '__Your personal location',
    'Subject of message when subscribers request their personal location' => '__Subject of message when subscribers request their personal location',
    'Default footer for sending a campaign' => '__Default footer for sending a campaign',
    'Footer used when a message has been forwarded' => '__Footer used when a message has been forwarded',
    'Message to send when they request their personal location' => '__Message to send when they request their personal location',
    'String to always append to remote URL when using send-a-webpage' => '__String to always append to remote URL when using send-a-webpage',
    'Width for Wordwrap of Text messages' => '__Width for Wordwrap of Text messages',
    'CSS for HTML messages without a template' => '__CSS for HTML messages without a template',
    'Domains that only accept text emails, one per line' => '__Domains that only accept text emails, one per line',
    'last time TLDs were fetched' => '__last time TLDs were fetched',
    'Top level domains' => '__Top level domains',
    'Header of public pages.' => '__Header of public pages.',
    'Footer of public pages' => '__Footer of public pages',
    'Please confirm your subscription' => '__Please confirm your subscription',
    'No user details changed' => '__No user details changed',
    '%field% = %new% *changed* from %old%' => '__%field% = %new% *changed* from %old%',
    'Subscribed to %list%' => '__Subscribed to %list%',
    'Subscriber marked unconfirmed for invalid email address' => '__Subscriber marked unconfirmed for invalid email address',
    'Marked unconfirmed while sending campaign %message_id%' => '__Marked unconfirmed while sending campaign %message_id%',
    'Update by %admin%' => '__Update by %admin%',
    '(no data)' => '__(no data)',
    '%attribute% = %new_value% 
 changed from %old_value%' => '__%attribute% = %new_value% 
 changed from %old_value%',
    'No data changed' => '__No data changed',
    'Campaign not found or not in submitted status' => '__Campaign not found or not in submitted status',
    'Conflict: email and foreign key refer to different subscribers.' => '__Conflict: email and foreign key refer to different subscribers.',
    'Invalid email: %email%' => '__Invalid email: %email%',
    'Value must be an AttributeTypeEnum or string.' => '__Value must be an AttributeTypeEnum or string.',
    'Campaign started' => '__Campaign started',
    'phplist has started sending the campaign with subject %s' => '__phplist has started sending the campaign with subject %s',
    'phplist has started sending the campaign with subject %subject%' => '__phplist has started sending the campaign with subject %subject%',
    'Unsubscribe' => '__Unsubscribe',
    'This link' => '__This link',
    'Confirm' => '__Confirm',
    'Update preferences' => '__Update preferences',
    'Sorry, you are not subscribed to any of our newsletters with this email address.' => '__Sorry, you are not subscribed to any of our newsletters with this email address.',
    'This message contains attachments that can be viewed with a webbrowser' => '__This message contains attachments that can be viewed with a webbrowser',
    'Insufficient memory to add attachment to campaign %campaignId% %totalSize% - %memLimit%' => '__Insufficient memory to add attachment to campaign %campaignId% %totalSize% - %memLimit%',
    'Add us to your address book' => '__Add us to your address book',
    'phpList system error' => '__phpList system error',
    'Error, when trying to send campaign %campaignId% the attachment (%remoteFile%) could not be copied to the repository. Check for permissions.' => '__Error, when trying to send campaign %campaignId% the attachment (%remoteFile%) could not be copied to the repository. Check for permissions.',
    'failed to open attachment (%remoteFile%) to add to campaign %campaignId%' => '__failed to open attachment (%remoteFile%) to add to campaign %campaignId%',
    'Attachment %remoteFile% does not exist' => '__Attachment %remoteFile% does not exist',
    'Error, when trying to send campaign %campaignId% the attachment (%remoteFile%) could not be found in the repository.' => '__Error, when trying to send campaign %campaignId% the attachment (%remoteFile%) could not be found in the repository.',
    'Location' => '__Location',
    'Fwd' => '__Fwd',
    '(test)' => '__(test)',
    'Message Forwarded' => '__Message Forwarded',
    '%subscriber% tried forwarding message %campaignId% to %email% but failed' => '__%subscriber% tried forwarding message %campaignId% to %email% but failed',
    '%subscriber% has forwarded message %campaignId% to %email%' => '__%subscriber% has forwarded message %campaignId% to %email%',
  ),
));
$catalogue->addFallbackCatalogue($catalogueEn);

return $catalogue;
