<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fi" sourcelanguage="en">
  <context>
    <name>AbstractDb</name>
    <message>
      <location filename="../db/abstractdb.cpp" line="415"/>
      <location filename="../db/abstractdb.cpp" line="432"/>
      <source>Cannot execute query on closed database.</source>
      <translation>Kyselyä ei voi suorittaa suljetussa tietokannassa.</translation>
    </message>
    <message>
      <location filename="../db/abstractdb.cpp" line="858"/>
      <source>Error attaching database %1: %2</source>
      <translation>Virhe liitettäessä tietokantaa %1: %2</translation>
    </message>
  </context>
  <context>
    <name>ChainExecutor</name>
    <message>
      <location filename="../db/chainexecutor.cpp" line="38"/>
      <source>The database for executing queries was not defined.</source>
      <comment>chain executor</comment>
      <translation>Kyselyjen suorittamiseen käytettävää tietokantaa ei ole määritetty.</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="45"/>
      <source>The database for executing queries was not open.</source>
      <comment>chain executor</comment>
      <translation>Kyselyjen suorittamiseen käytettävä tietokanta ei ollut avoinna.</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="58"/>
      <source>Could not disable foreign keys in the database. Details: %1</source>
      <comment>chain executor</comment>
      <translation>Viiteavainten poistaminen käytöstä tietokannassa ei onnistunut. Tiedot: %1</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="73"/>
      <source>Could not switch to legacy ALTER RENAME behavior in the database. Details: %1</source>
      <comment>chain executor</comment>
      <translation>Tietokannassa ei voitu vaihtaa vanhaan ALTER RENAME -toimintatapaan. Tiedot: %1</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="82"/>
      <source>Could not start a database transaction. Details: %1</source>
      <comment>chain executor</comment>
      <translation>Tietokantatapahtuman aloittaminen ei onnistunut. Tiedot: %1</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="112"/>
      <source>Interrupted</source>
      <comment>chain executor</comment>
      <translation>Keskeytetty</translation>
    </message>
    <message>
      <location filename="../db/chainexecutor.cpp" line="180"/>
      <source>Could not commit a database transaction. Details: %1</source>
      <comment>chain executor</comment>
      <translation>Tietokantatapahtuman vahvistaminen ei onnistunut. Tiedot: %1</translation>
    </message>
  </context>
  <context>
    <name>CompletionHelper</name>
    <message>
      <location filename="../completionhelper.cpp" line="163"/>
      <source>New row reference</source>
      <translation>Uuden rivin viite</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="170"/>
      <source>Old row reference</source>
      <translation>Vanhan rivin viite</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="175"/>
      <source>New table name</source>
      <translation>Uuden taulun nimi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="178"/>
      <source>New index name</source>
      <translation>Uuden indeksin nimi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="181"/>
      <source>New view name</source>
      <translation>Uuden näkymän nimi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="184"/>
      <source>New trigger name</source>
      <translation>Uuden liipaisimen nimi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="187"/>
      <source>Table or column alias</source>
      <translation>Taulun tai sarakkeen alias</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="190"/>
      <source>transaction name</source>
      <translation>tapahtuman nimi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="193"/>
      <source>New column name</source>
      <translation>Uuden sarakkeen nimi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="196"/>
      <source>Column data type</source>
      <translation>Sarakkeen tietotyyppi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="199"/>
      <source>Constraint name</source>
      <translation>Rajoitteen nimi</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="215"/>
      <source>Error message</source>
      <translation>Virheilmoitus</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="264"/>
      <source>Any word</source>
      <translation>Mikä tahansa sana</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="267"/>
      <source>String</source>
      <translation>Merkkijono</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="270"/>
      <location filename="../completionhelper.cpp" line="273"/>
      <source>Number</source>
      <translation>Numero</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="285"/>
      <source>BLOB literal</source>
      <translation>BLOB-literaali</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="445"/>
      <source>Default database</source>
      <translation>Oletustietokanta</translation>
    </message>
    <message>
      <location filename="../completionhelper.cpp" line="446"/>
      <source>Temporary objects database</source>
      <translation>Väliaikaisten objektien tietokanta</translation>
    </message>
  </context>
  <context>
    <name>ConfigImpl</name>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="592"/>
      <source>Cannot export config to file %1: %2</source>
      <translation>Määritystä ei voi viedä tiedostoon %1: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="597"/>
      <source>Config exported successfully to %1</source>
      <translation>Määritys vietiin onnistuneesti kohteeseen %1</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="629"/>
      <source>Cannot import config from file %1: %2</source>
      <translation>Määritystä ei voi tuoda tiedostosta %1: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="648"/>
      <source>Config imported successfully from %1</source>
      <translation>Määritys tuotiin onnistuneesti kohteesta %1</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="659"/>
      <source>Cannot read file %1: %2</source>
      <translation>Tiedostoa %1 ei voi lukea: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="1001"/>
      <source>Could not start database transaction for deleting SQL history, therefore it&apos;s not deleted.</source>
      <translation>Tietokantatapahtumaa SQL-historian poistamista varten ei voitu aloittaa, joten sitä ei poisteta.</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="1008"/>
      <source>Could not commit database transaction for deleting SQL history, therefore it&apos;s not deleted.</source>
      <translation>Tietokantatapahtumaa SQL-historian poistamista varten ei voitu vahvistaa, joten sitä ei poisteta.</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="1366"/>
      <source>Configured hotkeys have been reset to their default settings following the update to version 4.0.0, where many shortcuts were revised to align with modern IDE standards.</source>
      <translation>Määritetyt pikanäppäimet on palautettu oletusasetuksiinsa version 4.0.0 päivityksen jälkeen; tässä versiossa monia pikanäppäimiä uudistettiin vastaamaan nykyaikaisia IDE-standardeja.</translation>
    </message>
  </context>
  <context>
    <name>DbManagerImpl</name>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="63"/>
      <source>Could not add database %1: %2</source>
      <translation>Tietokantaa %1 ei voitu lisätä: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="148"/>
      <source>Database %1 could not be updated, because of an error: %2</source>
      <translation>Tietokantaa %1 ei voitu päivittää virheen vuoksi: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="385"/>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="414"/>
      <source>Database file doesn&apos;t exist.</source>
      <translation>Tietokantatiedostoa ei ole olemassa.</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="387"/>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="416"/>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="632"/>
      <source>No supporting plugin loaded.</source>
      <translation>Tukevaa liitännäistä ei ole ladattu.</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="550"/>
      <source>Database could not be initialized.</source>
      <translation>Tietokantaa ei voitu alustaa.</translation>
    </message>
    <message>
      <location filename="../services/impl/dbmanagerimpl.cpp" line="560"/>
      <source>No suitable database driver plugin found.</source>
      <translation>Sopivaa tietokanta-ajurin liitännäistä ei löytynyt.</translation>
    </message>
  </context>
  <context>
    <name>DbObjectOrganizer</name>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="96"/>
      <location filename="../dbobjectorganizer.cpp" line="130"/>
      <location filename="../dbobjectorganizer.cpp" line="149"/>
      <source>An error occurred while trying to rename table &apos;%1&apos; to &apos;%2&apos;: %3</source>
      <translation>Virhe yritettäessä nimetä taulua &apos;%1&apos; uudelleen nimelle &apos;%2&apos;: %3</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="131"/>
      <source>Failed to parse object definition.</source>
      <translation>Objektin määritelmän jäsentäminen epäonnistui.</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="166"/>
      <source>An error occurred while trying to rename column &apos;%1&apos; of table &apos;%2&apos; to &apos;%3&apos;: %4</source>
      <translation>Virhe yritettäessä nimetä taulun &apos;%2&apos; saraketta &apos;%1&apos; uudelleen nimelle &apos;%3&apos;: %4</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="462"/>
      <location filename="../dbobjectorganizer.cpp" line="493"/>
      <source>Error while creating table in target database: %1</source>
      <translation>Virhe luotaessa taulua kohdetietokantaan: %1</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="462"/>
      <source>Could not parse table.</source>
      <translation>Taulua ei voitu jäsentää.</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="507"/>
      <source>Database %1 could not be attached to database %2, so the data of table %3 will be copied with Letos as a mediator. This method can be slow for huge tables, so please be patient.</source>
      <translation>Tietokantaa %1 ei voitu liittää tietokantaan %2, joten taulun %3 tiedot kopioidaan käyttäen Letosia välittäjänä. Tämä menetelmä voi olla hidas erittäin suurille tauluille, joten odota kärsivällisesti.</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="531"/>
      <source>Error while copying data for table %1: %2</source>
      <translation>Virhe kopioitaessa tietoja taulusta %1: %2</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="550"/>
      <location filename="../dbobjectorganizer.cpp" line="557"/>
      <location filename="../dbobjectorganizer.cpp" line="584"/>
      <source>Error while copying data to table %1: %2</source>
      <translation>Virhe kopioitaessa tietoja tauluun %1: %2</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="606"/>
      <source>Error while dropping source view %1: %2
Tables, indexes, triggers and views copied to database %3 will remain.</source>
      <translation>Virhe poistettaessa lähdenäkymää %1: %2
Tietokantaan %3 kopioidut taulut, indeksit, liipaisimet ja näkymät säilyvät.</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="613"/>
      <source>Error while creating view in target database: %1</source>
      <translation>Virhe luotaessa näkymää kohdetietokantaan: %1</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="618"/>
      <source>Error while creating index in target database: %1</source>
      <translation>Virhe luotaessa indeksiä kohdetietokantaan: %1</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="623"/>
      <source>Error while creating trigger in target database: %1</source>
      <translation>Virhe luotaessa liipaisinta kohdetietokantaan: %1</translation>
    </message>
    <message>
      <location filename="../dbobjectorganizer.cpp" line="763"/>
      <location filename="../dbobjectorganizer.cpp" line="770"/>
      <location filename="../dbobjectorganizer.cpp" line="779"/>
      <source>Could not parse object &apos;%1&apos; in order to move or copy it.</source>
      <translation>Objektia &apos;%1&apos; ei voitu jäsentää sen siirtämistä tai kopioimista varten.</translation>
    </message>
  </context>
  <context>
    <name>DdlHistoryModel</name>
    <message>
      <location filename="../ddlhistorymodel.cpp" line="66"/>
      <source>Database name</source>
      <comment>ddl history header</comment>
      <translation>Tietokannan nimi</translation>
    </message>
    <message>
      <location filename="../ddlhistorymodel.cpp" line="68"/>
      <source>Database file</source>
      <comment>ddl history header</comment>
      <translation>Tietokantatiedosto</translation>
    </message>
    <message>
      <location filename="../ddlhistorymodel.cpp" line="70"/>
      <source>Date of execution</source>
      <comment>ddl history header</comment>
      <translation>Suorituksen päivämäärä</translation>
    </message>
    <message>
      <location filename="../ddlhistorymodel.cpp" line="72"/>
      <source>Changes</source>
      <comment>ddl history header</comment>
      <translation>Muutokset</translation>
    </message>
  </context>
  <context>
    <name>ExportManager</name>
    <message>
      <location filename="../services/exportmanager.cpp" line="74"/>
      <source>Export plugin %1 doesn&apos;t support exporing query results.</source>
      <translation>Vientiliitännäinen %1 ei tue kyselytulosten vientiä.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="100"/>
      <source>Export plugin %1 doesn&apos;t support exporing tables.</source>
      <translation>Vientiliitännäinen %1 ei tue taulujen vientiä.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="126"/>
      <source>Export plugin %1 doesn&apos;t support exporing views.</source>
      <translation>Vientiliitännäinen %1 ei tue näkymien vientiä.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="150"/>
      <source>Export plugin %1 doesn&apos;t support exporing databases.</source>
      <translation>Vientiliitännäinen %1 ei tue tietokantojen vientiä.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="183"/>
      <source>Export format &apos;%1&apos; is not supported. Supported formats are: %2.</source>
      <translation>Vientimuotoa &apos;%1&apos; ei tueta. Tuetut muodot ovat: %2.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="247"/>
      <source>Export to the clipboard was successful.</source>
      <translation>Vienti leikepöydälle onnistui.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="251"/>
      <source>Export to the file &apos;%1&apos; was successful.</source>
      <translation>Vienti tiedostoon &apos;%1&apos; onnistui.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="253"/>
      <source>Export was successful.</source>
      <translation>Vienti onnistui.</translation>
    </message>
    <message>
      <location filename="../services/exportmanager.cpp" line="295"/>
      <source>Could not export to file %1. File cannot be open for writting.</source>
      <translation>Vienti tiedostoon %1 ei onnistunut. Tiedostoa ei voi avata kirjoittamista varten.</translation>
    </message>
  </context>
  <context>
    <name>ExportWorker</name>
    <message>
      <location filename="../exportworker.cpp" line="136"/>
      <source>Error while exporting query results: %1</source>
      <translation>Virhe vietäessä kyselytuloksia: %1</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="222"/>
      <source>Error while counting data column width to export from query results: %1</source>
      <translation>Virhe laskettaessa vietävien kyselytulosten tietosarakkeen leveyttä: %1</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="366"/>
      <location filename="../exportworker.cpp" line="426"/>
      <location filename="../exportworker.cpp" line="545"/>
      <source>Could not parse %1 in order to export it. It will be excluded from the export output.</source>
      <translation>Kohdetta %1 ei voitu jäsentää vientiä varten. Se jätetään pois vientitulosteesta.</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="821"/>
      <source>Error while reading data to export from table or view %1: %2</source>
      <translation>Virhe luettaessa vietäviä tietoja taulusta tai näkymästä %1: %2</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="829"/>
      <source>Error while counting data to export from table or view %1: %2</source>
      <translation>Virhe laskettaessa vietäviä tietoja taulusta tai näkymästä %1: %2</translation>
    </message>
    <message>
      <location filename="../exportworker.cpp" line="845"/>
      <source>Error while counting data column width to export from table or view %1: %2</source>
      <translation>Virhe laskettaessa vietävän tietosarakkeen leveyttä taulusta tai näkymästä %1: %2</translation>
    </message>
  </context>
  <context>
    <name>FunctionManager</name>
    <message>
      <location filename="../services/functionmanager.cpp" line="37"/>
      <source>Scalar</source>
      <translation>Skalaari</translation>
    </message>
    <message>
      <location filename="../services/functionmanager.cpp" line="39"/>
      <source>Aggregate</source>
      <translation>Aggregaatti</translation>
    </message>
    <message>
      <location filename="../services/functionmanager.cpp" line="41"/>
      <source>Window</source>
      <translation>Ikkuna</translation>
    </message>
  </context>
  <context>
    <name>FunctionManagerImpl</name>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="232"/>
      <source>Could not create scripting context, probably the plugin is not configured properly</source>
      <translation>Komentosarjakontekstia ei voitu luoda; liitännäistä ei todennäköisesti ole määritetty oikein</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="281"/>
      <source>Invalid number of arguments to function &apos;%1&apos;. Expected %2, but got %3.</source>
      <translation>Virheellinen määrä argumentteja funktiolle &apos;%1&apos;. Odotettiin %2, mutta saatiin %3.</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="402"/>
      <source>No such function registered in Letos: %1(%2)</source>
      <translation>Tällaista funktiota ei ole rekisteröity Letosissa: %1(%2)</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="408"/>
      <source>Function %1(%2) was registered with language %3, but the plugin supporting that language is not currently loaded.</source>
      <translation>Funktio %1(%2) rekisteröitiin kielellä %3, mutta kyseistä kieltä tukevaa liitännäistä ei ole tällä hetkellä ladattu.</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="439"/>
      <source>Invalid regular expression pattern: %1</source>
      <translation>Virheellinen säännöllisen lausekkeen kuvio: %1</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="458"/>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="491"/>
      <source>Could not open file %1 for reading: %2</source>
      <translation>Tiedostoa %1 ei voitu avata lukemista varten: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="513"/>
      <source>Could not open file %1 for writting: %2</source>
      <translation>Tiedostoa %1 ei voitu avata kirjoittamista varten: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="533"/>
      <source>Error while writting to file %1: %2</source>
      <translation>Virhe kirjoitettaessa tiedostoon %1: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/functionmanagerimpl.cpp" line="551"/>
      <source>Unsupported scripting language: %1</source>
      <translation>Komentosarjakieltä ei tueta: %1</translation>
    </message>
  </context>
  <context>
    <name>GenericExportPlugin</name>
    <message>
      <location filename="../plugins/genericexportplugin.cpp" line="19"/>
      <source>Could not initialize text codec for exporting. Using default codec: %1</source>
      <translation>Tekstikoodekkia ei voitu alustaa vientiä varten. Käytetään oletuskoodekkia: %1</translation>
    </message>
  </context>
  <context>
    <name>ImportManager</name>
    <message>
      <location filename="../services/importmanager.cpp" line="98"/>
      <source>Imported data to the table &apos;%1&apos; successfully. Number of imported rows: %2</source>
      <translation>Tiedot tuotiin tauluun &apos;%1&apos; onnistuneesti. Tuotujen rivien määrä: %2</translation>
    </message>
  </context>
  <context>
    <name>ImportWorker</name>
    <message>
      <location filename="../importworker.cpp" line="24"/>
      <source>No columns provided by the import plugin.</source>
      <translation>Tuontiliitännäinen ei toimittanut sarakkeita.</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="31"/>
      <source>Could not start transaction in order to import a data: %1</source>
      <translation>Tapahtumaa ei voitu aloittaa tietojen tuontia varten: %1</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="54"/>
      <source>Could not commit transaction for imported data: %1</source>
      <translation>Tuotujen tietojen tapahtumaa ei voitu vahvistaa: %1</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="101"/>
      <source>Table &apos;%1&apos; has less columns than there are columns in the data to be imported. Excessive data columns will be ignored.</source>
      <translation>Taulussa &apos;%1&apos; on vähemmän sarakkeita kuin tuotavissa tiedoissa. Ylimääräiset tietosarakkeet ohitetaan.</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="106"/>
      <source>Table &apos;%1&apos; has more columns than there are columns in the data to be imported. Some columns in the table will be left empty.</source>
      <translation>Taulussa &apos;%1&apos; on enemmän sarakkeita kuin tuotavissa tiedoissa. Osa taulun sarakkeista jätetään tyhjiksi.</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="125"/>
      <source>Could not create table to import to: %1</source>
      <translation>Taulua tuontia varten ei voitu luoda: %1</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="134"/>
      <location filename="../importworker.cpp" line="181"/>
      <location filename="../importworker.cpp" line="188"/>
      <source>Error while importing data: %1</source>
      <translation>Virhe tietojen tuonnissa: %1</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="134"/>
      <location filename="../importworker.cpp" line="188"/>
      <source>Interrupted.</source>
      <comment>import process status update</comment>
      <translation>Keskeytetty.</translation>
    </message>
    <message>
      <location filename="../importworker.cpp" line="176"/>
      <source>Could not import data row number %1. The row was ignored. Problem details: %2</source>
      <translation>Tietoriviä numero %1 ei voitu tuoda. Rivi ohitettiin. Ongelman tiedot: %2</translation>
    </message>
  </context>
  <context>
    <name>PluginManagerImpl</name>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="564"/>
      <source>Cannot load plugin %1, because it&apos;s in conflict with plugin %2.</source>
      <translation>Liitännäistä %1 ei voi ladata, koska se on ristiriidassa liitännäisen %2 kanssa.</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="575"/>
      <source>Cannot load plugin %1, because its dependency was not loaded: %2.</source>
      <translation>Liitännäistä %1 ei voi ladata, koska sen riippuvuutta ei ladattu: %2.</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="584"/>
      <source>Cannot load plugin %1. Error details: %2</source>
      <translation>Liitännäistä %1 ei voi ladata. Virheen tiedot: %2</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="600"/>
      <source>Cannot load plugin %1 (error while initializing plugin).</source>
      <translation>Liitännäistä %1 ei voi ladata (virhe liitännäistä alustettaessa).</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="761"/>
      <source>min: %1</source>
      <comment>plugin dependency version</comment>
      <translation>väh.: %1</translation>
    </message>
    <message>
      <location filename="../services/impl/pluginmanagerimpl.cpp" line="762"/>
      <source>max: %1</source>
      <comment>plugin dependency version</comment>
      <translation>maks: %1</translation>
    </message>
  </context>
  <context>
    <name>PopulateConstant</name>
    <message>
      <location filename="../plugins/populateconstant.cpp" line="9"/>
      <source>Constant</source>
      <comment>populate constant plugin name</comment>
      <translation>Vakio</translation>
    </message>
  </context>
  <context>
    <name>PopulateConstantConfig</name>
    <message>
      <location filename="../plugins/populateconstant.ui" line="20"/>
      <source>Constant value:</source>
      <translation>Vakioarvo:</translation>
    </message>
  </context>
  <context>
    <name>PopulateDictionary</name>
    <message>
      <location filename="../plugins/populatedictionary.cpp" line="16"/>
      <source>Dictionary</source>
      <comment>dictionary populating plugin name</comment>
      <translation>Sanakirja</translation>
    </message>
  </context>
  <context>
    <name>PopulateDictionaryConfig</name>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="20"/>
      <source>Dictionary file</source>
      <translation>Sanakirjatiedosto</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="29"/>
      <source>Pick dictionary file</source>
      <translation>Valitse sanakirjatiedosto</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="39"/>
      <source>Word separator</source>
      <translation>Sanaerotin</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="45"/>
      <source>Whitespace</source>
      <translation>Tyhjemerkki</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="58"/>
      <source>Line break</source>
      <translation>Rivinvaihto</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="74"/>
      <source>Method of using words</source>
      <translation>Sanojen käyttötapa</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="80"/>
      <source>Ordered</source>
      <translation>Järjestyksessä</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.ui" line="93"/>
      <source>Randomly</source>
      <translation>Satunnaisesti</translation>
    </message>
  </context>
  <context>
    <name>PopulateManager</name>
    <message>
      <location filename="../services/populatemanager.cpp" line="89"/>
      <source>Table &apos;%1&apos; populated successfully.</source>
      <translation>Taulu &apos;%1&apos; täytettiin onnistuneesti.</translation>
    </message>
  </context>
  <context>
    <name>PopulateRandom</name>
    <message>
      <location filename="../plugins/populaterandom.cpp" line="12"/>
      <source>Random number</source>
      <translation>Satunnaisluku</translation>
    </message>
  </context>
  <context>
    <name>PopulateRandomConfig</name>
    <message>
      <location filename="../plugins/populaterandom.ui" line="20"/>
      <source>Constant prefix</source>
      <translation>Vakioprefiksi</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="26"/>
      <source>No prefix</source>
      <translation>Ei prefiksiä</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="39"/>
      <source>Minimum value</source>
      <translation>Vähimmäisarvo</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="61"/>
      <source>Maximum value</source>
      <translation>Enimmäisarvo</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="86"/>
      <source>Constant suffix</source>
      <translation>Vakiosuffiksi</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.ui" line="92"/>
      <source>No suffix</source>
      <translation>Ei suffiksia</translation>
    </message>
  </context>
  <context>
    <name>PopulateRandomText</name>
    <message>
      <location filename="../plugins/populaterandomtext.cpp" line="13"/>
      <source>Random text</source>
      <translation>Satunnainen teksti</translation>
    </message>
  </context>
  <context>
    <name>PopulateRandomTextConfig</name>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="20"/>
      <source>Use characters from common sets:</source>
      <translation>Käytä merkkejä yleisistä joukoista:</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="36"/>
      <source>Minimum length</source>
      <translation>Vähimmäispituus</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="64"/>
      <source>Letters from a to z.</source>
      <translation>Kirjaimet a–z.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="67"/>
      <source>Alpha</source>
      <translation>Aakkosmerkit</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="77"/>
      <source>Numbers from 0 to 9.</source>
      <translation>Numerot 0–9.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="80"/>
      <source>Numeric</source>
      <translation>Numeerinen</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="90"/>
      <source>A whitespace, a tab and a new line character.</source>
      <translation>Tyhjemerkki, sarkain ja rivinvaihtomerkki.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="93"/>
      <source>Whitespace</source>
      <translation>Tyhjemerkki</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="103"/>
      <source>Includes all above and all others.</source>
      <translation>Sisältää kaikki yllä olevat ja kaikki muut.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="106"/>
      <source>Binary</source>
      <translation>Binäärinen</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="119"/>
      <source>Use characters from my custom set:</source>
      <translation>Käytä merkkejä omasta mukautetusta joukosta:</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="132"/>
      <source>Maximum length</source>
      <translation>Enimmäispituus</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.ui" line="160"/>
      <source>If you type some character multiple times, it&apos;s more likely to be used.</source>
      <translation>Jos kirjoitat jonkin merkin useita kertoja, sitä käytetään todennäköisemmin.</translation>
    </message>
  </context>
  <context>
    <name>PopulateScript</name>
    <message>
      <location filename="../plugins/populatescript.cpp" line="33"/>
      <source>Script</source>
      <translation>Komentosarja</translation>
    </message>
  </context>
  <context>
    <name>PopulateScriptConfig</name>
    <message>
      <location filename="../plugins/populatescript.ui" line="26"/>
      <source>Initialization code (optional)</source>
      <translation>Alustuskoodi (valinnainen)</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.ui" line="45"/>
      <source>Per step code</source>
      <translation>Koodi kullekin vaiheelle</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.ui" line="70"/>
      <source>Language</source>
      <translation>Kieli</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.ui" line="89"/>
      <source>Help</source>
      <translation>Ohje</translation>
    </message>
  </context>
  <context>
    <name>PopulateSequence</name>
    <message>
      <location filename="../plugins/populatesequence.cpp" line="12"/>
      <source>Sequence</source>
      <translation>Sekvenssi</translation>
    </message>
  </context>
  <context>
    <name>PopulateSequenceConfig</name>
    <message>
      <location filename="../plugins/populatesequence.ui" line="33"/>
      <source>Start value:</source>
      <translation>Alkuarvo:</translation>
    </message>
    <message>
      <location filename="../plugins/populatesequence.ui" line="56"/>
      <source>Step:</source>
      <translation>Askel:</translation>
    </message>
  </context>
  <context>
    <name>PopulateWorker</name>
    <message>
      <location filename="../populateworker.cpp" line="23"/>
      <source>Could not start transaction in order to perform table populating. Error details: %1</source>
      <translation>Tapahtumaa ei voitu aloittaa taulun täyttämistä varten. Virheen tiedot: %1</translation>
    </message>
    <message>
      <location filename="../populateworker.cpp" line="69"/>
      <source>Error while populating table: %1</source>
      <translation>Virhe täytettäessä taulua: %1</translation>
    </message>
    <message>
      <location filename="../populateworker.cpp" line="80"/>
      <source>Could not commit transaction after table populating. Error details: %1</source>
      <translation>Tapahtumaa ei voitu vahvistaa taulun täyttämisen jälkeen. Virheen tiedot: %1</translation>
    </message>
  </context>
  <context>
    <name>QObject</name>
    <message>
      <location filename="../common/utils.cpp" line="79"/>
      <source>SQLite database or SQL file</source>
      <translation>SQLite-tietokanta tai SQL-tiedosto</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="81"/>
      <source>SQL files</source>
      <translation>SQL-tiedostot</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="82"/>
      <source>CSV files</source>
      <translation>CSV-tiedostot</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="83"/>
      <source>Text files</source>
      <translation>Tekstitiedostot</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="84"/>
      <source>All files</source>
      <translation>Kaikki tiedostot</translation>
    </message>
    <message>
      <location filename="../common/utils.cpp" line="968"/>
      <source>Could not open file &apos;%1&apos; for reading: %2</source>
      <translation>Tiedostoa &apos;%1&apos; ei voitu avata lukemista varten: %2</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="480"/>
      <source>Could not open database: %1</source>
      <translation>Tietokantaa ei voitu avata: %1</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="1388"/>
      <source>Result set expired or no row available.</source>
      <translation>Tulosjoukko on vanhentunut tai riviä ei ole saatavilla.</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="372"/>
      <location filename="../db/abstractdb3.h" line="376"/>
      <source>Could not load extension %1: %2</source>
      <translation>Laajennusta %1 ei voitu ladata: %2</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="504"/>
      <source>Could not close database: %1</source>
      <translation>Tietokantaa ei voitu sulkea: %1</translation>
    </message>
    <message>
      <location filename="../impl/dbattacherimpl.cpp" line="121"/>
      <source>Could not attach database %1: %2</source>
      <translation>Tietokantaa %1 ei voitu liittää: %2</translation>
    </message>
    <message>
      <location filename="../parser/parsercontext.cpp" line="108"/>
      <location filename="../parser/parsercontext.cpp" line="110"/>
      <source>Incomplete query.</source>
      <translation>Epätäydellinen kysely.</translation>
    </message>
    <message>
      <location filename="../parser/sqlite3_parse.cpp" line="2723"/>
      <source>Parser stack overflow</source>
      <translation>Jäsentimen pinon ylivuoto</translation>
    </message>
    <message>
      <location filename="../parser/sqlite3_parse.cpp" line="6456"/>
      <source>Syntax error</source>
      <translation>Syntaksivirhe</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.cpp" line="31"/>
      <source>Could not open dictionary file %1 for reading.</source>
      <translation>Sanakirjatiedostoa %1 ei voitu avata lukemista varten.</translation>
    </message>
    <message>
      <location filename="../plugins/populatedictionary.cpp" line="92"/>
      <source>Dictionary file must exist and be readable.</source>
      <translation>Sanakirjatiedoston on oltava olemassa ja luettavissa.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandom.cpp" line="53"/>
      <source>Maximum value cannot be less than minimum value.</source>
      <translation>Enimmäisarvo ei voi olla pienempi kuin vähimmäisarvo.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.cpp" line="78"/>
      <source>Maximum length cannot be less than minimum length.</source>
      <translation>Enimmäispituus ei voi olla pienempi kuin vähimmäispituus.</translation>
    </message>
    <message>
      <location filename="../plugins/populaterandomtext.cpp" line="89"/>
      <source>Custom character set cannot be empty.</source>
      <translation>Mukautettu merkkijoukko ei voi olla tyhjä.</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="60"/>
      <source>Could not find plugin to support scripting language: %1</source>
      <translation>Komentosarjakieltä tukevaa liitännäistä ei löytynyt: %1</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="69"/>
      <source>Could not get evaluation context, probably the %1 scripting plugin is not configured properly</source>
      <translation>Arviointikontekstia ei voitu saada; %1-komentosarjaliitännäistä ei todennäköisesti ole määritetty oikein</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="83"/>
      <source>Error while executing populating initial code: %1</source>
      <translation>Virhe suoritettaessa täytön alustuskoodia: %1</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="105"/>
      <source>Error while executing populating code: %1</source>
      <translation>Virhe suoritettaessa täyttökoodia: %1</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="137"/>
      <source>Select implementation language.</source>
      <translation>Valitse toteutuskieli.</translation>
    </message>
    <message>
      <location filename="../plugins/populatescript.cpp" line="138"/>
      <source>Implementation code cannot be empty.</source>
      <translation>Toteutuskoodi ei voi olla tyhjä.</translation>
    </message>
    <message>
      <location filename="../selectresolver.cpp" line="329"/>
      <source>Could not resolve data source for column: %1</source>
      <translation>Sarakkeen tietolähdettä ei voitu selvittää: %1</translation>
    </message>
    <message>
      <location filename="../selectresolver.cpp" line="462"/>
      <source>Could not resolve table for column &apos;%1&apos;.</source>
      <translation>Sarakkeen &apos;%1&apos; taulua ei voitu selvittää.</translation>
    </message>
    <message>
      <location filename="../services/impl/configimpl.cpp" line="876"/>
      <source>Could not initialize configuration file. Any configuration changes and queries history will be lost after application restart. Unable to create a file at following locations: %1.</source>
      <translation>Määritystiedostoa ei voitu alustaa. Kaikki määritysmuutokset ja kyselyhistoria menetetään sovelluksen uudelleenkäynnistyksen jälkeen. Tiedostoa ei voitu luoda seuraaviin sijainteihin: %1.</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="365"/>
      <source>General purpose</source>
      <comment>plugin category name</comment>
      <translation>Yleiskäyttöinen</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="366"/>
      <source>Database support</source>
      <comment>plugin category name</comment>
      <translation>Tietokantatuki</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="367"/>
      <source>Code formatter</source>
      <comment>plugin category name</comment>
      <translation>Koodin muotoilija</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="368"/>
      <source>Scripting languages</source>
      <comment>plugin category name</comment>
      <translation>Komentosarjakielet</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="370"/>
      <source>Exporting</source>
      <comment>plugin category name</comment>
      <translation>Vienti</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="371"/>
      <source>Importing</source>
      <comment>plugin category name</comment>
      <translation>Tuonti</translation>
    </message>
    <message>
      <location filename="../letos.cpp" line="372"/>
      <source>Table populating</source>
      <comment>plugin category name</comment>
      <translation>Taulun täyttäminen</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="286"/>
      <source>Table %1 is referencing table %2, but the foreign key definition will not be updated for new table definition due to problems while parsing DDL of the table %3.</source>
      <translation>Taulu %1 viittaa tauluun %2, mutta viiteavaimen määritelmää ei päivitetä uutta taulumääritelmää varten taulun %3 DDL:n jäsentämisessä ilmenneiden ongelmien vuoksi.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="666"/>
      <source>All columns indexed by the index %1 are gone. The index will not be recreated after table modification.</source>
      <translation>Kaikki indeksin %1 indeksoimat sarakkeet ovat poistuneet. Indeksiä ei luoda uudelleen taulun muokkauksen jälkeen.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="710"/>
      <source>There is problem with proper processing trigger %1. It may be not fully updated afterwards and will need your attention.</source>
      <translation>Liipaisimen %1 asianmukaisessa käsittelyssä on ongelma. Sitä ei ehkä päivitetä kokonaan myöhemmin, ja se vaatii huomiotasi.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="725"/>
      <source>All columns covered by the trigger %1 are gone. The trigger will not be recreated after table modification.</source>
      <translation>Kaikki liipaisimen %1 kattamat sarakkeet ovat poistuneet. Liipaisinta ei luoda uudelleen taulun muokkauksen jälkeen.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="757"/>
      <source>Cannot not update trigger %1 according to table %2 modification.</source>
      <translation>Liipaisinta %1 ei voi päivittää taulun %2 muutoksen mukaisesti.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="776"/>
      <source>Cannot not update view %1 according to table %2 modifications.
The view will remain as it is.</source>
      <translation>Näkymää %1 ei voi päivittää taulun %2 muutosten mukaisesti.
Näkymä säilyy ennallaan.</translation>
    </message>
    <message>
      <location filename="../tablemodifier.cpp" line="961"/>
      <location filename="../tablemodifier.cpp" line="985"/>
      <location filename="../tablemodifier.cpp" line="1004"/>
      <source>There is a problem with updating an %1 statement within %2 trigger. One of the %1 substatements which might be referring to table %3 cannot be properly modified. Manual update of the trigger may be necessary.</source>
      <translation>Liipaisimen %2 %1-lauseen päivittämisessä on ongelma. Yhtä %1-alilausetta, joka saattaa viitata tauluun %3, ei voida muokata oikein. Liipaisimen manuaalinen päivitys voi olla tarpeen.</translation>
    </message>
    <message>
      <location filename="../viewmodifier.cpp" line="23"/>
      <source>Could not parse DDL of the view to be created. Details: %1</source>
      <translation>Luotavan näkymän DDL:ää ei voitu jäsentää. Tiedot: %1</translation>
    </message>
    <message>
      <location filename="../viewmodifier.cpp" line="32"/>
      <source>Parsed query is not CREATE VIEW. It&apos;s: %1</source>
      <translation>Jäsennetty kysely ei ole CREATE VIEW. Se on: %1</translation>
    </message>
    <message>
      <location filename="../viewmodifier.cpp" line="80"/>
      <source>Letos was unable to resolve columns returned by the new view, therefore it won&apos;t be able to tell which triggers might fail during the recreation process.</source>
      <translation>Letos ei pystynyt selvittämään uuden näkymän palauttamia sarakkeita, joten se ei pysty kertomaan, mitkä triggerit saattavat epäonnistua uudelleenluonnin aikana.</translation>
    </message>
    <message>
      <location filename="../services/collationmanager.h" line="48"/>
      <source>Function-based</source>
      <translation>Funktiopohjainen</translation>
    </message>
    <message>
      <location filename="../services/collationmanager.h" line="50"/>
      <source>Extension-based</source>
      <translation>Laajennuspohjainen</translation>
    </message>
  </context>
  <context>
    <name>QueryExecutor</name>
    <message>
      <location filename="../db/queryexecutor.cpp" line="203"/>
      <source>Execution interrupted.</source>
      <translation>Suoritus keskeytetty.</translation>
    </message>
    <message>
      <location filename="../db/queryexecutor.cpp" line="245"/>
      <source>Database is not open.</source>
      <translation>Tietokanta ei ole avoinna.</translation>
    </message>
    <message>
      <location filename="../db/queryexecutor.cpp" line="254"/>
      <source>Only one query can be executed simultaneously.</source>
      <translation>Vain yksi kysely voidaan suorittaa samanaikaisesti.</translation>
    </message>
    <message>
      <location filename="../db/queryexecutor.cpp" line="363"/>
      <location filename="../db/queryexecutor.cpp" line="608"/>
      <source>An error occurred while executing the count(*) query, thus data paging will be disabled. Error details from the database: %1</source>
      <translation>count(*)-kyselyä suoritettaessa tapahtui virhe, joten tietojen sivutus poistetaan käytöstä. Virheen tiedot tietokannasta: %1</translation>
    </message>
    <message>
      <location filename="../db/queryexecutor.cpp" line="525"/>
      <source>Letos was unable to extract metadata from the query. Results won&apos;t be editable.</source>
      <translation>Letos ei pystynyt poimimaan metatietoja kyselystä. Tuloksia ei voi muokata.</translation>
    </message>
  </context>
  <context>
    <name>QueryExecutorSmartHints</name>
    <message>
      <location filename="../db/queryexecutorsteps/queryexecutorsmarthints.cpp" line="77"/>
      <source>Column %1 in table %2 is referencing column %3 in table %4, but these columns have different data types: %5 vs. %6. This may cause issues related to foreign key value matching.</source>
      <translation>Taulun %2 sarake %1 viittaa taulun %4 sarakkeeseen %3, mutta näillä sarakkeilla on eri tietotyypit: %5 vs. %6. Tämä voi aiheuttaa ongelmia viiteavaimen arvojen vastaavuudessa.</translation>
    </message>
  </context>
  <context>
    <name>ScriptingQtDbProxy</name>
    <message>
      <location filename="../plugins/scriptingqtdbproxy.cpp" line="48"/>
      <source>No database available in current context, while called JavaScript&apos;s %1 command.</source>
      <translation>Nykyisessä kontekstissa ei ole käytettävissä tietokantaa, kun JavaScriptin %1-komentoa kutsuttiin.</translation>
    </message>
    <message>
      <location filename="../plugins/scriptingqtdbproxy.cpp" line="65"/>
      <source>Error from %1: %2</source>
      <translation>Virhe kohteesta %1: %2</translation>
    </message>
  </context>
  <context>
    <name>SqlFileExecutor</name>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="59"/>
      <source>Could not execute SQL, because application has failed to start transaction: %1</source>
      <translation>SQL:ää ei voitu suorittaa, koska sovellus ei onnistunut aloittamaan tapahtumaa: %1</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="90"/>
      <source>Execution from file cancelled. Any queries executed so far have been rolled back.</source>
      <translation>Suoritus tiedostosta peruutettiin. Kaikki tähän mennessä suoritetut kyselyt on peruttu.</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="106"/>
      <source>Could not open file &apos;%1&apos; for reading: %2</source>
      <translation>Tiedostoa &apos;%1&apos; ei voitu avata lukemista varten: %2</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="151"/>
      <source>Could not execute SQL, because application has failed to commit the transaction: %1</source>
      <translation>SQL:ää ei voitu suorittaa, koska sovellus ei onnistunut vahvistamaan tapahtumaa: %1</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="156"/>
      <source>Finished executing %1 queries in %2 seconds. %3 were not executed due to errors.</source>
      <translation>%1 kyselyn suoritus valmistui %2 sekunnissa. %3 jäi suorittamatta virheiden vuoksi.</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="162"/>
      <source>Finished executing %1 queries in %2 seconds.</source>
      <translation>%1 kyselyn suoritus valmistui %2 sekunnissa.</translation>
    </message>
    <message>
      <location filename="../sqlfileexecutor.cpp" line="169"/>
      <source>Could not execute SQL due to error.</source>
      <translation>SQL:ää ei voitu suorittaa virheen vuoksi.</translation>
    </message>
  </context>
  <context>
    <name>SqlHistoryModel</name>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="32"/>
      <source>Database</source>
      <comment>sql history header</comment>
      <translation>Tietokanta</translation>
    </message>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="34"/>
      <source>Execution date</source>
      <comment>sql history header</comment>
      <translation>Suorituksen päivämäärä</translation>
    </message>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="36"/>
      <source>Time spent</source>
      <comment>sql history header</comment>
      <translation>Kulunut aika</translation>
    </message>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="38"/>
      <source>Rows affected</source>
      <comment>sql history header</comment>
      <translation>Vaikutetut rivit</translation>
    </message>
    <message>
      <location filename="../sqlhistorymodel.cpp" line="40"/>
      <source>SQL</source>
      <comment>sql history header</comment>
      <translation>SQL</translation>
    </message>
  </context>
  <context>
    <name>T</name>
    <message>
      <location filename="../db/abstractdb3.h" line="714"/>
      <source>The database file &apos;%1&apos; has been modified by a newer version of SQLite (format %2), while the current application supports up to format %3. Some features may not work correctly.</source>
      <translation>Tietokantatiedostoa &apos;%1&apos; on muokattu uudemmalla SQLite-versiolla (muoto %2), kun nykyinen sovellus tukee enintään muotoa %3. Jotkin ominaisuudet eivät ehkä toimi oikein.</translation>
    </message>
    <message>
      <location filename="../db/abstractdb3.h" line="1013"/>
      <source>Registered default collation on demand, under name: %1</source>
      <translation>Oletuslajittelujärjestys rekisteröitiin pyynnöstä nimellä: %1</translation>
    </message>
  </context>
  <context>
    <name>UpdateManager</name>
    <message>
      <location filename="../services/updatemanager.cpp" line="104"/>
      <source>Could not check for updates (%1).</source>
      <translation>Päivityksiä ei voitu tarkistaa (%1).</translation>
    </message>
  </context>
</TS>
