* Hmm, syntax terrors
[lhc/web/wiklou.git] / languages / messages / MessagesFi.php
index b908fd2..2606c00 100644 (file)
@@ -4,16 +4,35 @@
  * @addtogroup Language
  */
 
+$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
+
+$namespaceNames = array(
+       NS_MEDIA            => 'Media',
+       NS_SPECIAL          => 'Toiminnot',
+       NS_MAIN             => '',
+       NS_TALK             => 'Keskustelu',
+       NS_USER             => 'Käyttäjä',
+       NS_USER_TALK        => 'Keskustelu_käyttäjästä',
+       # NS_PROJECT set by $wgMetaNamespace
+       NS_PROJECT_TALK     => 'Keskustelu_{{grammar:elative|$1}}',
+       NS_IMAGE            => 'Kuva',
+       NS_IMAGE_TALK       => 'Keskustelu_kuvasta',
+       NS_MEDIAWIKI        => 'Järjestelmäviesti',
+       NS_MEDIAWIKI_TALK   => 'Keskustelu_järjestelmäviestistä',
+       NS_TEMPLATE         => 'Malline',
+       NS_TEMPLATE_TALK    => 'Keskustelu_mallineesta',
+       NS_HELP             => 'Ohje',
+       NS_HELP_TALK        => 'Keskustelu_ohjeesta',
+       NS_CATEGORY         => 'Luokka',
+       NS_CATEGORY_TALK    => 'Keskustelu_luokasta'
+);
+
 $skinNames = array(
        'standard'          => 'Perus',
        'cologneblue'       => 'Kölnin sininen',
        'myskin'            => 'Oma tyylisivu'
 );
 
-$quickbarSettings = array(
-       'Ei mitään', 'Tekstin mukana, vasen', 'Tekstin mukana, oikea', 'Pysyen vasemmalla', 'Pysyen oikealla'
-);
-
 $datePreferences = array(
        'default',
        'fi normal',
@@ -52,30 +71,17 @@ $bookstoreList = array(
        'Tampereen seudun kirjastot'    => 'http://kirjasto.tampere.fi/Piki?formid=fullt&typ0=6&dat0=$1'
 );
 
-$namespaceNames = array(
-       NS_MEDIA            => 'Media',
-       NS_SPECIAL          => 'Toiminnot',
-       NS_MAIN             => '',
-       NS_TALK             => 'Keskustelu',
-       NS_USER             => 'Käyttäjä',
-       NS_USER_TALK        => 'Keskustelu_käyttäjästä',
-       # NS_PROJECT set by $wgMetaNamespace
-       NS_PROJECT_TALK     => 'Keskustelu_{{grammar:elative|$1}}',
-       NS_IMAGE            => 'Kuva',
-       NS_IMAGE_TALK       => 'Keskustelu_kuvasta',
-       NS_MEDIAWIKI        => 'Järjestelmäviesti',
-       NS_MEDIAWIKI_TALK   => 'Keskustelu_järjestelmäviestistä',
-       NS_TEMPLATE         => 'Malline',
-       NS_TEMPLATE_TALK    => 'Keskustelu_mallineesta',
-       NS_HELP             => 'Ohje',
-       NS_HELP_TALK        => 'Keskustelu_ohjeesta',
-       NS_CATEGORY         => 'Luokka',
-       NS_CATEGORY_TALK    => 'Keskustelu_luokasta'
+$magicWords = array(
+       'redirect'            => array( 0, "#OHJAUS", "#UUDELLEENOHJAUS", "#REDIRECT" ),
+       'toc'                 => array( 0, "__SISÄLLYSLUETTELO__", "__TOC__" ),
+       'img_right'           => array( 1, "oikea", "right" ),
+       'img_left'            => array( 1, "vasen", "left" ),
+       'img_center'          => array( 1, "keskitetty", "center", "centre" ),
+       'img_framed'          => array( 1, "kehys", "kehystetty", "framed", "enframed", "frame" ),
+       'grammar'             => array( 0, "TAIVUTUS:", "GRAMMAR:" ),
+       'plural'              => array( 0, "MONIKKO:", "PLURAL:" ),
 );
 
-$separatorTransformTable = array(',' => "\xc2\xa0", '.' => ',' );
-$linkTrail = '/^([a-zäö]+)(.*)$/sDu';
-
 $specialPageAliases = array(
        'DoubleRedirects'           => array( 'Kaksinkertaiset_uudelleenohjaukset' ),
        'BrokenRedirects'           => array( 'Virheelliset_uudelleenohjaukset' ),
@@ -85,7 +91,7 @@ $specialPageAliases = array(
        'Preferences'               => array( 'Asetukset' ),
        'Watchlist'                 => array( 'Tarkkailulista' ),
        'Recentchanges'             => array( 'Tuoreet_muutokset' ),
-       'Upload'                    => array( 'Lisää_tiedosto' ),
+       'Upload'                    => array( 'Tallenna', 'Lisää_tiedosto' ),
        'Imagelist'                 => array( 'Tiedostoluettelo' ),
        'Newimages'                 => array( 'Uudet_kuvat' ),
        'Listusers'                 => array( 'Käyttäjät' ),
@@ -95,15 +101,18 @@ $specialPageAliases = array(
        'Uncategorizedpages'        => array( 'Luokittelemattomat_sivut' ),
        'Uncategorizedcategories'   => array( 'Luokittelemattomat_luokat' ),
        'Uncategorizedimages'       => array( 'Luokittelemattomat_tiedostot' ),
+       'Uncategorizedtemplates'    => array( 'Luokittelemattomat_mallineet' ),
        'Unusedcategories'          => array( 'Käyttämättömät_luokat' ),
        'Unusedimages'              => array( 'Käyttämättömät_tiedostot' ),
        'Wantedpages'               => array( 'Halutuimmat_sivut' ),
        'Wantedcategories'          => array( 'Halutuimmat_luokat' ),
        'Mostlinked'                => array( 'Viitatuimmat_sivut' ),
        'Mostlinkedcategories'      => array( 'Viitatuimmat_luokat' ),
+       'Mostlinkedtemplates'       => array( 'Viitatuimmat_mallineet' ),
        'Mostcategories'            => array( 'Luokitelluimmat_sivut' ),
        'Mostimages'                => array( 'Viitatuimmat_kuvat' ),
        'Mostrevisions'             => array( 'Muokatuimmat_sivut' ),
+       'Fewestrevisions'           => array( 'Vähiten_muokatut_sivut' ),
        'Shortpages'                => array( 'Lyhyet_sivut' ),
        'Longpages'                 => array( 'Pitkät_sivut' ),
        'Newpages'                  => array( 'Uudet_sivut' ),
@@ -145,43 +154,14 @@ $specialPageAliases = array(
        'Popularpages'              => array( 'Suositut_sivut' ),
        'Search'                    => array( 'Haku' ),
        'Resetpass'                 => array( 'Alusta_salasana' ),
+       'Withoutinterwiki'          => array( 'Kielilinkittömät_sivut' ),
 );
 
+$linkTrail = '/^([a-zäö]+)(.*)$/sDu';
 
 $messages = array(
-/*
-All link text and link target definitions of links into project namespace that
-get used by other message strings, with the exception of user group pages (see
-grouppage) and the disambiguation template definition (see disambiguations).
-*/
-'aboutsite'         => 'Tietoja {{GRAMMAR:elative|{{SITENAME}}}}',
-'aboutpage'         => '{{ns:project}}:Tietoja',
-'bugreports'        => 'Ongelmat ja parannusehdotukset',
-'bugreportspage'    => '{{ns:project}}:Ongelmat ja parannusehdotukset',
-'copyright'         => 'Sisältö on käytettävissä lisenssillä $1.',
-'copyrightpagename' => '{{SITENAME}} ja tekijänoikeudet',
-'copyrightpage'     => '{{ns:project}}:Tekijänoikeudet',
-'currentevents'     => 'Ajankohtaista',
-'currentevents-url' => '{{ns:project}}:Ajankohtaista',
-'disclaimers'       => 'Vastuuvapaus',
-'disclaimerpage'    => '{{ns:project}}:Vastuuvapaus',
-'edithelp'          => 'Muokkausohjeet',
-'edithelppage'      => '{{ns:help}}:Kuinka sivuja muokataan',
-'faq'               => 'FAQ',
-'faqpage'           => '{{ns:project}}:FAQ',
-'help'              => 'Ohje',
-'helppage'          => '{{ns:help}}:Ohje',
-'mainpage'          => 'Etusivu',
-'policy-url'        => '{{ns:project}}:Käytännöt',
-'portal'            => 'Kahvihuone',
-'portal-url'        => '{{ns:project}}:Kahvihuone',
-'privacy'           => 'Tietosuojakäytäntö',
-'privacypage'       => '{{ns:project}}:Tietosuojakäytäntö',
-'sitesupport'       => 'Lahjoitukset',
-'sitesupport-url'   => '{{ns:project}}:Lahjoitukset',
-
 # User preference toggles
-'tog-underline'               => 'Alleviivaa linkit:',
+'tog-underline'               => 'Linkkien alleviivaus',
 'tog-highlightbroken'         => 'Näytä linkit puuttuville sivuille <a href="#" class="new">näin</a> (vaihtoehtoisesti näin: <a href="#" class="internal">?</a>).',
 'tog-justify'                 => 'Tasaa kappaleet',
 'tog-hideminor'               => 'Piilota pienet muutokset tuoreet muutokset -listasta',
@@ -193,10 +173,10 @@ grouppage) and the disambiguation template definition (see disambiguations).
 'tog-editsection'             => 'Näytä muokkauslinkit jokaisen osion yläpuolella',
 'tog-editsectiononrightclick' => 'Muokkaa osioita napsauttamalla otsikkoa hiiren oikealla painikkeella (JavaScript)',
 'tog-showtoc'                 => 'Näytä sisällysluettelo sivuille, joilla yli 3 otsikkoa',
-'tog-rememberpassword'        => 'Älä kysy salasanaa saman yhteyden eri istuntojen välillä',
+'tog-rememberpassword'        => 'Muista kirjautuminen eri istuntojen välillä',
 'tog-editwidth'               => 'Muokkauskenttä on sivun levyinen',
 'tog-watchcreations'          => 'Lisää luomani sivut tarkkailulistalle',
-'tog-watchdefault'            => 'Lisää oletuksena uudet ja muokatut sivut tarkkailulistalle',
+'tog-watchdefault'            => 'Lisää muokkaamani sivut tarkkailulistalle',
 'tog-watchmoves'              => 'Lisää siirtämäni sivut tarkkailulistalle',
 'tog-watchdeletion'           => 'Lisää poistamani sivut tarkkailulistalle',
 'tog-minordefault'            => 'Muutokset ovat oletuksena pieniä',
@@ -225,7 +205,7 @@ grouppage) and the disambiguation template definition (see disambiguations).
 'underline-never'   => 'Ei koskaan',
 'underline-default' => 'Selaimen oletustapa',
 
-'skinpreview' => '(Esikatsele...)',
+'skinpreview' => '(esikatselu…)',
 
 # Dates
 'sunday'        => 'sunnuntai',
@@ -284,15 +264,20 @@ grouppage) and the disambiguation template definition (see disambiguations).
 'pagecategories'        => '{{PLURAL:$1|Luokka|Luokat}}',
 'category_header'       => 'Sivut, jotka ovat luokassa $1',
 'subcategories'         => 'Alaluokat',
-'category-media-header' => 'Luokan ”$1” sisältämät mediatiedostot',
-
-'mainpagetext'      => "'''Mediawiki on onnistuneesti asennettu.'''",
-'mainpagedocfooter' => "Lisätietoja käytöstä on sivulla [http://meta.wikimedia.org/wiki/MediaWiki_User%27s_Guide User's Guide].
-=== Lisäohjeita===
-* [http://www.mediawiki.org/wiki/Help:Configuration_settings Asetusten teko-ohjeita]
-* [http://www.mediawiki.org/wiki/Help:FAQ MediaWikin FAQ]
-* [http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce Sähköpostilista, jolla tiedotetaan MediaWikin uusista versioista]\",
+'category-media-header' => 'Luokan ”$1” sisältämät tiedostot',
+'category-empty'        => "''Tässä luokassa ei ole sivuja eikä tiedostoja.''",
+
+'mainpagetext'      => "'''MediaWiki on onnistuneesti asennettu.'''",
+'mainpagedocfooter' => "Lisätietoja käytöstä on sivulla [http://meta.wikimedia.org/wiki/Help:Contents User's Guide].
+
+=== Lisäohjeita ===
+
+* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Asetusten teko-ohjeita]
+* [http://www.mediawiki.org/wiki/Manual:FAQ MediaWikin FAQ]
+* [http://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Sähköpostilista, jolla tiedotetaan MediaWikin uusista versioista]
+
 === Asetukset ===
+
 Tarkista, että alla olevat taivutusmuodot ovat oikein. Jos eivät, tee tarvittavat muutokset LocalSettings.php:hen seuraavasti:
  \$wgGrammarForms['fi']['genitive']['{{SITENAME}}'] = '...';
  \$wgGrammarForms['fi']['partitive']['{{SITENAME}}'] = '...';
@@ -324,6 +309,7 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'errorpagetitle'    => 'Virhe',
 'returnto'          => 'Palaa sivulle $1.',
 'tagline'           => '{{SITENAME}}',
+'help'              => 'Ohje',
 'search'            => 'Haku',
 'searchbutton'      => 'Etsi',
 'go'                => 'Siirry',
@@ -339,13 +325,15 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'editthispage'      => 'Muokkaa tätä sivua',
 'delete'            => 'Poista',
 'deletethispage'    => 'Poista tämä sivu',
-'undelete_short'    => 'Palauta $1 muokkausta',
+'undelete_short'    => 'Palauta {{PLURAL:$1|yksi muokkaus|$1 muokkausta}}',
 'protect'           => 'Suojaa',
+'protect_change'    => 'muuta suojausta',
 'protectthispage'   => 'Suojaa tämä sivu',
 'unprotect'         => 'Poista suojaus',
 'unprotectthispage' => 'Poista tämän sivun suojaus',
 'newpage'           => 'Uusi sivu',
 'talkpage'          => 'Keskustele tästä sivusta',
+'talkpagelinktext'  => 'keskustelu',
 'specialpage'       => 'Toimintosivu',
 'personaltools'     => 'Henkilökohtaiset työkalut',
 'postcomment'       => 'Kommentti sivun loppuun',
@@ -361,7 +349,7 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'viewhelppage'      => 'Näytä ohjesivu',
 'categorypage'      => 'Näytä luokkasivu',
 'viewtalkpage'      => 'Näytä keskustelusivu',
-'otherlanguages'    => 'Muut kielet',
+'otherlanguages'    => 'Muilla kielillä',
 'redirectedfrom'    => 'Uudelleenohjattu sivulta $1',
 'redirectpagesub'   => 'Uudelleenohjaussivu',
 'lastmodifiedat'    => 'Sivua on viimeksi muutettu $1 kello $2.', # $1 date, $2 time
@@ -371,32 +359,56 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'jumptonavigation'  => 'valikkoon',
 'jumptosearch'      => 'hakuun',
 
+# All link text and link target definitions of links into project namespace that get used by other message strings, with the exception of user group pages (see grouppage) and the disambiguation template definition (see disambiguations).
+'aboutsite'         => 'Tietoja {{GRAMMAR:elative|{{SITENAME}}}}',
+'aboutpage'         => '{{ns:project}}:Tietoja',
+'bugreports'        => 'Ongelmat ja parannusehdotukset',
+'bugreportspage'    => '{{ns:project}}:Ongelmat ja parannusehdotukset',
+'copyright'         => 'Sisältö on käytettävissä lisenssillä $1.',
+'copyrightpagename' => '{{SITENAME}} ja tekijänoikeudet',
+'copyrightpage'     => '{{ns:project}}:Tekijänoikeudet',
+'currentevents'     => 'Ajankohtaista',
+'currentevents-url' => '{{ns:project}}:Ajankohtaista',
+'disclaimers'       => 'Vastuuvapaus',
+'disclaimerpage'    => '{{ns:project}}:Vastuuvapaus',
+'edithelp'          => 'Muokkausohjeet',
+'edithelppage'      => '{{ns:help}}:Kuinka sivuja muokataan',
+'helppage'          => '{{ns:help}}:Ohje',
+'mainpage'          => 'Etusivu',
+'policy-url'        => '{{ns:project}}:Käytännöt',
+'portal'            => 'Kahvihuone',
+'portal-url'        => '{{ns:project}}:Kahvihuone',
+'privacy'           => 'Tietosuojakäytäntö',
+'privacypage'       => '{{ns:project}}:Tietosuojakäytäntö',
+'sitesupport'       => 'Lahjoitukset',
+'sitesupport-url'   => '{{ns:project}}:Lahjoitukset',
+
 'badaccess'        => 'Lupa evätty',
 'badaccess-group0' => 'Sinulla ei ole lupaa suorittaa pyydettyä toimintoa.',
 'badaccess-group1' => 'Pyytämäsi toiminto on rajoitettu henkilöille ryhmässä $1.',
 'badaccess-group2' => 'Pyytämäsi toiminto on rajoitettu henkilöille ryhmissä $1.',
 'badaccess-groups' => 'Pyytämäsi toiminto on rajoitettu ryhmien $1 henkilöille.',
 
-'versionrequired'     => 'Mediawikistä tarvitaan vähintään versio $1',
-'versionrequiredtext' => 'Mediawikistä tarvitaan vähintään versio $1 tämän sivun käyttämiseen. Katso [[Special:Version|versio]]',
-
-'ok'                  => 'OK',
-'pagetitle'           => '$1 — {{SITENAME}}',
-'retrievedfrom'       => 'Haettu osoitteesta $1',
-'youhavenewmessages'  => 'Sinulle on $1 ($2).',
-'newmessageslink'     => 'uusia viestejä',
-'newmessagesdifflink' => 'viimeisin muutos',
-'editsection'         => 'muokkaa',
-'editold'             => 'muokkaa',
-'editsectionhint'     => 'Muokkaa osiota $1',
-'toc'                 => 'Sisällysluettelo',
-'showtoc'             => 'näytä',
-'hidetoc'             => 'piilota',
-'thisisdeleted'       => 'Näytä tai palauta $1.',
-'viewdeleted'         => 'Näytä $1?',
-'restorelink'         => '{{PLURAL:$1|yksi poistettu muokkaus|$1 poistettua muokkausta}}',
-'feedlinks'           => 'Uutissyötteet:',
-'feed-invalid'        => 'Virheellinen syötetyyppi.',
+'versionrequired'     => 'MediaWikistä tarvitaan vähintään versio $1',
+'versionrequiredtext' => 'MediaWikistä tarvitaan vähintään versio $1 tämän sivun käyttämiseen. Katso [[Special:Version|versio]]',
+
+'pagetitle'               => '$1 – {{SITENAME}}',
+'retrievedfrom'           => 'Haettu osoitteesta $1',
+'youhavenewmessages'      => 'Sinulle on $1 ($2).',
+'newmessageslink'         => 'uusia viestejä',
+'newmessagesdifflink'     => 'viimeisin muutos',
+'youhavenewmessagesmulti' => 'Sinulla on uusia viestejä sivuilla $1',
+'editsection'             => 'muokkaa',
+'editold'                 => 'muokkaa',
+'editsectionhint'         => 'Muokkaa osiota $1',
+'toc'                     => 'Sisällysluettelo',
+'showtoc'                 => 'näytä',
+'hidetoc'                 => 'piilota',
+'thisisdeleted'           => 'Näytä tai palauta $1.',
+'viewdeleted'             => 'Näytä $1?',
+'restorelink'             => '{{PLURAL:$1|yksi poistettu muokkaus|$1 poistettua muokkausta}}',
+'feedlinks'               => 'Uutissyötteet:',
+'feed-invalid'            => 'Virheellinen syötetyyppi.',
 
 # Short words for each namespace, by default used in the 'article' tab in monobook
 'nstab-main'      => 'Sivu',
@@ -428,22 +440,24 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'readonly'             => 'Tietokanta on lukittu',
 'enterlockreason'      => 'Anna lukituksen syy sekä sen arvioitu poistamisaika',
 'readonlytext'         => '{{GRAMMAR:genitive|{{SITENAME}}}} tietokanta on tällä hetkellä lukittu. Uusia sivuja ei voi luoda eikä muitakaan muutoksia tehdä. Syynä ovat todennäköisimmin rutiininomaiset tietokannan ylläpitotoimet. Tietokannan lukinneen ylläpitäjän selitys: $1',
-'missingarticle'       => "Tietokannasta ei löytynyt sivua '''$1'''. Sivu on saatettu poistaa, tai palvelin ei ole ehtinyt vielä käsitellä sitä. Jälkimmäisessä tapauksessa koita hetken päästä uudelleen. Jos ongelma ei katoa, ota yhteyttä ylläpitäjään ja anna mukaan tämän sivun URL-osoite.",
+'missingarticle'       => "Tietokannasta ei löytynyt sivua '''$1'''. Sivu on saatettu poistaa, tai palvelin ei ole ehtinyt vielä käsitellä sitä. Jälkimmäisessä tapauksessa yritä hetken päästä uudelleen. Jos ongelma ei katoa, ota yhteyttä ylläpitäjään ja anna mukaan tämän sivun URL-osoite.",
 'readonly_lag'         => 'Tietokanta on automaattisesti lukittu, jotta kaikki tietokantapalvelimet saisivat kaikki tuoreet muutokset',
 'internalerror'        => 'Sisäinen virhe',
+'internalerror_info'   => 'Sisäinen virhe: $1',
 'filecopyerror'        => 'Tiedostoa <b>$1</b> ei voitu kopioida tiedostoksi <b>$2</b>.',
 'filerenameerror'      => 'Tiedostoa <b>$1</b> ei voitu nimetä uudelleen nimellä <b>$2</b>.',
 'filedeleteerror'      => 'Tiedostoa <b>$1</b> ei voitu poistaa.',
+'directorycreateerror' => 'Hakemiston ”$1” luominen epäonnistui.',
 'filenotfound'         => 'Tiedostoa <b>$1</b> ei löytynyt.',
+'fileexistserror'      => 'Tiedostoon ”$1” kirjoittaminen epäonnistui: tiedosto on olemassa',
 'unexpected'           => 'Odottamaton arvo: ”$1” on ”$2”.',
 'formerror'            => 'Lomakkeen tiedot eivät kelpaa',
 'badarticleerror'      => 'Toimintoa ei voi suorittaa tälle sivulle.',
 'cannotdelete'         => 'Sivun tai tiedoston poisto epäonnistui. Joku muu on saattanut poistaa sen.',
 'badtitle'             => 'Virheellinen otsikko',
 'badtitletext'         => 'Pyytämäsi sivuotsikko oli virheellinen, tyhjä tai väärin linkitetty kieltenvälinen tai wikienvälinen linkki.',
-'perfdisabled'         => 'Pahoittelut! Tämä ominaisuus ei toistaiseksi ole käytetössä, sillä se hidastaa tietokantaa niin paljon, että kukaan ei voi käyttää wikiä. Toiminto ohjelmoidaan tehokkaammaksi lähiaikoina. (Sinäkin voit tehdä sen! Tämä on vapaa ohjelmisto.)',
-'perfdisabledsub'      => 'Tässä on tallennettu kopio $1', # obsolete?
-'perfcached'           => 'Seuraava data on tuotu välimuistista, eikä se ole välttämättä ajan tasalla.',
+'perfdisabled'         => 'Pahoittelut! Tämä ominaisuus ei toistaiseksi ole käytettävissä, sillä se hidastaa tietokantaa niin paljon, että kukaan ei voi käyttää wikiä. Toiminto ohjelmoidaan tehokkaammaksi lähiaikoina. (Sinäkin voit tehdä sen! Tämä on vapaa ohjelmisto.)',
+'perfcached'           => 'Tiedot ovat välimuistista eivätkä välttämättä ole ajan tasalla.',
 'perfcachedts'         => 'Seuraava data on tuotu välimuistista ja se päivitettiin viimeksi $1.',
 'querypage-no-updates' => 'Tämän sivun tietoja ei toistaiseksi päivitetä.',
 'wrong_wfQuery_params' => 'Virheelliset parametrit wfQuery()<br />Funktio: $1<br />Tiedustelu: $2',
@@ -454,12 +468,17 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'protectedinterface'   => 'Tämä sivu sisältää ohjelmiston käyttöliittymätekstiä ja on suojattu häiriköinnin estämiseksi.',
 'editinginterface'     => '<center>Muokkaat sivua, joka sisältää ohjelmiston käyttöliittymätekstiä.</center>',
 'sqlhidden'            => '(SQL-kysely piilotettu)',
-'cascadeprotected'     => 'Tämän sivu on suojattu muokkauksilta, koska se on sisällytetty alle oleviin laajennetusti suojattuihin sivuihin:',
+'cascadeprotected'     => 'Tämä sivu on suojattu muokkauksilta, koska se on sisällytetty alla {{PLURAL:$1|olevaan laajennetusti suojattuun sivuun|oleviin laajennetusti suojattuihin sivuihin}}:
+$2',
+'namespaceprotected'   => "Et voi muokata sivuja nimiavaruudessa '''$1'''.",
+'customcssjsprotected' => 'Sinulla ei ole oikeuksia muuttaa toisten käyttäjien henkilökohtaisia asetuksia.',
+'ns-specialprotected'  => 'Toimintosivuja ei voi muokata.',
 
 # Login and logout pages
 'logouttitle'                => 'Uloskirjautuminen',
 'logouttext'                 => 'Olet nyt kirjautunut ulos {{GRAMMAR:elative|{{SITENAME}}}}. Voit jatkaa {{GRAMMAR:genitive|{{SITENAME}}}} käyttöä nimettömänä, tai kirjautua uudelleen sisään.',
-'welcomecreation'            => '== Tervetuloa, $1! == Käyttäjätunnuksesi on luotu. Älä unohda virittää [[Special:Preferences|{{GRAMMAR:genitive|{{SITENAME}}}} asetuksiasi]].',
+'welcomecreation'            => '== Tervetuloa, $1! ==
+Käyttäjätunnuksesi on luotu. Älä unohda virittää [[Special:Preferences|{{GRAMMAR:genitive|{{SITENAME}}}} asetuksiasi]].',
 'loginpagetitle'             => 'Sisäänkirjautuminen',
 'yourname'                   => 'Käyttäjätunnus',
 'yourpassword'               => 'Salasana',
@@ -468,7 +487,6 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'yourdomainname'             => 'Verkkonimi',
 'externaldberror'            => 'Tapahtui virhe ulkoisen autentikointitietokannan käytössä tai sinulla ei ole lupaa päivittää tunnustasi.',
 'loginproblem'               => '<b>Sisäänkirjautuminen ei onnistunut.</b><br />Yritä uudelleen!',
-'alreadyloggedin'            => '<strong>Käyttäjä $1, olet jo kirjautunut sisään!</strong><br />',
 'login'                      => 'Kirjaudu sisään',
 'loginprompt'                => 'Kirjautumiseen tarvitaan evästeitä.',
 'userlogin'                  => 'Kirjaudu sisään tai luo tunnus',
@@ -483,19 +501,19 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'createaccountmail'          => 'sähköpostitse',
 'badretype'                  => 'Syöttämäsi salasanat ovat erilaiset.',
 'userexists'                 => 'Pyytämäsi käyttäjänimi on jo käytössä. Ole hyvä ja valitse toinen käyttäjänimi.',
-'youremail'                  => 'Sähköpostiosoite:',
-'username'                   => 'Tunnus:',
-'uid'                        => 'Numero:',
-'yourrealname'               => 'Oikea nimi:',
-'yourlanguage'               => 'Käyttöliittymän kieli:',
+'youremail'                  => 'Sähköpostiosoite',
+'username'                   => 'Tunnus',
+'uid'                        => 'Numero',
+'yourrealname'               => 'Oikea nimi',
+'yourlanguage'               => 'Käyttöliittymän kieli',
 'yourvariant'                => 'Kielivariantti',
-'yournick'                   => 'Nimimerkki allekirjoituksia varten:',
-'badsig'                     => 'Allekirjoitus on epävalidi.',
+'yournick'                   => 'Allekirjoitus',
+'badsig'                     => 'Allekirjoitus ei kelpaa.',
+'badsiglength'               => 'Allekirjoitus on liian pitkä – enimmäispituus on $1 merkkiä.',
 'email'                      => 'Sähköpostitoiminnot',
-'prefs-help-email-enotif'    => 'Tätä osoitetta käytetään myös artikkelien muuttumisilmoituksiin, jos ominaisuus on käytössä.',
-'prefs-help-realname'        => 'Oikea nimi (vapaaehtoinen): Nimesi näytetään käyttäjätunnuksesi sijasta sivun tekijäluettelossa.',
+'prefs-help-realname'        => 'Vapaaehtoinen. Nimesi näytetään käyttäjätunnuksesi sijasta sivun tekijäluettelossa.',
 'loginerror'                 => 'Sisäänkirjautumisvirhe',
-'prefs-help-email'           => 'Sähköpostiosoite (vapaaehtoinen): Muut käyttäjät voivat ottaa sinuun yhteyttä sähköpostilla ilman, että osoitteesi paljastuu.',
+'prefs-help-email'           => 'Vapaaehtoinen. Muut käyttäjät voivat ottaa sinuun yhteyttä sähköpostilla ilman, että osoitteesi paljastuu.',
 'nocookiesnew'               => 'Käyttäjä luotiin, mutta et ole kirjautunut sisään. {{SITENAME}} käyttää evästeitä sisäänkirjautumisen yhteydessä. Selaimesi ei salli evästeistä. Kytke ne päälle, ja sitten kirjaudu sisään juuri luomallasi käyttäjänimellä ja salasanalla.',
 'nocookieslogin'             => '{{SITENAME}} käyttää evästeitä sisäänkirjautumisen yhteydessä. Selaimesi ei salli evästeitä. Ota ne käyttöön, ja yritä uudelleen.',
 'noname'                     => 'Et ole määritellyt kelvollista käyttäjänimeä.',
@@ -506,6 +524,7 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'nouserspecified'            => 'Käyttäjätunnusta ei ole määritelty.',
 'wrongpassword'              => 'Syöttämäsi salasana ei ole oikein. Ole hyvä ja yritä uudelleen.',
 'wrongpasswordempty'         => 'Et voi antaa tyhjää salasanaa.',
+'passwordtooshort'           => 'Salasanasi on ei kelpaa. Salasanan pitää olla vähintään $1 merkkiä pitkä ja eri kuin käyttäjätunnuksesi.',
 'mailmypassword'             => 'Lähetä uusi salasana sähköpostitse',
 'passwordremindertitle'      => 'Salasanamuistutus {{GRAMMAR:elative|{{SITENAME}}}}',
 'passwordremindertext'       => 'Joku IP-osoitteesta $1 pyysi {{GRAMMAR:partitive|{{SITENAME}}}} ($4) lähettämään uuden salasanan. Salasana käyttäjälle $2 on nyt $3. Kirjaudu sisään ja vaihda salasana.',
@@ -523,6 +542,7 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'invalidemailaddress'        => 'Sähköpostiosoitetta ei voida hyväksyä, koska se ei ole oikeassa muodossa. Ole hyvä ja anna oikea sähköpostiosoite tai jätä kenttä tyhjäksi.',
 'accountcreated'             => 'Käyttäjätunnus luotiin',
 'accountcreatedtext'         => 'Käyttäjän $1 käyttäjätunnus luotiin.',
+'loginlanguagelabel'         => 'Kieli: $1',
 
 # Password reset dialog
 'resetpass'               => 'Salasanan alustus',
@@ -561,7 +581,7 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'summary'                   => 'Yhteenveto',
 'subject'                   => 'Aihe',
 'minoredit'                 => 'Tämä on pieni muutos',
-'watchthis'                 => 'Tarkkaile tätä sivua',
+'watchthis'                 => 'Lisää tarkkailulistaan',
 'savearticle'               => 'Tallenna sivu',
 'preview'                   => 'Esikatselu',
 'showpreview'               => 'Esikatsele',
@@ -574,7 +594,22 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'summary-preview'           => 'Yhteenvedon esikatselu',
 'subject-preview'           => 'Otsikon esikatselu',
 'blockedtitle'              => 'Pääsy estetty',
-'blockedtext'               => "Yritit muokata sivua tai luoda uuden sivun. $1 on estänyt pääsysi {{GRAMMAR:illative|{{SITENAME}}}} joko käyttäjänimesi tai IP-osoitteesi perusteella. Annettu syy estolle on: <br />''$2''<br />Jos olet sitä mieltä, että sinut on estetty syyttä, voit keskustella asiasta [[{{MediaWiki:grouppage-sysop}}|ylläpitäjän]] kanssa. Huomaa, ettet voi lähettää sähköpostia {{GRAMMAR:genitive|{{SITENAME}}}} kautta, ellet ole asettanut olemassa olevaa sähköpostiosoitetta [[Special:Preferences|asetuksissa]]. Jos IP-osoitteesi on dynaaminen, eli se voi toisinaan vaihtua, olet saattanut saada estetyn osoitteen käyttöösi, ja esto vaikuttaa nyt sinuun. Jos tämä ongelma toistuu jatkuvasti, ota yhteyttä Internet-palveluntarjoajaasi tai {{GRAMMAR:genitive|{{SITENAME}}}} ylläpitäjään. IP-osoitteesi on $3 ja estotunnus on #$5.",
+'blockedtext'               => "<strong>Käyttäjätunnuksesi tai IP-osoitteesi on estetty.</strong>
+
+Ylläpitäjä $1 on poistanut '''muokkausoikeutesi'''  ''$6'' asti estolla, jonka kohde on $7. Esto alkoi $8.
+
+Eston syyksi on annettu ''$2''.
+
+Jos olet sitä mieltä, että sinut on estetty syyttä, voit keskustella asiasta [[{{MediaWiki:grouppage-sysop}}|ylläpitäjän]] kanssa. Huomaa, ettet voi lähettää sähköpostia {{GRAMMAR:genitive|{{SITENAME}}}} kautta, ellet ole asettanut olemassa olevaa sähköpostiosoitetta [[Special:Preferences|asetuksissa]]. Jos IP-osoitteesi on dynaaminen, eli se voi toisinaan vaihtua, olet saattanut saada estetyn osoitteen käyttöösi, ja esto vaikuttaa nyt sinuun. IP-osoitteesi on $3 ja estotunnus on #$5. Liitä ne kyselyihisi.",
+'autoblockedtext'           => "IP-osoitteesi on estetty automaattisesti, koska sitä on käyttänyt toinen käyttäjä, jonka on estänyt ylläpitäjä $1.
+Eston syy on:
+
+:''$2''
+
+*Esto alkoi: $8
+*Esto vanhenee: $6
+
+Jos olet sitä mieltä, että sinut on estetty syyttä, voit keskustella asiasta [[{{MediaWiki:grouppage-sysop}}|ylläpitäjän]] kanssa. Huomaa, ettet voi lähettää sähköpostia {{GRAMMAR:genitive|{{SITENAME}}}} kautta, ellet ole asettanut olemassa olevaa sähköpostiosoitetta [[Special:Preferences|asetuksissa]]. Jos IP-osoitteesi on dynaaminen, eli se voi toisinaan vaihtua, olet saattanut saada estetyn osoitteen käyttöösi, ja esto vaikuttaa nyt sinuun. Estotunnus on #$5. Liitä se kyselyihisi.",
 'blockedoriginalsource'     => 'Sivun ”$1” lähdekoodi:',
 'blockededitsource'         => 'Muokkauksesi sivuun ”$1”:',
 'whitelistedittitle'        => 'Sisäänkirjautuminen vaaditaan muokkaamiseen',
@@ -585,6 +620,8 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'whitelistacctext'          => 'Saadaksesi oikeudet luoda tunnus sinun täytyy kirjautua [[Special:Userlogin|sisään]] ja sinulla tulee olla asiaankuuluvat oikeudet.',
 'confirmedittitle'          => 'Sähköpostin varmennus',
 'confirmedittext'           => 'Et voi muokata sivuja, ennen kuin olet varmentanut sähköpostiosoitteesi. Voit tehdä varmennuksen [[Special:Preferences|asetussivulla]].',
+'nosuchsectiontitle'        => 'Pyydettyä osiota ei ole',
+'nosuchsectiontext'         => 'Yritit muokata osiota, jota ei ole olemassa. Koska osiota $1 ei ole olemassa, muokkausta ei voida tallentaa.',
 'loginreqtitle'             => 'Sisäänkirjautuminen vaaditaan',
 'loginreqlink'              => 'kirjautua sisään',
 'loginreqpagetext'          => 'Sinun täytyy $1, jotta voisit nähdä muut sivut.',
@@ -594,13 +631,13 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 'newarticletext'            => 'Linkki toi sivulle, jota ei vielä ole. Voit luoda sivun kirjoittamalla alla olevaan tilaan. Jos et halua luoda sivua, käytä selaimen paluutoimintoa.',
 'anontalkpagetext'          => "----''Tämä on nimettömän käyttäjän keskustelusivu. Hän ei ole joko luonut itselleen käyttäjätunnusta tai ei käytä sitä. Siksi hänet tunnistetaan nyt numeerisella IP-osoitteella. Kyseinen IP-osoite voi olla useamman henkilön käytössä. Jos olet nimetön käyttäjä, ja sinusta tuntuu, että aiheettomia kommentteja on ohjattu sinulle, [[Special:Userlogin|luo itsellesi käyttäjätunnus tai kirjaudu sisään]] välttääksesi jatkossa sekaannukset muiden nimettömien käyttäjien kanssa.''",
 'noarticletext'             => "<big>'''{{GRAMMAR:inessive|{{SITENAME}}}} ei ole tämän nimistä sivua.'''</big>
-* Voit kirjoittaa uuden sivun '''<span class=\"plainlinks\">[{{fullurl:{{NAMESPACE}}:{{PAGENAME}}|action=edit}} {{PAGENAME}}]</span>.'''
+* Voit kirjoittaa uuden sivun '''<span class=\"plainlinks\">[{{fullurl:{{FULLPAGENAME}}|action=edit}} {{PAGENAME}}]</span>.'''
 * Jos olet luonut sivun tällä nimellä, se on saatettu poistaa — katso [[Special:Log/delete|poistoloki]].",
 'clearyourcache'            => "'''Huomautus:''' Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan:
 *'''Mozilla, Konqueror ja Safari:''' napsauta ''Shift''-näppäin pohjassa päivitä tai paina ''Ctrl-Shift-R'' (''Cmd-Shift-R'' Applella)
 *'''IE:''' napsauta ''Ctrl''-näppäin pohjassa päivitä tai paina ''Ctrl-F5''
 *'''Konqueror''': napsauta päivitä tai paina ''F5''
-*'''Opera:''' saatat joutua tyhjentään välimuistin kokonaan (''Tools→Preferences'').",
+*'''Opera:''' saatat joutua tyhjentään välimuistin kokonaan (''Tools→Preferences'').",
 'usercssjsyoucanpreview'    => 'Voit testata uutta CSS:ää tai JavaScriptiä ennen tallennusta esikatselulla.',
 'usercsspreview'            => "'''Tämä on CSS:n esikatselu.'''",
 'userjspreview'             => "'''Tämä on JavaScriptin esikatselu.'''",
@@ -615,7 +652,7 @@ Taivutusmuodot: {{GRAMMAR:genitive|{{SITENAME}}}} (yön) — {{GRAMMAR:partitive
 Esikatselu on piilotettu varokeinona JavaScript-hyökkäyksiä vastaan – tässä wikissä on HTML-tila päällä.
 
 Yritä uudelleen. Jos ongelma ei katoa, yritä kirjautua ulos ja takaisin sisään.',
-'importing'                 => 'Tuodaan sivua $1',
+'token_suffix_mismatch'     => '<strong>Muokkauksesi on hylätty, koska asiakasohjelmasi ei osaa käsitellä välimerkkejä muokkaustarkisteessa. Syynä voi olla viallinen välityspalvelin.</strong>',
 'editing'                   => 'Muokataan sivua $1',
 'editinguser'               => 'Muokataan sivua $1',
 'editingsection'            => 'Muokataan osiota sivusta $1',
@@ -624,25 +661,31 @@ Yritä uudelleen. Jos ongelma ei katoa, yritä kirjautua ulos ja takaisin sisä
 'explainconflict'           => "Joku muu on muuttanut tätä sivua sen jälkeen, kun aloit muokata sitä. Ylempi tekstialue sisältää tämänhetkisen tekstin. Tekemäsi muutokset näkyvät alemmassa ikkunassa. Sinun täytyy yhdistää muutoksesi olemassa olevaan tekstiin. '''Vain''' ylemmässä alueessa oleva teksti tallentuu, kun tallennat sivun.",
 'yourtext'                  => 'Oma tekstisi',
 'storedversion'             => 'Tallennettu versio',
-'nonunicodebrowser'         => "'''Varoitus: Selaimesi ei ole Unicode-yhteensopiva. Ole hyvä ja vaihda selainta, ennen kuin muokkaat sivua.'''",
+'nonunicodebrowser'         => "'''Selaimesi ei ole Unicode-yhteensopiva. Ole hyvä ja vaihda selainta, ennen kuin muokkaat sivua.'''",
 'editingold'                => '<center><strong>Varoitus</strong>: Olet muokkaamassa vanhaa versiota tämän sivun tekstistä. Jos tallennat sen, kaikki tämän version jälkeen tehdyt muutokset katoavat.</center>',
 'yourdiff'                  => 'Eroavaisuudet',
 'copyrightwarning'          => '<strong>Muutoksesi astuvat voimaan välittömästi.</strong> Kaikki {{GRAMMAR:illative|{{SITENAME}}}} tehtävät tuotokset katsotaan julkaistuksi $2 -lisenssin mukaisesti ($1). Jos et halua, että kirjoitustasi muokataan armottomasti ja uudelleenkäytetään vapaasti, älä tallenna kirjoitustasi. Tallentamalla muutoksesi lupaat, että kirjoitit tekstisi itse, tai kopioit sen jostain vapaasta lähteestä. <strong>ÄLÄ KÄYTÄ TEKIJÄNOIKEUDEN ALAISTA MATERIAALIA ILMAN LUPAA!</strong>',
-'copyrightwarning2'         => '>Huomaa, että kuka tahansa voi muokata, muuttaa ja poistaa kaikkia sivustolle tekemiäsi lisäyksiä ja muutoksia. Muokkaamalla sivustoa luovutat sivuston käyttäjille tämän oikeuden ja takaat, että lisäämäsi aineisto on joko itse kirjoittamaasi tai peräisin jostain vapaasta lähteestä. Lisätietoja sivulla $1. <strong>TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!</strong>',
+'copyrightwarning2'         => 'Huomaa, että kuka tahansa voi muokata, muuttaa ja poistaa kaikkia sivustolle tekemiäsi lisäyksiä ja muutoksia. Muokkaamalla sivustoa luovutat sivuston käyttäjille tämän oikeuden ja takaat, että lisäämäsi aineisto on joko itse kirjoittamaasi tai peräisin jostain vapaasta lähteestä. Lisätietoja sivulla $1. <strong>TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!</strong>',
 'longpagewarning'           => '<center>Tämän sivun tekstiosuus on $1 binäärikilotavua pitkä. Harkitse, voisiko sivun jakaa pienempiin osiin.</center>',
 'longpageerror'             => '<strong>Sivun koko on $1 binäärikilotavua. Sivua ei voida tallentaa, koska enimmäiskoko on $2 binäärikilotavua.</strong>',
 'readonlywarning'           => '<strong>Varoitus</strong>: Tietokanta on lukittu huoltoa varten, joten voi olla ettet pysty tallentamaan muokkauksiasi juuri nyt. Saattaa olla paras leikata ja liimata tekstisi omaan tekstitiedostoosi ja tallentaa se tänne myöhemmin.',
 'protectedpagewarning'      => '<center><small>Tämä sivu on lukittu. Vain ylläpitäjät voivat muokata sitä.</small></center>',
 'semiprotectedpagewarning'  => 'Vain rekisteröityneet käyttäjät voivat muokata tätä sivua.',
-'cascadeprotectedwarning'   => '<strong>Vain ylläpitäjät voivat muokata tätä sivua, koska se on sisällytetty alla oleviin laajennetusti suojattuihin sivuihin</strong>:',
+'cascadeprotectedwarning'   => '<strong>Vain ylläpitäjät voivat muokata tätä sivua, koska se on sisällytetty alla {{PLURAL:$1|olevaan laajennetusti suojattuun sivuun|oleviin laajennetusti suojattuihin sivuihin}}</strong>:',
 'templatesused'             => 'Tällä sivulla käytetyt mallineet:',
 'templatesusedpreview'      => 'Esikatselussa mukana olevat mallineet:',
 'templatesusedsection'      => 'Tässä osiossa mukana olevat mallineet:',
 'template-protected'        => '(suojattu)',
 'template-semiprotected'    => '(suojattu anonyymeiltä ja uusilta käyttäjiltä)',
-'edittools'                 => '<!-- Tässä oleva teksi näytetään muokkauskentän alla. -->',
+'edittools'                 => '<!-- Tässä oleva teksti näytetään muokkauskentän alla. -->',
 'nocreatetitle'             => 'Sivujen luominen on rajoitettu',
 'nocreatetext'              => 'Et voi luoda uusia sivuja. Voit muokata olemassa olevia sivuja tai luoda [[Special:Userlogin|käyttäjätunnuksen]].',
+'nocreate-loggedin'         => 'Sinulla ei ole oikeuksia luoda uusia sivuja {{GRAMMAR:genitive|{{SITENAME}}}}.',
+'permissionserrors'         => 'Puutteelliset oikeudet',
+'permissionserrorstext'     => 'Sinulla ei ole oikeuksia suorittaa toimintoa {{PLURAL:$1|seuraavasta|seuraavista}} syistä johtuen:',
+'recreate-deleted-warn'     => "'''Olet luomassa sivua, joka on aikaisemmin poistettu.'''
+
+Harkitse, kannattaako sivua luoda uudelleen. Alla on tämän sivun poistohistoria:",
 
 # "Undo" feature
 'undo-success' => 'Kumoaminen onnistui. Valitse <em>tallenna</em> toteuttaaksesi muutokset.',
@@ -651,37 +694,37 @@ Yritä uudelleen. Jos ongelma ei katoa, yritä kirjautua ulos ja takaisin sisä
 
 # Account creation failure
 'cantcreateaccounttitle' => 'Tunnuksen luominen epäonnistui',
-'cantcreateaccounttext'  => 'Tunnuksien luominen tästä IP-osoitteesta ($1) on estetty. Syynä tähän on luultavasti jatkuva häiriköinti yhteiskäyttökoneelta.',
+'cantcreateaccount-text' => "Käyttäjä [[User:$3|$3]] on estänyt käyttäjätunnusten luomisen tästä IP-osoitteesta ($1).
 
-# History pages
-'revhistory'                  => 'Muutoshistoria',
-'viewpagelogs'                => 'Näytä tämän sivun lokit',
-'nohistory'                   => 'Tällä sivulla ei ole muutoshistoriaa.',
-'revnotfound'                 => 'Versiota ei löydy',
-'revnotfoundtext'             => 'Pyytämääsi versiota ei löydy. Tarkista URL-osoite, jolla hait tätä sivua.',
-'loadhist'                    => 'Ladataan sivuhistoriaa',
-'currentrev'                  => 'Nykyinen versio',
-'revisionasof'                => 'Versio $1',
-'revision-info'               => 'Versio hetkellä $1 – tehnyt $2',
-'previousrevision'            => '← Vanhempi versio',
-'nextrevision'                => 'Uudempi versio →',
-'currentrevisionlink'         => 'Nykyinen versio',
-'cur'                         => 'nyk.',
-'next'                        => 'seur.',
-'last'                        => 'edell.',
-'orig'                        => 'alkup.',
-'page_first'                  => 'ensimmäinen',
-'page_last'                   => 'viimeinen',
-'histlegend'                  => 'Merkinnät: (nyk.) = eroavaisuudet nykyiseen versioon, (edell.) = eroavaisuudet edelliseen versioon, <span class="minor">p</span> = pieni muutos',
-'deletedrev'                  => '[poistettu]',
-'histfirst'                   => 'Ensimmäiset',
-'histlast'                    => 'Viimeisimmät',
-'rev-deleted-comment'         => '(kommentti poistettu)',
-'rev-deleted-user'            => '(käyttäjänimi poistettu)',
-'rev-deleted-text-permission' => '<div class="mw-warning plainlinks">Tämä versio on poistettu julkisesta arkistosta. [{{fullurl:Special:Log/delete|page={{PAGENAMEE}}}} Poistolokissa] saattaa olla lisätietoja.</div>',
-'rev-deleted-text-view'       => '<div class="mw-warning plainlinks">Tämä versio on poistettu julkisesta arkistosta.</div>',
-'rev-delundel'                => 'näytä tai piilota',
+Käyttäjän $3 antama syy on ''$2''",
 
+# History pages
+'revhistory'          => 'Muutoshistoria',
+'viewpagelogs'        => 'Näytä tämän sivun lokit',
+'nohistory'           => 'Tällä sivulla ei ole muutoshistoriaa.',
+'revnotfound'         => 'Versiota ei löydy',
+'revnotfoundtext'     => 'Pyytämääsi versiota ei löydy. Tarkista URL-osoite, jolla hait tätä sivua.',
+'loadhist'            => 'Ladataan sivuhistoriaa',
+'currentrev'          => 'Nykyinen versio',
+'revisionasof'        => 'Versio $1',
+'revision-info'       => 'Versio hetkellä $1 – tehnyt $2',
+'previousrevision'    => '← Vanhempi versio',
+'nextrevision'        => 'Uudempi versio →',
+'currentrevisionlink' => 'Nykyinen versio',
+'cur'                 => 'nyk.',
+'next'                => 'seur.',
+'last'                => 'edell.',
+'orig'                => 'alkup.',
+'page_first'          => 'ensimmäinen sivu',
+'page_last'           => 'viimeinen sivu',
+'histlegend'          => 'Merkinnät: (nyk.) = eroavaisuudet nykyiseen versioon, (edell.) = eroavaisuudet edelliseen versioon, <span class="minor">p</span> = pieni muutos',
+'deletedrev'          => '[poistettu]',
+'histfirst'           => 'Ensimmäiset',
+'histlast'            => 'Viimeisimmät',
+'historysize'         => '($1 tavua)',
+'historyempty'        => '(tyhjä)',
+
+# Revision feed
 'history-feed-title'          => 'Muutoshistoria',
 'history-feed-description'    => 'Tämän sivun muutoshistoria',
 'history-feed-item-nocomment' => '$1 ($2)', # user at time
@@ -690,23 +733,44 @@ Se on saatettu poistaa wikistä tai nimetä uudelleen.
 Kokeile [[Special:Search|hakua]] löytääksesi asiaan liittyviä sivuja.',
 
 # Revision deletion
-'revisiondelete'            => 'Poista tai palauta versioita',
-'revdelete-nooldid-title'   => 'Ei kohdeversiota',
-'revdelete-nooldid-text'    => 'Et ole valinnut kohdeversiota tai -versioita.',
-'revdelete-selected'        => 'Valittu versio [[:$1]]:',
-'revdelete-text'            => 'Poistetut versiot näkyvät sivun historiassa, mutta niiden sisältö ei ole julkisesti saatavilla.
+'rev-deleted-comment'         => '(kommentti poistettu)',
+'rev-deleted-user'            => '(käyttäjänimi poistettu)',
+'rev-deleted-event'           => '(tapahtuma poistettu)',
+'rev-deleted-text-permission' => '<div class="mw-warning plainlinks">Tämä versio on poistettu julkisesta arkistosta. [{{fullurl:Special:Log/delete|page={{PAGENAMEE}}}} Poistolokissa] saattaa olla lisätietoja.</div>',
+'rev-deleted-text-view'       => '<div class="mw-warning plainlinks">Tämä versio on poistettu julkisesta arkistosta.</div>',
+'rev-delundel'                => 'näytä tai piilota',
+'revisiondelete'              => 'Poista tai palauta versioita',
+'revdelete-nooldid-title'     => 'Ei kohdeversiota',
+'revdelete-nooldid-text'      => 'Et ole valinnut kohdeversiota tai -versioita.',
+'revdelete-selected'          => "{{PLURAL:$2|Valittu versio|Valitut versiot}} sivusta '''$1:'''",
+'logdelete-selected'          => "{{PLURAL:$2|Valittu lokimerkintä|Valitut lokimerkinnät}} sivulle '''$1:'''",
+'revdelete-text'              => 'Poistetut versiot näkyvät sivun historiassa, mutta niiden sisältö ei ole julkisesti saatavilla.
 
 Muut ylläpitäjät voivat lukea piilotetun sisällön ja palauttaa sen.',
-'revdelete-legend'          => 'Version rajoitukset:',
-'revdelete-hide-text'       => 'Piilota version sisältö',
-'revdelete-hide-comment'    => 'Piilota yhteenveto',
-'revdelete-hide-user'       => 'Piilota tekijän tunnus tai IP-osoite',
-'revdelete-hide-restricted' => 'Apply these restrictions to sysops as well as others',
-'revdelete-log'             => 'Lokimerkintä:',
-'revdelete-submit'          => 'Toteuta',
-'revdelete-logentry'        => 'muutti sivun [[$1]] version näkyvyyttä',
+'revdelete-legend'            => 'Version rajoitukset:',
+'revdelete-hide-text'         => 'Piilota version sisältö',
+'revdelete-hide-name'         => 'Piilota toiminto ja kohde',
+'revdelete-hide-comment'      => 'Piilota yhteenveto',
+'revdelete-hide-user'         => 'Piilota tekijän tunnus tai IP-osoite',
+'revdelete-hide-restricted'   => 'Käytä näitä rajoituksia myös ylläpitäjiin',
+'revdelete-suppress'          => 'Piilota myös ylläpitäjiltä',
+'revdelete-hide-image'        => 'Piilota tiedoston sisältö',
+'revdelete-unsuppress'        => 'Poista rajoitukset palautetuilta versiolta',
+'revdelete-log'               => 'Lokimerkintä:',
+'revdelete-submit'            => 'Toteuta',
+'revdelete-logentry'          => 'muutti sivun [[$1]] version näkyvyyttä',
+'logdelete-logentry'          => 'muutti sivun [[$1]] näkyvyyttä',
+'revdelete-logaction'         => '$1 {{plural:$1|versio|versiota}} asetettiin tilaan $2',
+'logdelete-logaction'         => '$1 sivun [[$3]] {{plural:$1|tapahtuma|tapahtumaa}} asetettiin tilaan $2',
+'revdelete-success'           => 'Version näkyvyys asetettu.',
+'logdelete-success'           => 'Tapahtuman näkyvyys asetettu.',
+
+# Oversight log
+'oversightlog'    => 'Tietosuojaloki',
+'overlogpagetext' => 'Alla on lista viimeaikaisista poistoista ja estoista liittyen ylläpitäjiltä piilotettuun sisältöön. [[Special:Ipblocklist|Estolistalla]] on luettelo voimassa olevista estoista.',
 
 # Diffs
+'history-title'             => 'Sivun $1 muutoshistoria',
 'difference'                => 'Versioiden väliset erot',
 'loadingrev'                => 'Ladataan versiota vertailua varten',
 'lineno'                    => 'Rivi $1:',
@@ -722,11 +786,7 @@ Muut ylläpitäjät voivat lukea piilotetun sisällön ja palauttaa sen.',
 'searchresulttext'      => 'Lisätietoa {{GRAMMAR:genitive|{{SITENAME}}}} hakutoiminnoista on [[{{MediaWiki:helppage}}|ohjesivulla]].',
 'searchsubtitle'        => 'Haku termeillä [[:$1]]',
 'searchsubtitleinvalid' => 'Haku termeillä $1',
-'badquery'              => 'Kelvoton hakumerkkijono',
-'badquerytext'          => 'Tekemäsi kysely ei ole kelvollinen. Tämä saattaa johtua siitä, että et ole määritellyt hakumerkkijonoa.',
-'matchtotals'           => "Haulla '''$1''' löytyi $2 osumaa sivujen otsikoista ja $3 osumaa sivujen sisällöistä.",
-'noexactmatch'          => '<big>Sivua nimeltä ”$1” ei ole.</big>
-:Voit [[$1|luoda aiheesta uuden sivun]].',
+'noexactmatch'          => 'Sivua ”$1” ei ole olemassa. Voit [[$1|luoda aiheesta uuden sivun]].',
 'titlematches'          => 'Osumat sivujen otsikoissa',
 'notitlematches'        => 'Hakusanaa ei löytynyt minkään sivun otsikosta',
 'textmatches'           => 'Osumat sivujen teksteissä',
@@ -736,80 +796,90 @@ Muut ylläpitäjät voivat lukea piilotetun sisällön ja palauttaa sen.',
 'viewprevnext'          => 'Näytä [$3] kerralla.
 
 $1 | $2',
-'showingresults'        => '<b>$1</b> tulosta tuloksesta <b>$2</b> alkaen.',
-'showingresultsnum'     => 'Alla on <b>$3</b> hakutulosta alkaen <b>$2.</b> tuloksesta.',
+'showingresults'        => "{{PLURAL:$1|'''Yksi''' tulos|'''$1''' tulosta}} tuloksesta '''$2''' alkaen.",
+'showingresultsnum'     => "Alla on {{PLURAL:$3|'''Yksi''' hakutulos|'''$3''' hakutulosta}} alkaen '''$2.''' tuloksesta.",
 'nonefound'             => "'''Huomautus''': Epäonnistuneet haut johtuvat usein hyvin yleisten sanojen, kuten ''on'' ja ''ei'', etsimisestä tai useamman kuin yhden hakutermin määrittelemisestä. Vain sivut, joilla on kaikki hakutermin sanat, näkyvät tuloksissa.",
 'powersearch'           => 'Etsi',
-'powersearchtext'       => 'Hae nimiavaruuksista:<br />$1<br />$2 Luettele uudelleenohjaukset<br />Etsi: $3 $9',
-'searchdisabled'        => '<p style="margin: 1.5em 2em 1em">Tekstihaku on poistettu toistaiseksi käytöstä suuren kuorman vuoksi. Voit käyttää alla olevaa Googlen hakukenttää sivujen etsimiseen, kunnes haku tulee taas käyttöön.<small>Huomaa, että ulkopuoliset kopiot {{GRAMMAR:genitive|{{SITENAME}}}} sisällöstä eivät välttämättä ole ajan tasalla.</small></p>',
-'blanknamespace'        => '(sivut)',
+'powersearchtext'       => 'Hae nimiavaruuksista: $1<br /><br />$2 Luettele uudelleenohjaukset<br /><br />$3 $9',
+'searchdisabled'        => 'Tekstihaku on poistettu toistaiseksi käytöstä suuren kuorman vuoksi. Voit käyttää alla olevaa Googlen hakukenttää sivujen etsimiseen, kunnes haku tulee taas käyttöön. <small>Huomaa, että ulkopuoliset kopiot {{GRAMMAR:genitive|{{SITENAME}}}} sisällöstä eivät välttämättä ole ajan tasalla.</small>',
 
 # Preferences page
-'preferences'           => 'Asetukset',
-'mypreferences'         => 'Asetukset',
-'prefsnologin'          => 'Et ole kirjautunut sisään.',
-'prefsnologintext'      => 'Sinun täytyy [[Special:Userlogin|kirjautua sisään]], jotta voisit muuttaa asetuksiasi.',
-'prefsreset'            => 'Asetukset on palautettu tallennetuista asetuksistasi.',
-'qbsettings'            => 'Pikavalikko',
-'changepassword'        => 'Vaihda salasanaa',
-'skin'                  => 'Ulkonäkö',
-'math'                  => 'Matematiikka',
-'dateformat'            => 'Päiväyksen muoto',
-'datedefault'           => 'Ei valintaa',
-'datetime'              => 'Aika ja päiväys',
-'math_failure'          => 'Jäsentäminen epäonnistui',
-'math_unknown_error'    => 'Tuntematon virhe',
-'math_unknown_function' => 'Tuntematon funktio',
-'math_lexing_error'     => 'Tulkintavirhe',
-'math_syntax_error'     => 'Jäsennysvirhe',
-'math_image_error'      => 'PNG-muunnos epäonnistui; tarkista, että latex, dvips, gs ja convert on asennettu oikein.',
-'math_bad_tmpdir'       => 'Matematiikan kirjoittaminen väliaikaishakemistoon tai tiedostonluonti ei onnistu',
-'math_bad_output'       => 'Matematiikan tulostehakemistoon kirjoittaminen tai tuedostonluonti ei onnistu',
-'math_notexvc'          => 'Texvc-sovellus puuttuu, lue math/READMEstä asennustietoja',
-'prefs-personal'        => 'Käyttäjätiedot',
-'prefs-rc'              => 'Tuoreet muutokset ja tyngät',
-'prefs-watchlist'       => 'Tarkkailulista',
-'prefs-watchlist-days'  => 'Tarkkailulistan ajanjakso:',
-'prefs-watchlist-edits' => 'Tarkkailulistalla näytettävien muutosten määrä:',
-'prefs-misc'            => 'Muut asetukset',
-'saveprefs'             => 'Tallenna asetukset',
-'resetprefs'            => 'Palauta tallennetut asetukset',
-'oldpassword'           => 'Vanha salasana:',
-'newpassword'           => 'Uusi salasana:',
-'retypenew'             => 'Uusi salasana uudelleen:',
-'textboxsize'           => 'Muokkaaminen',
-'rows'                  => 'Rivit:',
-'columns'               => 'Sarakkeet:',
-'searchresultshead'     => 'Haku',
-'resultsperpage'        => 'Tuloksia sivua kohti:',
-'contextlines'          => 'Rivien määrä tulosta kohti:',
-'contextchars'          => 'Sisällön merkkien määrä riviä kohden:',
-'stubthreshold'         => 'Tynkäsivun osoituskynnys:',
-'recentchangescount'    => 'Sivujen määrä tuoreissa muutoksissa:',
-'savedprefs'            => 'Asetuksesi tallennettiin onnistuneesti.',
-'timezonelegend'        => 'Aikavyöhyke',
-'timezonetext'          => 'Paikallisen ajan ja palvelimen ajan (UTC) välinen aikaero tunteina.',
-'localtime'             => 'Paikallinen aika',
-'timezoneoffset'        => 'Aikaero¹:',
-'servertime'            => 'Palvelimen aika',
-'guesstimezone'         => 'Utele selaimelta',
-'allowemail'            => 'Salli sähköpostin lähetys osoitteeseen',
-'defaultns'             => 'Etsi oletusarvoisesti näistä nimiavaruuksista:',
-'default'               => 'oletus',
-'files'                 => 'Tiedostot',
+'preferences'              => 'Asetukset',
+'mypreferences'            => 'Asetukset',
+'prefs-edits'              => 'Muokkauksia',
+'prefsnologin'             => 'Et ole kirjautunut sisään.',
+'prefsnologintext'         => 'Sinun täytyy [[Special:Userlogin|kirjautua sisään]], jotta voisit muuttaa asetuksiasi.',
+'prefsreset'               => 'Asetukset on palautettu tallennetuista asetuksistasi.',
+'qbsettings'               => 'Pikavalikko',
+'qbsettings-none'          => 'Ei mitään',
+'qbsettings-fixedleft'     => 'Tekstin mukana, vasen',
+'qbsettings-fixedright'    => 'Tekstin mukana, oikea',
+'qbsettings-floatingleft'  => 'Pysyen vasemmalla',
+'qbsettings-floatingright' => 'Pysyen oikealla',
+'changepassword'           => 'Salasanan vaihto',
+'skin'                     => 'Ulkonäkö',
+'math'                     => 'Matematiikka',
+'dateformat'               => 'Päiväyksen muoto',
+'datedefault'              => 'Ei valintaa',
+'datetime'                 => 'Aika ja päiväys',
+'math_failure'             => 'Jäsentäminen epäonnistui',
+'math_unknown_error'       => 'Tuntematon virhe',
+'math_unknown_function'    => 'Tuntematon funktio',
+'math_lexing_error'        => 'Tulkintavirhe',
+'math_syntax_error'        => 'Jäsennysvirhe',
+'math_image_error'         => 'PNG-muunnos epäonnistui; tarkista, että latex, dvips, gs ja convert on asennettu oikein.',
+'math_bad_tmpdir'          => 'Matematiikan kirjoittaminen väliaikaishakemistoon tai tiedostonluonti ei onnistu',
+'math_bad_output'          => 'Matematiikan tulostehakemistoon kirjoittaminen tai tiedostonluonti ei onnistu',
+'math_notexvc'             => 'Texvc-sovellus puuttuu, lue math/READMEstä asennustietoja',
+'prefs-personal'           => 'Käyttäjätiedot',
+'prefs-rc'                 => 'Tuoreet muutokset',
+'prefs-watchlist'          => 'Tarkkailulista',
+'prefs-watchlist-days'     => 'Tarkkailulistan ajanjakso',
+'prefs-watchlist-edits'    => 'Tarkkailulistalla näytettävien muokkausten määrä',
+'prefs-misc'               => 'Muut',
+'saveprefs'                => 'Tallenna asetukset',
+'resetprefs'               => 'Palauta tallennetut asetukset',
+'oldpassword'              => 'Vanha salasana',
+'newpassword'              => 'Uusi salasana',
+'retypenew'                => 'Uusi salasana uudelleen',
+'textboxsize'              => 'Muokkaus',
+'rows'                     => 'Rivit',
+'columns'                  => 'Sarakkeet',
+'searchresultshead'        => 'Haku',
+'resultsperpage'           => 'Tuloksia sivua kohti',
+'contextlines'             => 'Rivien määrä tulosta kohti',
+'contextchars'             => 'Sisällön merkkien määrä riviä kohden',
+'stub-threshold'           => '<a href="#" class="stub">Tynkäsivun</a> osoituskynnys',
+'recentchangesdays'        => 'Näytettävien päivien määrä tuoreissa muutoksissa',
+'recentchangescount'       => 'Sivujen määrä tuoreissa muutoksissa',
+'savedprefs'               => 'Asetuksesi tallennettiin onnistuneesti.',
+'timezonelegend'           => 'Aikavyöhyke',
+'timezonetext'             => 'Paikallisen ajan ja palvelimen ajan (UTC) välinen aikaero tunteina.',
+'localtime'                => 'Paikallinen aika',
+'timezoneoffset'           => 'Aikaero',
+'servertime'               => 'Palvelimen aika',
+'guesstimezone'            => 'Utele selaimelta',
+'allowemail'               => 'Salli sähköpostin lähetys osoitteeseen',
+'defaultns'                => 'Etsi oletusarvoisesti näistä nimiavaruuksista',
+'default'                  => 'oletus',
+'files'                    => 'Tiedostot',
 
 # User rights
-'userrights-lookup-user'     => 'Käyttöoikeuksien hallinta',
-'userrights-user-editname'   => 'Käyttäjätunnus:',
-'editusergroup'              => 'Muokkaa käyttäjän ryhmiä',
-'userrights-editusergroup'   => 'Käyttäjän ryhmät',
-'saveusergroups'             => 'Tallenna',
-'userrights-groupsmember'    => 'Jäsenenä ryhmissä:',
-'userrights-groupsavailable' => 'Saatavilla olevat ryhmät:',
-'userrights-groupshelp'      => 'Valitse ryhmät, jotka haluat poistaa tai lisätä. Valitsemattomia ryhmiä ei muuteta. Voit poistaa valinnan pitämällä Ctrl-näppäintä pohjassa napsautuksen aikana.',
+'userrights-lookup-user'      => 'Käyttöoikeuksien hallinta',
+'userrights-user-editname'    => 'Käyttäjätunnus',
+'editusergroup'               => 'Muokkaa käyttäjän ryhmiä',
+'userrights-editusergroup'    => 'Käyttäjän ryhmät',
+'saveusergroups'              => 'Tallenna',
+'userrights-groupsmember'     => 'Jäsenenä ryhmissä',
+'userrights-groupsavailable'  => 'Saatavilla olevat ryhmät',
+'userrights-groupshelp'       => 'Valitse ryhmät, jotka haluat poistaa tai lisätä. Valitsemattomia ryhmiä ei muuteta. Voit poistaa valinnan pitämällä Ctrl-näppäintä pohjassa napsautuksen aikana.',
+'userrights-reason'           => 'Kommentti',
+'userrights-available-none'   => 'Et voi muuttaa ryhmäjäsenyyksiä.',
+'userrights-available-add'    => 'Voit lisätä käyttäjiä ryhmiin $1.',
+'userrights-available-remove' => 'Voit poistaa käyttäjiä ryhmistä $1.',
 
 # Groups
-'group'            => 'Ryhmä:',
+'group'            => 'Ryhmä',
 'group-bot'        => 'botit',
 'group-sysop'      => 'ylläpitäjät',
 'group-bureaucrat' => 'byrokraatit',
@@ -830,11 +900,11 @@ $1 | $2',
 'rightsnone'     => '(ei oikeuksia)',
 
 # Recent changes
-'changes'                           => 'muutosta',
+'nchanges'                          => '$1 {{PLURAL:$1|muutos|muutosta}}',
 'recentchanges'                     => 'Tuoreet muutokset',
 'recentchangestext'                 => 'Tällä sivulla voi seurata tuoreita {{GRAMMAR:illative|{{SITENAME}}}} tehtyjä muutoksia.',
 'recentchanges-feed-description'    => 'Tällä sivulla voi seurata tuoreita {{GRAMMAR:illative|{{SITENAME}}}} tehtyjä muutoksia.',
-'rcnote'                            => 'Alla on <b>$1</b> tuoreinta muutosta viimeisten <b>$2</b> päivän ajalta $3.',
+'rcnote'                            => 'Alla on {{PLURAL:$1|yksi muutos|$1 tuoreinta muutosta}} {{PLURAL:$2|yhden päivän|$2 viime päivän}} ajalta $3 asti.',
 'rcnotefrom'                        => 'Alla on muutokset <b>$2</b> lähtien. Enintään <b>$1</b> merkintää näytetään.',
 'rclistfrom'                        => 'Näytä uudet muutokset $1 alkaen',
 'rcshowhideminor'                   => '$1 pienet muutokset',
@@ -850,59 +920,72 @@ $1 | $2',
 'show'                              => 'näytä',
 'minoreditletter'                   => 'p',
 'newpageletter'                     => 'U',
-'boteditletter'                     => 'b',
-'sectionlink'                       => '→',
 'number_of_watching_users_pageview' => '[$1 tarkkailevaa käyttäjää]',
 'rc_categories'                     => 'Vain luokista (erotin on ”|”)',
 'rc_categories_any'                 => 'Mikä tahansa',
+'newsectionsummary'                 => '/* $1 */ uusi osio',
+
+# Recent changes linked
+'recentchangeslinked'          => 'Linkitettyjen sivujen muutokset',
+'recentchangeslinked-title'    => 'Sivulta $1 linkitettyjen sivujen muutokset',
+'recentchangeslinked-noresult' => 'Ei muutoksia linkitettyihin sivuihin annetulla aikavälillä.',
+'recentchangeslinked-summary'  => "Tämä toimintosivu näyttää muutokset sivuihin, joihin on viitattu tältä sivulta. Tarkkailulistallasi olevat sivut on '''paksunnettu'''.",
 
 # Upload
-'upload'                      => 'Lisää tiedosto',
-'uploadbtn'                   => 'Lähetä tiedosto',
+'upload'                      => 'Tallenna tiedosto',
+'uploadbtn'                   => 'Tallenna',
 'reupload'                    => 'Lähetä uudelleen',
 'reuploaddesc'                => 'Palaa lähetyslomakkeelle.',
 'uploadnologin'               => 'Et ole kirjautunut sisään',
-'uploadnologintext'           => 'Sinun pitää olla [[Special:Userlogin|kirjautuneena sisään]], jotta voisit lisätä tiedostoja.',
+'uploadnologintext'           => 'Sinun pitää olla [[Special:Userlogin|kirjautuneena sisään]], jotta voisit tallentaa tiedostoja.',
 'upload_directory_read_only'  => 'Palvelimella ei ole kirjoitusoikeuksia tallennushakemistoon ”<tt>$1</tt>”.',
 'uploaderror'                 => 'Tallennusvirhe',
-'uploadtext'                  => "Ennen kuin lähetät tiedostoja {{GRAMMAR:illative|{{SITENAME}}}}, lue seuraava:
-*''Kirjoita tiedoston tietoihin tarkka tieto tiedoston lähteestä.''
-*''Kerro tiedoston tekijänoikeuksien tila.''
-*''Käytä järkevää tiedostonimeä.'' Nimeä tiedostosi mieluummin tyyliin ”Eiffel-torni Pariisissa, yökuva.jpg” kuin ”etpan1024c.jpg”. Näin vältät mahdollisesti jo olemassa olevan tiedoston korvaamisen omallasi.
-*Laita johonkin aiheeseen liittyvään sivuun linkki kyseiseen tiedostoon, tai kirjoita kuvaussivulle kuvaus tiedoston sisällöstä.
-*Jos haluat nähdä tai etsiä aiemmin lisättyjä tiedostoja, katso [[Special:Imagelist|tiedostoluettelo]]. Tallennukset ja poistot kirjataan [[Special:Log/upload|tiedostolokiin]].
-
-Suositellut kuvaformaatit ovat JPEG valokuville, PNG piirroksille ja kuvakkeille ja Ogg Vorbis äänille. Voit liittää kuvan sivulle käyttämällä seuraavan muotoista merkintää '''<nowiki>[[</nowiki>{{ns:image}}:tiedosto.jpg]]''' tai '''<nowiki>[[</nowiki>{{ns:image}}:tiedosto.png|kuvausteksti]]''' tai '''<nowiki>[[</nowiki>{{ns:media}}:tiedosto.ogg]]''' äänille.
+'uploadtext'                  => "Voit tallentaa tiedostoja alla olevalla lomakkeella. [[Special:Imagelist|Tiedostoluettelo]] sisältää listan tallennetuista tiedostoista. Tallennukset ja poistot kirjataan myös [[Special:Log/upload|tallennuslokiin]].
 
-Huomaa, että {{GRAMMAR:inessive|{{SITENAME}}}} muut voivat muokata tai poistaa lähettämäsi tiedoston, jos he katsovat, että se ei palvele projektin tarpeita. Tallentamismahdollisuutesi voidaan estää, jos käytät järjestelmää väärin.",
+Voit käyttää tiedostoja wikisivuilla seuraavilla tavoilla:
+'''<nowiki>[[</nowiki>{{ns:image}}<nowiki>:File.jpg]]</nowiki>''',
+'''<nowiki>[[</nowiki>{{ns:image}}<nowiki>:File.png|kuvaus]]</nowiki>''' tai
+'''<nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki>''', jos haluat suoran linkin tiedostoon.",
 'uploadlog'                   => 'Tiedostoloki',
 'uploadlogpage'               => 'Tiedostoloki',
 'uploadlogpagetext'           => 'Alla on luettelo uusimmista tiedostonlisäyksistä. Kaikki ajat näytetään palvelimen aikavyöhykkeessä (UTC).',
-'filename'                    => 'Tiedoston nimi',
+'filename'                    => 'Tiedoston nimi:',
 'filedesc'                    => 'Yhteenveto',
-'fileuploadsummary'           => 'Yhteenveto:',
-'filestatus'                  => 'Tiedoston tekijänoikeudet',
-'filesource'                  => 'Lähde',
+'fileuploadsummary'           => 'Yhteenveto',
+'filestatus'                  => 'Tiedoston tekijänoikeudet:',
+'filesource'                  => 'Lähde:',
 'uploadedfiles'               => 'Lisätyt tiedostot',
 'ignorewarning'               => 'Tallenna tiedosto varoituksesta huolimatta.',
 'ignorewarnings'              => 'Ohita kaikki varoitukset',
-'minlength'                   => 'Tiedoston nimessä pitää olla vähintään kolme merkkiä.',
+'minlength1'                  => 'Tiedoston nimessä pitää olla vähintään yksi merkki.',
 'illegalfilename'             => "Tiedoston nimessä '''$1''' on merkkejä, joita ei sallita sivujen nimissä. Vaihda tiedoston nimeä, ja yritä lähettämistä uudelleen.",
 'badfilename'                 => 'Tiedoston nimi vaihdettiin: $1.',
-'badfiletype'                 => '”<tt>.$1</tt>” ei ole suositeltava tiedostomuoto.',
+'filetype-badmime'            => 'Tiedostot, joiden MIME-tyyppi on <tt>$1</tt> ei voi lähettää.',
+'filetype-badtype'            => '”<tt>.$1</tt>” ei ole suositeltava tiedostomuoto.
+: Sallitut tiedostomuodot: $2',
+'filetype-missing'            => 'Tiedostolta puuttuu tiedostopääte – esimerkiksi <tt>.jpg</tt>.',
 'large-file'                  => 'Tiedostojen enimmäiskoko on $1. Lähettämäsi tiedoston koko on $2.',
 'largefileserver'             => 'Tämä tiedosto on suurempi kuin mitä palvelin sallii.',
 'emptyfile'                   => 'Tiedosto, jota yritit lähettää, näyttää olevan tyhjä. Tarkista, että kirjoitit polun ja nimen oikein ja että se ei ole liian suuri kohdepalvelimelle.',
 'fileexists'                  => 'Samanniminen tiedosto on jo olemassa. Katso tiedoston sivu $1, jos et ole varma, haluatko muuttaa sitä.',
+'fileexists-extension'        => 'Tiedosto, jolla on samankaltainen nimi, on jo olemassa:<br />
+Tallennetun tiedoston nimi: <strong><tt>$1</tt></strong><br />
+Olemassa olevan tiedoston nimi: <strong><tt>$2</tt></strong><br />
+Ainoa ero on tiedostopäätteen kirjainkoko. Tarkista ovatko tiedostot identtisiä.',
+'fileexists-thumb'            => "'''<center>Olemassa oleva kuva</center>'''",
+'fileexists-thumbnail-yes'    => 'Tiedosto näyttäisi olevan pienennetty kuva <i>(pienoiskuva)</i>. Tarkista tiedosto <strong><tt>$1</tt></strong>.<br />
+Jos yllä oleva tiedosto on alkuperäisversio samasta kuvasta, ei sille tarvi tallentaa pienoiskuvaa.',
+'file-thumbnail-no'           => 'Tiedostonimi alkaa merkkijonolla <strong><tt>$1</tt></strong>. Tiedosto näyttäisi olevan pienennetty kuva <i>(pienoiskuva)</i>.
+Jos sinulla on tämän kuvan alkuperäinen versio, tallenna se. Muussa tapauksessa nimeä tiedosto uudelleen.',
 'fileexists-forbidden'        => 'Samanniminen tiedosto on jo olemassa. Tallenna tiedosto jollakin toisella nimellä. Nykyinen tiedosto: [[Image:$1|thumb|center|$1]]',
 'fileexists-shared-forbidden' => 'Samanniminen tiedosto on jo olemassa jaetussa mediavarastossa. Tallenna tiedosto jollakin toisella nimellä. Nykyinen tiedosto: [[Image:$1|thumb|center|$1]]',
 'successfulupload'            => 'Tallennus onnistui',
-'fileuploaded'                => "Tiedosto '''$1''' on tallennettu onnistuneesti. Seuraa linkkiä ($2) kuvaussivulle, ja täytä tiedostoon liityvät tiedot, kuten mistä se on peräisin, milloin se on luotu, kuka sen loi ja mahdollisesti muita tietämiäsi tietoja. Jos tiedosto on kuva, voit lisätä sen sivulle näin: '''<nowiki>[[</nowiki>{{ns:image}}:$1|thumb|Kuvaus]]'''",
 'uploadwarning'               => 'Tallennusvaroitus',
 'savefile'                    => 'Tallenna',
-'uploadedimage'               => 'lisäsi tiedoston [[$1]]',
+'uploadedimage'               => 'tallensi tiedoston [[$1]]',
+'overwroteimage'              => 'tallensi uuden version tiedostosta ”[[$1]]”',
 'uploaddisabled'              => '{{GRAMMAR:genitive|{{SITENAME}}}} ei voi lisätä tiedostoja.',
-'uploaddisabledtext'          => 'Tiedostojen lisäys on poistettu käytöstä.',
+'uploaddisabledtext'          => 'Tiedostojen tallennus on poistettu käytöstä.',
 'uploadscripted'              => 'Tämä tiedosto sisältää HTML-koodia tai skriptejä, jotka selain saattaa virheellisesti suorittaa.',
 'uploadcorrupt'               => 'Tiedosto on vioittunut tai sillä on väärä tiedostopääte. Tarkista tiedosto ja lähetä se uudelleen.',
 'uploadvirus'                 => 'Tiedosto sisältää viruksen. Tarkemmat tiedot: $1',
@@ -910,6 +993,7 @@ Huomaa, että {{GRAMMAR:inessive|{{SITENAME}}}} muut voivat muokata tai poistaa
 'destfilename'                => 'Kohdenimi',
 'watchthisupload'             => 'Tarkkaile tätä sivua',
 'filewasdeleted'              => 'Tämän niminen tiedosto on lisätty ja poistettu aikaisemmin. Tarkista $1 ennen jatkamista.',
+'filename-bad-prefix'         => 'Tallentamasi tiedoston nimi alkaa merkkijonolla <strong>$1</strong>, joka on yleensä digitaalikameroiden automaattisesti antama nimi, joka ei kuvaa tiedoston sisältöä. Anna tiedostolle kuvaavampi nimi.',
 
 'upload-proto-error'      => 'Virheellinen protokolla',
 'upload-proto-error-text' => 'Etälähetys on mahdollista vain osoitteista, jotka alkavat merkkijonolla <code>http://</code> tai <code>ftp://</code>.',
@@ -926,13 +1010,13 @@ Huomaa, että {{GRAMMAR:inessive|{{SITENAME}}}} muut voivat muokata tai poistaa
 
 'license'            => 'Lisenssi',
 'nolicense'          => 'Ei lisenssiä',
+'license-nopreview'  => '(esikatselua ei saatavilla)',
 'upload_source_url'  => ' (julkinen verkko-osoite)',
 'upload_source_file' => ' (tiedosto tietokoneella)',
 
 # Image list
 'imagelist'                 => 'Tiedostoluettelo',
 'imagelisttext'             => 'Alla on <strong>$1</strong> tiedostoa lajiteltuna <strong>$2</strong>.',
-'imagelistforuser'          => 'Käyttäjän ”$1” lisäämät kuvat.',
 'getimagelist'              => 'noudetaan tiedostoluetteloa',
 'ilsubmit'                  => 'Hae',
 'showlast'                  => 'Näytä viimeiset $1 tiedostoa lajiteltuna $2.',
@@ -942,32 +1026,61 @@ Huomaa, että {{GRAMMAR:inessive|{{SITENAME}}}} muut voivat muokata tai poistaa
 'imgdelete'                 => 'poista',
 'imgdesc'                   => 'kuvaus',
 'imgfile'                   => 'tiedosto',
-'imglegend'                 => 'Merkinnät: (kuvaus) = näytä tai muokkaa tiedoston kuvausta.',
-'imghistory'                => 'Historia',
-'revertimg'                 => 'palauta',
-'deleteimg'                 => 'poista',
-'deleteimgcompletely'       => 'poista',
-'imghistlegend'             => 'Merkinnät: (nyk.) = nykyinen versio, (poista) = poista tämä vanha versio, (palauta) = palauta tiedosto tähän vanhaan versioon.<br />Napsauta päiväystä nähdäksesi silloin tallennettu tiedosto.',
+'filehist'                  => 'Tiedoston historia',
+'filehist-help'             => 'Päiväystä napsauttamalla näet millainen tiedosto oli sillä ajan hetkellä.',
+'filehist-deleteall'        => 'poista kaikki',
+'filehist-deleteone'        => 'poista tämä',
+'filehist-revert'           => 'palauta',
+'filehist-current'          => 'nykyinen',
+'filehist-datetime'         => 'Päiväys',
+'filehist-user'             => 'Käyttäjä',
+'filehist-dimensions'       => 'Koko',
+'filehist-filesize'         => 'Tiedostokoko',
+'filehist-comment'          => 'Kommentti',
 'imagelinks'                => 'Viittaukset sivuilta',
 'linkstoimage'              => 'Seuraavilta sivuilta on linkki tähän tiedostoon:',
 'nolinkstoimage'            => 'Tähän tiedostoon ei ole linkkejä miltään sivulta.',
 'sharedupload'              => 'Tämä tiedosto on jaettu ja muut projektit saattavat käyttää sitä.',
 'shareduploadwiki'          => 'Katso $1 lisätietoja.',
 'shareduploadwiki-linktext' => 'kuvaussivulta',
-'noimage'                   => 'Tämän nimistä tiedostoa ei ole olemassa. Voit $1 {{GRAMMAR:illative|{{SITENAME}}}}',
+'noimage'                   => 'Tämän nimistä tiedostoa ei ole olemassa. Voit $1 {{GRAMMAR:illative|{{SITENAME}}}}.',
 'noimage-linktext'          => 'lisätä tiedoston',
-'uploadnewversion-linktext' => 'Lisää uusi versio tästä tiedostosta',
+'uploadnewversion-linktext' => 'Tallenna uusi versio tästä tiedostosta',
 'imagelist_date'            => 'Päiväys',
 'imagelist_name'            => 'Nimi',
-'imagelist_user'            => 'Lähettäjä',
-'imagelist_size'            => 'Koko (tavuja)',
+'imagelist_user'            => 'Tallentaja',
+'imagelist_size'            => 'Koko',
 'imagelist_description'     => 'Kuvaus',
-'imagelist_search_for'      => 'Nimihaku:',
+'imagelist_search_for'      => 'Nimihaku',
+
+# File reversion
+'filerevert'                => 'Tiedoston $1 palautus',
+'filerevert-legend'         => 'Tiedoston palautus',
+'filerevert-intro'          => '<span class="plainlinks">Olet palauttamassa tiedostoa \'\'\'[[Media:$1|$1]]\'\'\' [$4 versioon, joka luotiin $2 kello $3].</span>',
+'filerevert-comment'        => 'Syy',
+'filerevert-defaultcomment' => 'Palautettiin versioon, joka luotiin $1 kello $2',
+'filerevert-submit'         => 'Palauta',
+'filerevert-success'        => '<span class="plainlinks">\'\'\'[[Media:$1|$1]]\'\'\' on palautettu [$4 versioon, joka luotiin $2 kello $3].</span>',
+'filerevert-badversion'     => 'Tiedostosta ei ole luotu versiota kyseisellä ajan hetkellä.',
+
+# File deletion
+'filedelete'             => 'Tiedoston $1 poisto',
+'filedelete-legend'      => 'Tiedoston poisto',
+'filedelete-intro'       => "Olet poistamassa tiedostoa '''[[Media:$1|$1]]'''.",
+'filedelete-intro-old'   => '<span class="plainlinks">Olet poistamassa tiedoston \'\'\'[[Media:$1|$1]]\'\'\' [$4 $3 kello $2 luotua versiota].</span>',
+'filedelete-comment'     => 'Poiston syy',
+'filedelete-submit'      => 'Poista',
+'filedelete-success'     => "Tiedosto '''$1''' on poistettu.",
+'filedelete-success-old' => '<span class="plainlinks">Tiedoston \'\'\'[[Media:$1|$1]]\'\'\' $3 kello $2 luotu versio on poistettu.</span>',
+'filedelete-nofile'      => "Tiedostoa '''$1''' ei ole.",
+'filedelete-nofile-old'  => "Tiedostosta '''$1''' ei ole olemassa pyydettyä versiota.",
+'filedelete-iscurrent'   => 'Et voi poistaa tiedoston uusinta versiota. Palauta jokin muu version uusimmaksi.',
 
 # MIME search
-'mimesearch' => 'MIME-haku',
-'mimetype'   => 'MIME-tyyppi:',
-'download'   => 'lataa',
+'mimesearch'         => 'MIME-haku',
+'mimesearch-summary' => 'Tällä sivulla voit etsiä tiedostoja niiden MIME-tyypin perusteella. Syöte: sisältötyyppi/alatyyppi, esimerkiksi <tt>image/jpeg</tt>.',
+'mimetype'           => 'MIME-tyyppi',
+'download'           => 'lataa',
 
 # Unwatched pages
 'unwatchedpages' => 'Tarkkailemattomat sivut',
@@ -981,20 +1094,21 @@ Huomaa, että {{GRAMMAR:inessive|{{SITENAME}}}} muut voivat muokata tai poistaa
 'unusedtemplateswlh'  => 'muut linkit',
 
 # Random redirect
-'randomredirect' => 'Satunnainen uudelleenohjaus',
+'randomredirect'         => 'Satunnainen uudelleenohjaus',
+'randomredirect-nopages' => 'Tässä nimiavaruudessa ei ole uudelleenohjauksia.',
 
 # Statistics
 'statistics'             => 'Tilastot',
 'sitestats'              => 'Sivuston tilastot',
 'userstats'              => 'Käyttäjätilastot',
-'sitestatstext'          => "Tietokannassa on yhteensä $1 sivua. Tähän on laskettu mukaan keskustelusivut, {{GRAMMAR:genitive|{{SITENAME}}}} projektisivut, hyvin lyhyet sivut, uudelleenohjaukset sekä muita sivuja, joita ei voi pitää kunnollisina sivuina. Nämä poislukien tietokannassa on '''$2''' sivua.
+'sitestatstext'          => "Tietokannassa on {{PLURAL:$1|yksi sivu|yhteensä $1 sivua}}. Tähän on laskettu mukaan keskustelusivut, {{GRAMMAR:genitive|{{SITENAME}}}} projektisivut, hyvin lyhyet sivut, uudelleenohjaukset sekä muita sivuja, joita ei voi pitää kunnollisina sivuina. Nämä pois lukien tietokannassa on '''$2''' {{PLURAL:$2|sivu|sivua}}.
 
-{{GRAMMAR:illative|{{SITENAME}}}} on tallennettu '''$8''' tiedostoa.
+{{GRAMMAR:illative|{{SITENAME}}}} on tallennettu '''$8''' {{PLURAL:$8|tiedosto|tiedostoa}}.
 
-Sivuja on katsottu yhteensä '''$3''' kertaa ja muokattu '''$4''' kertaa. Keskimäärin yhtä sivua on muokattu '''$5''' kertaa, ja muokkausta kohden sivua on katsottu keskimäärin '''$6''' kertaa.
+Sivuja on katsottu yhteensä '''$3''' {{PLURAL:$3|kerran|kertaa}} ja muokattu '''$4''' {{PLURAL:$4|kerran|kertaa}}. Keskimäärin yhtä sivua on muokattu '''$5''' kertaa, ja muokkausta kohden sivua on katsottu keskimäärin '''$6''' kertaa.
 
-Ohjelmiston suorittamia ylläpitotöitä on jonossa '''$7''' kappaletta.",
-'userstatstext'          => "Rekisteröityneitä käyttäjiä on '''$1'''. Näistä '''$2''' ($4%) on ylläpitäjiä ($5).",
+Ohjelmiston suorittamia ylläpitotöitä on jonossa '''$7''' {{PLURAL:$7|kappale|kappaletta}}.",
+'userstatstext'          => "Rekisteröityneitä käyttäjiä on '''$1'''. Näistä '''$2''' ($4%) on {{PLURAL:$2|ylläpitäjä|ylläpitäjiä}} ($5).",
 'statistics-mostpopular' => 'Katsotuimmat sivut',
 
 'disambiguations'      => 'Linkit täsmennyssivuihin',
@@ -1009,6 +1123,11 @@ Ohjelmiston suorittamia ylläpitotöitä on jonossa '''$7''' kappaletta.",
 'brokenredirects-edit'   => '(muokkaa)',
 'brokenredirects-delete' => '(poista)',
 
+'withoutinterwiki'        => 'Sivut, joilla ei ole kielilinkkejä',
+'withoutinterwiki-header' => 'Seuraavat sivut eivät viittaa erikielisiin versioihin:',
+
+'fewestrevisions' => 'Sivut, joilla on vähiten muutoksia',
+
 # Miscellaneous special pages
 'nbytes'                  => '$1 {{PLURAL:$1|tavu|tavua}}',
 'ncategories'             => '$1 {{PLURAL:$1|luokka|luokkaa}}',
@@ -1016,35 +1135,39 @@ Ohjelmiston suorittamia ylläpitotöitä on jonossa '''$7''' kappaletta.",
 'nmembers'                => '$1 {{PLURAL:$1|jäsen|jäsentä}}',
 'nrevisions'              => '$1 {{PLURAL:$1|muutos|muutosta}}',
 'nviews'                  => '$1 {{PLURAL:$1|lataus|latausta}}',
+'specialpage-empty'       => 'Tämä sivu on tyhjä.',
 'lonelypages'             => 'Yksinäiset sivut',
 'lonelypagestext'         => 'Seuraaviin sivuhin ei ole linkkejä muualta wikistä.',
 'uncategorizedpages'      => 'Luokittelemattomat sivut',
 'uncategorizedcategories' => 'Luokittelemattomat luokat',
 'uncategorizedimages'     => 'Luokittelemattomat tiedostot',
+'uncategorizedtemplates'  => 'Luokittelemattomat mallineet',
 'unusedcategories'        => 'Käyttämättömät luokat',
 'unusedimages'            => 'Käyttämättömät tiedostot',
 'popularpages'            => 'Suositut sivut',
 'wantedcategories'        => 'Halutut luokat',
 'wantedpages'             => 'Halutut sivut',
-'mostlinked'              => 'Sivut, joihin on eniten linkkejä',
-'mostlinkedcategories'    => 'Luokat, joihin on eniten linkkejä',
-'mostcategories'          => 'Sivut, jotka ovat useissa luokissa',
-'mostimages'              => 'Kuvat, joihin on eniten linkkejä',
-'mostrevisions'           => 'Sivut, joilla on eniten muutoksia',
+'mostlinked'              => 'Viitatuimmat sivut',
+'mostlinkedcategories'    => 'Viitatuimmat luokat',
+'mostlinkedtemplates'     => 'Viitatuimmat mallineet',
+'mostcategories'          => 'Luokitelluimmat sivut',
+'mostimages'              => 'Viitatuimmat kuvat',
+'mostrevisions'           => 'Muokatuimmat sivut',
 'allpages'                => 'Kaikki sivut',
-'prefixindex'             => 'Sivut otsikon alun mukaan',
+'prefixindex'             => 'Sivujen katkaisuhaku',
 'randompage'              => 'Satunnainen sivu',
+'randompage-nopages'      => 'Tässä nimiavaruudessa ei ole sivuja.',
 'shortpages'              => 'Lyhyet sivut',
 'longpages'               => 'Pitkät sivut',
 'deadendpages'            => 'Sivut, joilla ei ole linkkejä',
 'deadendpagestext'        => 'Seuraavat sivut eivät linkitä muihin sivuihin wikissä.',
 'protectedpages'          => 'Suojatut sivut',
 'protectedpagestext'      => 'Seuraavat sivut ovat suojattuja siirtämiseltä tai muutoksilta',
+'protectedpagesempty'     => 'Ei suojattu sivuja.',
 'listusers'               => 'Käyttäjälista',
 'specialpages'            => 'Toimintosivut',
 'spheading'               => 'Toimintosivut',
 'restrictedpheading'      => 'Rajoitetut toimintosivut',
-'recentchangeslinked'     => 'Linkitettyjen sivujen muutokset',
 'rclsub'                  => 'Sivut, joihin linkki sivulta $1',
 'newpages'                => 'Uudet sivut',
 'newpages-username'       => 'Käyttäjätunnus:',
@@ -1058,43 +1181,51 @@ Ohjelmiston suorittamia ylläpitotöitä on jonossa '''$7''' kappaletta.",
 # Book sources
 'booksources'               => 'Kirjalähteet',
 'booksources-search-legend' => 'Etsi kirjalähteitä',
-'booksources-isbn'          => 'ISBN:',
 'booksources-go'            => 'Etsi',
 'booksources-text'          => 'Alla linkkejä ulkopuolisiin sivustoihin, joilla myydään uusia ja käytettyjä kirjoja. Sivuilla voi myös olla lisätietoa kirjoista.',
 
 'categoriespagetext' => '{{GRAMMAR:inessive|{{SITENAME}}}} on seuraavat luokat:',
-'data'               => 'Data',
 'userrights'         => 'Käyttöoikeuksien hallinta',
 'groups'             => 'Ryhmät',
-'isbn'               => 'ISBN',
 'alphaindexline'     => '$1…$2',
 'version'            => 'Versio',
-'log'                => 'Lokit',
-'alllogstext'        => 'Yhdistetty lokien näyttö. Voit rajoittaa listaa valitsemalla lokityypin, käyttäjän tai sivun johon muutos on kohdistunut.',
-'logempty'           => 'Ei tapahtumia lokissa.',
+
+# Special:Log
+'specialloguserlabel'  => 'Käyttäjä',
+'speciallogtitlelabel' => 'Kohde',
+'log'                  => 'Lokit',
+'all-logs-page'        => 'Kaikki lokit',
+'log-search-legend'    => 'Etsi lokeista',
+'log-search-submit'    => 'Hae',
+'alllogstext'          => 'Yhdistetty lokien näyttö. Voit rajoittaa listaa valitsemalla lokityypin, käyttäjän tai sivun johon muutos on kohdistunut.',
+'logempty'             => 'Ei tapahtumia lokissa.',
+'log-title-wildcard'   => 'Kohde alkaa merkkijonolla',
 
 # Special:Allpages
 'nextpage'          => 'Seuraava sivu ($1)',
 'prevpage'          => 'Edellinen sivu ($1)',
-'allpagesfrom'      => 'Näytä sivuja lähtien sivusta:',
+'allpagesfrom'      => 'Katkaisuhaku',
 'allarticles'       => 'Kaikki sivut',
 'allinnamespace'    => 'Kaikki sivut nimiavaruudessa $1',
 'allnotinnamespace' => 'Kaikki sivut, jotka eivät ole nimiavaruudessa $1',
 'allpagesprev'      => 'Edellinen',
 'allpagesnext'      => 'Seuraava',
-'allpagessubmit'    => 'Vaihda',
-'allpagesprefix'    => 'Näytä sivut, joiden otsikko alkaa',
+'allpagessubmit'    => 'Hae',
+'allpagesprefix'    => 'Katkaisuhaku',
 'allpagesbadtitle'  => 'Annettu otsikko oli kelvoton tai siinä oli wikien välinen etuliite.',
+'allpages-bad-ns'   => '{{GRAMMAR:inessive|{{SITENAME}}}} ei ole nimiavaruutta ”$1”.',
 
 # Special:Listusers
-'listusersfrom' => 'Näytä käyttäjät alkaen:',
+'listusersfrom'      => 'Katkaisuhaku',
+'listusers-submit'   => 'Hae',
+'listusers-noresult' => 'Käyttäjiä ei löytynyt. Tarkista myös eri kirjainkoot.',
 
 # E-mail user
 'mailnologin'     => 'Lähettäjän osoite puuttuu',
 'mailnologintext' => 'Sinun pitää olla [[Special:Userlogin|kirjautuneena sisään]] ja [[Special:Preferences|asetuksissasi]] pitää olla toimiva ja <strong>varmennettu</strong> sähköpostiosoite, jotta voit lähettää sähköpostia muille käyttäjille.',
 'emailuser'       => 'Lähetä sähköpostia tälle käyttäjälle',
 'emailpage'       => 'Lähetä sähköpostia käyttäjälle',
-'emailpagetext'   => 'Jos tämä käyttäjä on antanut asetuksissaan kelvollisen sähköpostiosoitteen, alla olevalla lomakeella voi lähettää yhden viestin hänelle. Omissa asetuksissasi annettu sähköpostiosoite näkyy sähköpostin lähettäjän osoitteena, jotta vastaanottaja voi vastata viestiin.',
+'emailpagetext'   => 'Jos tämä käyttäjä on antanut asetuksissaan kelvollisen sähköpostiosoitteen, alla olevalla lomakkeella voit lähettää yhden viestin hänelle. Omissa asetuksissasi annettu sähköpostiosoite näkyy sähköpostin lähettäjän osoitteena, jotta vastaanottaja voi vastata viestiin.',
 'usermailererror' => 'Postitus palautti virheen:',
 'defemailsubject' => '{{SITENAME}}-sähköposti',
 'noemailtitle'    => 'Ei sähköpostiosoitetta',
@@ -1111,16 +1242,12 @@ Ohjelmiston suorittamia ylläpitotöitä on jonossa '''$7''' kappaletta.",
 
 # Watchlist
 'watchlist'            => 'Tarkkailulista',
-'watchlistfor'         => 'käyttäjälle <b>$1</b>',
+'mywatchlist'          => 'Tarkkailulista',
+'watchlistfor'         => '$1',
 'nowatchlist'          => 'Tarkkailulistallasi ei ole sivuja.',
 'watchlistanontext'    => 'Sinun täytyy $1, jos haluat käyttää tarkkailulistaa.',
-'watchlistcount'       => 'Tarkkailulistallasi on <b>$1</b> sivua, keskustelusivut mukaan lukien.',
-'clearwatchlist'       => 'Tarkkailulistan tyhjentäminen',
-'watchlistcleartext'   => 'Haluatko tyhjentää tarkkailulistan?',
-'watchlistclearbutton' => 'Tyhjennä tarkkailusta',
-'watchlistcleardone'   => 'Tarkkailulista on tyhjennetty. $1 sivua poistettiin listalta.',
 'watchnologin'         => 'Et ole kirjautunut sisään',
-'watchnologintext'     => 'Sinun pitää kirjautua sisään, jotta voisit käyttää tarkkailulistaa.',
+'watchnologintext'     => 'Sinun pitää [[Special:Userlogin|kirjautua sisään]], jotta voisit käyttää tarkkailulistaasi.',
 'addedwatch'           => 'Lisätty tarkkailulistalle',
 'addedwatchtext'       => "Sivu '''$1''' on lisätty [[Special:Watchlist|tarkkailulistallesi]]. Tulevaisuudessa sivuun ja sen keskustelusivuun tehtävät muutokset listataan täällä. Sivu on '''lihavoitu''' [[Special:Recentchanges|tuoreiden muutosten listassa]], jotta huomaisit sen helpommin. Jos haluat myöhemmin poistaa sivun tarkkailulistaltasi, napsauta linkkiä ''lopeta tarkkailu'' sivun reunassa.",
 'removedwatch'         => 'Poistettu tarkkailulistalta',
@@ -1131,40 +1258,37 @@ Ohjelmiston suorittamia ylläpitotöitä on jonossa '''$7''' kappaletta.",
 'unwatchthispage'      => 'Lopeta tarkkailu',
 'notanarticle'         => 'Ei ole sivu',
 'watchnochange'        => 'Valittuna ajanjaksona yhtäkään tarkkailemistasi sivuista ei muokattu.',
-'watchdetails'         => 'Keskustelusivuja mukaan laskematta tarkkailun alla on $1 sivua, joista $2 on muokattu määritellyllä aikavälillä. <span class="plainlinks"> [$4 Muokkaa listaa]</span>.',
+'watchlist-details'    => 'Tarkkailulistalla on {{PLURAL:$1|$1 sivu|$1 sivua}} keskustelusivuja mukaan laskematta.',
 'wlheader-enotif'      => '* Sähköposti-ilmoitukset ovat käytössä.',
 'wlheader-showupdated' => "* Sivut, joita on muokattu viimeisen käyntisi jälkeen on merkitty '''paksummalla'''",
 'watchmethod-recent'   => 'tarkistetaan tuoreimpia muutoksia tarkkailluille sivuille',
 'watchmethod-list'     => 'tarkistetaan tarkkailtujen sivujen tuoreimmat muutokset',
-'removechecked'        => 'Poista valitut sivut tarkkailulistalta',
-'watchlistcontains'    => 'Tarkkailulistallasi on $1 sivua.',
-'watcheditlist'        => 'Tässä on aakkostettu lista tarkkailemistasi sivuista. Merkitse niiden sivujen ruudut, jotka haluat poistaa tarkkailulistaltasi.',
-'removingchecked'      => 'Merkityt sivut poistettiin tarkkailulistalta.',
-'couldntremove'        => 'Sivua $1 ei voitu poistaa tarkkailulistalta',
+'watchlistcontains'    => 'Tarkkailulistallasi on {{PLURAL:$1|yksi sivu|$1 sivua}}.',
 'iteminvalidname'      => 'Sivun $1 kanssa oli ongelmia! Sivun nimessä on vikaa.',
-'wlnote'               => 'Alla on <b>$1</b> muutosta viimeisen <b>$2</b> tunnin ajalta.',
+'wlnote'               => "Alla on '''$1''' {{PLURAL:$1|muutos|muutosta}} viimeisen {{PLURAL:$2||'''$2'''}} tunnin ajalta.",
 'wlshowlast'           => 'Näytä viimeiset $1 tuntia tai $2 päivää$3',
-'wlsaved'              => 'Tämä on tallennettu versio tarkkailulistastasi.',
 'watchlist-show-bots'  => 'Näytä bottien muokkaukset',
 'watchlist-hide-bots'  => 'Piilota bottien muokkaukset',
 'watchlist-show-own'   => 'Näytä omat muokkaukset',
 'watchlist-hide-own'   => 'Piilota omat muokkaukset',
 'watchlist-show-minor' => 'Näytä pienet muokkaukset',
 'watchlist-hide-minor' => 'Piilota pienet muokkaukset',
-'wldone'               => 'Muutokset tehty.',
 
 # Displayed when you click the "watch" button and it's in the process of watching
 'watching'   => 'Lisätään tarkkailulistalle...',
 'unwatching' => 'Poistetaan tarkkailulistalta...',
 
-'enotif_mailer'      => '{{GRAMMAR:genitive|{{SITENAME}}}} sivu on muuttunut -ilmoitus',
-'enotif_reset'       => 'Merkitse kaikki sivut katsotuiksi',
-'enotif_newpagetext' => 'Tämä on uusi sivu.',
-'changed'            => 'muuttanut sivua',
-'created'            => 'luonut sivun',
-'enotif_subject'     => '$PAGEEDITOR on $CHANGEDORCREATED $PAGETITLE',
-'enotif_lastvisited' => 'Osoitteessa $1 on kaikki muutokset viimeisen käyntisi jälkeen.',
-'enotif_body'        => 'Käyttäjä $WATCHINGUSERNAME,
+'enotif_mailer'                => '{{GRAMMAR:genitive|{{SITENAME}}}} sivu on muuttunut -ilmoitus',
+'enotif_reset'                 => 'Merkitse kaikki sivut katsotuiksi',
+'enotif_newpagetext'           => 'Tämä on uusi sivu.',
+'enotif_impersonal_salutation' => '{{SITENAME}}-käyttäjä',
+'changed'                      => 'muuttanut sivua',
+'created'                      => 'luonut sivun',
+'enotif_subject'               => '$PAGEEDITOR on $CHANGEDORCREATED $PAGETITLE',
+'enotif_lastvisited'           => 'Osoitteessa $1 on kaikki muutokset viimeisen käyntisi jälkeen.',
+'enotif_lastdiff'              => 'Muutos on osoitteessa $1.',
+'enotif_anon_editor'           => 'kirjautumaton käyttäjä $1',
+'enotif_body'                  => 'Käyttäjä $WATCHINGUSERNAME,
 
 {{GRAMMAR:genitive|{{SITENAME}}}} käyttäjä $PAGEEDITOR on $CHANGEDORCREATED $PAGETITLE $PAGEEDITDATE. Nykyinen versio on osoitteessa $PAGETITLE_URL .
 
@@ -1185,7 +1309,7 @@ Tarkkailulistan asetuksia voit muuttaa osoitteessa:
 {{fullurl:Special:Watchlist/edit}}
 
 Palaute ja lisäapu osoitteessa:
-{{fullurl:Help:Sähköposti-ilmoitus}}',
+{{fullurl:{{MediaWiki:helppage}}}}',
 
 # Delete/protect/revert
 'deletepage'                  => 'Poista sivu',
@@ -1196,17 +1320,16 @@ Palaute ja lisäapu osoitteessa:
 'exblank'                     => 'oli tyhjä',
 'confirmdelete'               => 'Vahvista poisto',
 'deletesub'                   => 'Sivun $1 poisto',
-'historywarning'              => 'Varoitus: Sivulla, jonka aiot poistaa on muokkaushistoria:',
+'historywarning'              => 'Sivua, jonka aiot poistaa on muokattu useammin kuin kerran:',
 'confirmdeletetext'           => 'Olet poistamassa sivun tai tiedoston ja kaiken sen historian. Ymmärrä teon seuraukset ja tee poisto {{GRAMMAR:genitive|{{SITENAME}}}} [[{{MediaWiki:policy-url}}|käytäntöjen]] mukaisesti.',
 'actioncomplete'              => 'Toiminto suoritettu',
-'deletedtext'                 => "'''[[Special:Undelete/$1|$1]]''' on poistettu. Katso $2 nähdäksesi listan viimeaikaisista poistoista.",
+'deletedtext'                 => "'''[[Special:Undelete/$1|$1]]''' on poistettu. Sivulla $2 on lista viimeaikaisista poistoista.",
 'deletedarticle'              => 'poisti sivun $1',
 'dellogpage'                  => 'Poistoloki',
 'dellogpagetext'              => 'Alla on loki viimeisimmistä poistoista.',
 'deletionlog'                 => 'poistoloki',
 'reverted'                    => 'Palautettu aikaisempaan versioon',
 'deletecomment'               => 'Poistamisen syy',
-'imagereverted'               => 'Aikaisempaan versioon palauttaminen onnistui.',
 'rollback'                    => 'palauta aiempaan versioon',
 'rollback_short'              => 'Palautus',
 'rollbacklink'                => 'palauta',
@@ -1215,32 +1338,38 @@ Palaute ja lisäapu osoitteessa:
 'alreadyrolled'               => 'Käyttäjän [[User:$2|$2]] ([[User_talk:$2|keskustelu]]) tekemiä muutoksia sivuun $1 ei voi kumota, koska käyttäjä [[User:$3|$3]] ([[User_talk:$3|keskustelu]]) on tehnyt uudempia muutoksia.',
 'editcomment'                 => 'Muokkauksen yhteenveto oli: <i>$1</i>.', # only shown if there is an edit comment
 'revertpage'                  => 'Käyttäjän [[Special:Contributions/$2|$2]] ([[User_talk:$2|keskustelu]]) muokkaukset kumottiin ja sivu palautettiin viimeisimpään käyttäjän [[User:$1|$1]] tekemään versioon.',
-'sessionfailure'              => 'Istuntosi kanssa on ongelma. Muutosta ei toteutettu varotoimena sessionkaappauksien takia. Käytä selaimen paluutoimintoa ja päivitä sivu, jolta tulit, ja koita uudelleen.',
+'rollback-success'            => 'Käyttäjän ”$1” tekemät muokkaukset kumottiin ja artikkeli palautettiin käyttäjän $2 versioon.',
+'sessionfailure'              => 'Istuntosi kanssa on ongelma. Muutosta ei toteutettu varotoimena sessionkaappauksien takia. Käytä selaimen paluutoimintoa ja päivitä sivu, jolta tulit, ja yritä uudelleen.',
 'protectlogpage'              => 'Suojausloki',
 'protectlogtext'              => 'Alla on loki sivujen suojauksista ja suojauksien poistoista. Luettelo tällä hetkellä suojatuista sivuista löytyy [[Special:Protectedpages|suojattuen sivujen luettelosta]].',
 'protectedarticle'            => 'suojasi sivun $1',
+'modifiedarticleprotection'   => 'muutti sivun [[$1]] suojaustasoa',
 'unprotectedarticle'          => 'poisti suojauksen sivulta $1',
 'protectsub'                  => 'Sivun $1 suojaus',
-'confirmprotecttext'          => 'Haluatko varmasti suojata tämän sivun?',
 'confirmprotect'              => 'Vahvista suojaus',
-'protectmoveonly'             => 'Suojaa vain siirroilta',
 'protectcomment'              => 'Suojauksen syy:',
 'protectexpiry'               => 'Vanhenee',
 'protect_expiry_invalid'      => 'Vanhenemisaika ei kelpaa.',
+'protect_expiry_old'          => 'Vanhenemisaika on menneisyydessä.',
 'unprotectsub'                => 'Suojauksen poisto sivulta $1',
-'confirmunprotecttext'        => 'Haluatko varmasti poistaa tämän sivun suojauksen?',
-'confirmunprotect'            => 'Vahvista suojauksen poisto',
-'unprotectcomment'            => 'Syy suojauksen poistoon',
 'protect-unchain'             => 'Käytä siirtosuojausta',
-'protect-text'                => 'Voit katsoa ja muuttaa sivun ”<strong>$1</strong>” suojauksia:',
-'protect-viewtext'            => 'Et voi muuttaa sivun ”<strong>$1</strong>” suojauksia. Alla on sivun nykyiset suojaukset:',
-'protect-cascadeon'           => 'Tämä sivu on suojauksen kohteena, koska se on sisällytetty alla oleviin laajennetusti suojattuihin sivuihin. Voit muuttaa tämän sivun suojaustasoa, mutta se ei vaikuta laajennettuun suojaukseen.',
+'protect-text'                => 'Voit katsoa ja muuttaa sivun ”<strong>$1</strong>” suojauksia.',
+'protect-locked-blocked'      => 'Et voi muuttaa sivun suojauksia, koska sinut on estetty. Alla on sivun ”<strong>$1</strong>” nykyiset suojaukset:',
+'protect-locked-dblock'       => 'Sivun suojauksia ei voi muuttaa, koska tietokanta on lukittu. Alla on sivun ”<strong>$1</strong>” nykyiset suojaukset:',
+'protect-locked-access'       => 'Sinulla ei ole tarvittavia oikeuksia sivujen suojauksen muuttamiseen. Alla on sivun ”<strong>$1</strong>” nykyiset suojaukset:',
+'protect-cascadeon'           => 'Tämä sivu on suojauksen kohteena, koska se on sisällytetty alla {{PLURAL:$1|olevaan laajennetusti suojattuun sivuun|oleviin laajennetusti suojattuihin sivuihin}}. Voit muuttaa tämän sivun suojaustasoa, mutta se ei vaikuta laajennettuun suojaukseen.',
 'protect-default'             => '(ei rajoituksia)',
+'protect-fallback'            => 'Vaadi $1-oikeus',
 'protect-level-autoconfirmed' => 'Estä uudet ja anonyymit käyttäjät',
 'protect-level-sysop'         => 'Vain ylläpitäjät',
 'protect-summary-cascade'     => 'laajennettu',
 'protect-expiring'            => 'vanhenee $1',
 'protect-cascade'             => 'Laajenna suojaus koskemaan kaikkia tähän sivuun sisällytettyjä sivuja.',
+'restriction-type'            => 'Rajoitus',
+'restriction-level'           => 'Suojaus',
+'minimum-size'                => 'Vähimmäiskoko',
+'maximum-size'                => 'Enimmäiskoko',
+'pagesize'                    => 'tavua',
 
 # Restrictions (nouns)
 'restriction-edit' => 'muokkaus',
@@ -1249,86 +1378,120 @@ Palaute ja lisäapu osoitteessa:
 # Restriction levels
 'restriction-level-sysop'         => 'täysin suojattu',
 'restriction-level-autoconfirmed' => 'osittaissuojattu',
+'restriction-level-all'           => 'mikä tahansa suojaus',
 
 # Undelete
-'undelete'                 => 'Palauta poistettuja sivuja',
-'undeletepage'             => 'Poistettujen sivujen selaus',
-'viewdeletedpage'          => 'Poistettujen sivujen selaus',
-'undeletepagetext'         => 'Seuraavat sivut on poistettu, mutta ne löytyvät vielä arkistosta, joten ne ovat palautettavissa. Arkisto saatetaan tyhjentää aika ajoin.',
-'undeleteextrahelp'        => 'Palauta sivu valitsemalla <b><i>Palauta</i></b>. Voit palauttaa versiota valikoivasti valitsemalla vain niiden versioiden valintalaatikot, jotka haluat palauttaa.',
-'undeletearticle'          => 'Palauta poistettu sivu',
-'undeleterevisions'        => '{{PLURAL:$1|yksi versio|$1 versiota}} arkistoitu.',
-'undeletehistory'          => 'Jos palautat sivun, kaikki versiot lisätään sivun historiaan. Jos uusi sivu samalla nimellä on luotu poistamisen jälkeen, palautetut versiot lisätään sen historiaan, ja olemassa olevaa versiota ei korvata automaattisesti.',
-'undeletehistorynoadmin'   => 'Tämä sivu on poistettu. Syy sivun poistamiseen näkyy yhteenvedossa, jossa on myös tiedot, ketkä ovat muokanneet tätä sivua ennen poistamista. Sivujen varsinainen sisältö on vain ylläpitäjien luettavissa.',
-'undelete-revision'        => 'Poistettu sivu $1 hetkellä $2',
-'undeleterevision-missing' => 'Virheellinen tai puuttuva versio. Se on saatettu palauttaa tai poistaa arkistosta.',
-'undeletebtn'              => 'Palauta',
-'undeletereset'            => 'Tyhjennä',
-'undeletecomment'          => 'Kommentti:',
-'undeletedarticle'         => 'palautti sivun [[$1]]',
-'undeletedrevisions'       => '$1 versiota palautettiin',
-'undeletedrevisions-files' => '$1 versiota ja $2 tiedosto(a) palautettiin',
-'undeletedfiles'           => '$1 tiedosto(a) palautettiin',
-'cannotundelete'           => 'Palauttaminen epäonnistui.',
-'undeletedpage'            => "<big>'''”$1” on palautettu.'''</big>
+'undelete'                     => 'Palauta poistettuja sivuja',
+'undeletepage'                 => 'Poistettujen sivujen selaus',
+'viewdeletedpage'              => 'Poistettujen sivujen selaus',
+'undeletepagetext'             => 'Seuraavat sivut on poistettu, mutta ne löytyvät vielä arkistosta, joten ne ovat palautettavissa. Arkisto saatetaan tyhjentää aika ajoin.',
+'undeleteextrahelp'            => 'Palauta sivu valitsemalla <b><i>Palauta</i></b>. Voit palauttaa versiota valikoivasti valitsemalla vain niiden versioiden valintalaatikot, jotka haluat palauttaa.',
+'undeleterevisions'            => '{{PLURAL:$1|Versio|$1 versiota}} arkistoitu.',
+'undeletehistory'              => 'Jos palautat sivun, kaikki versiot lisätään sivun historiaan. Jos uusi sivu samalla nimellä on luotu poistamisen jälkeen, palautetut versiot lisätään sen historiaan, ja olemassa olevaa versiota ei korvata automaattisesti.',
+'undeleterevdel'               => 'Palautusta ei tehdä, jos sen seurauksena sivun uusin versio olisi osittain poistettu. Tässä tilanteessa poista uusimman poistettavan version piilotus. Tiedostoversioita, joihin sinulla ei ole katseluoikeutta ei palauteta.',
+'undeletehistorynoadmin'       => 'Tämä sivu on poistettu. Syy sivun poistamiseen näkyy yhteenvedossa, jossa on myös tiedot, ketkä ovat muokanneet tätä sivua ennen poistamista. Sivujen varsinainen sisältö on vain ylläpitäjien luettavissa.',
+'undelete-revision'            => 'Poistettu sivu $1 hetkellä $2. Tekijä: $3.',
+'undeleterevision-missing'     => 'Virheellinen tai puuttuva versio. Se on saatettu palauttaa tai poistaa arkistosta.',
+'undeletebtn'                  => 'Palauta',
+'undeletereset'                => 'Tyhjennä',
+'undeletecomment'              => 'Kommentti',
+'undeletedarticle'             => 'palautti sivun [[$1]]',
+'undeletedrevisions'           => '$1 versiota palautettiin',
+'undeletedrevisions-files'     => '$1 versiota ja $2 tiedosto(a) palautettiin',
+'undeletedfiles'               => '$1 tiedosto(a) palautettiin',
+'cannotundelete'               => 'Palauttaminen epäonnistui.',
+'undeletedpage'                => "<big>'''”$1” on palautettu.'''</big>
 
 [[Special:Log/delete|Poistolokista]] löydät listan viimeisimmistä poistoista ja palautuksista.",
-'undelete-header'          => '[[Special:Log/delete|poistolokissa]] on lista viimeisimmistä poistoista.',
-'undelete-search-box'      => 'Etsi poistettuja sivuja',
-'undelete-search-prefix'   => 'Näytä sivut, jotka alkavat merkkijonolla:',
-'undelete-search-submit'   => 'Hae',
-'undelete-no-results'      => 'Poistoarkistosta ei löytynyt haettuja sivuja.',
+'undelete-header'              => '[[Special:Log/delete|poistolokissa]] on lista viimeisimmistä poistoista.',
+'undelete-search-box'          => 'Etsi poistettuja sivuja',
+'undelete-search-prefix'       => 'Näytä sivut, jotka alkavat merkkijonolla:',
+'undelete-search-submit'       => 'Hae',
+'undelete-no-results'          => 'Poistoarkistosta ei löytynyt haettuja sivuja.',
+'undelete-filename-mismatch'   => 'Tiedoston version, jonka aikaleima on $1 palauttaminen epäonnistui, koska tiedostonimi ei ole sama.',
+'undelete-bad-store-key'       => 'Tiedoston version, jonka aikaleima on $1 palauttaminen epäonnistui, koska tiedostoa ei ollut ennen poistoa.',
+'undelete-cleanup-error'       => 'Käyttämättömän arkistotiedoston $1 poistaminen epäonnistui.',
+'undelete-missing-filearchive' => 'Tiedostoarkiston tunnuksen $1 hakeminen epäonnistui. Tiedosto on saatettu jo palauttaa.',
+'undelete-error-short'         => 'Tiedoston $1 palauttaminen epäonnistui',
+'undelete-error-long'          => 'Tiedoston palauttaminen epäonnistui:
+
+$1',
 
 # Namespace form on various pages
-'namespace' => 'Nimiavaruus:',
-'invert'    => 'Käännä nimiavaruusvalinta päinvastaiseksi',
+'namespace'      => 'Nimiavaruus',
+'invert'         => 'Käännä nimiavaruusvalinta päinvastaiseksi',
+'blanknamespace' => '(sivut)',
 
 # Contributions
 'contributions' => 'Käyttäjän muokkaukset',
-'mycontris'     => 'Muokkaukset',
-'contribsub'    => 'Käyttäjän $1 muokkaukset',
+'mycontris'     => 'Omat muokkaukset',
+'contribsub2'   => 'Käyttäjän $1 ($2) muokkaukset',
 'nocontribs'    => 'Näihin ehtoihin sopivia muokkauksia ei löytynyt.',
 'ucnote'        => "Alla on '''$1''' viimeisintä tämän käyttäjän tekemää muokkausta viimeisten '''$2''' päivän aikana.",
 'uclinks'       => 'Katso $1 viimeisintä muokkausta; katso $2 viimeisintä päivää.',
 'uctop'         => ' (uusin)',
-'newbies'       => 'tulokkaat',
+'month'         => 'Kuukausi',
+'year'          => 'Vuosi',
 
 'sp-contributions-newest'      => 'Uusimmat',
 'sp-contributions-oldest'      => 'Vanhimmat',
 'sp-contributions-newer'       => '← $1 uudempaa',
 'sp-contributions-older'       => '$1 vanhempaa →',
+'sp-contributions-newbies'     => 'Näytä uusien tulokkaiden muutokset',
 'sp-contributions-newbies-sub' => 'Uusien tulokkaiden muokkaukset',
 'sp-contributions-blocklog'    => 'estot',
+'sp-contributions-search'      => 'Etsi muokkauksia',
+'sp-contributions-username'    => 'IP-osoite tai käyttäjätunnus',
+'sp-contributions-submit'      => 'Hae',
 
 'sp-newimages-showfrom' => 'Näytä uudet kuvat alkaen $1',
 
 # What links here
-'whatlinkshere' => 'Tänne viittaavat sivut',
-'notargettitle' => 'Ei kohdetta',
-'notargettext'  => 'Et ole määritellyt kohdesivua tai -käyttäjää johon toiminto kohdistuu.',
-'linklistsub'   => 'Lista linkeistä',
-'linkshere'     => 'Seuraavilta sivuilta on linkki sivulle <b>[[:$1]]</b>:',
-'nolinkshere'   => 'Sivulle <b>[[:$1]]</b> ei ole linkkejä.',
-'isredirect'    => 'uudelleenohjaussivu',
-'istemplate'    => 'sisällytetty mallineeseen',
+'whatlinkshere'       => 'Tänne viittaavat sivut',
+'whatlinkshere-title' => 'Sivut, jotka viittaavat sivulle $1',
+'notargettitle'       => 'Ei kohdetta',
+'notargettext'        => 'Et ole määritellyt kohdesivua tai -käyttäjää johon toiminto kohdistuu.',
+'linklistsub'         => 'Lista linkeistä',
+'linkshere'           => 'Seuraavilta sivuilta on linkki sivulle <strong>[[:$1]]</strong>:',
+'nolinkshere'         => 'Sivulle <strong>[[:$1]]</strong> ei ole linkkejä.',
+'nolinkshere-ns'      => 'Sivulle <strong>[[:$1]]</strong> ei ole linkkejä valitussa nimiavaruudessa.',
+'isredirect'          => 'uudelleenohjaussivu',
+'istemplate'          => 'sisällytetty mallineeseen',
+'whatlinkshere-prev'  => '← {{PLURAL:$1|edellinen sivu|$1 edellistä sivua}}',
+'whatlinkshere-next'  => '{{PLURAL:$1|seuraava sivu|$1 seuraavaa sivua}} →',
+'whatlinkshere-links' => 'viittaukset',
 
 # Block/unblock
 'blockip'                     => 'Aseta muokkausesto',
-'blockiptext'                 => 'Tällä lomakkeella voit estää käyttäjän tai IP-osoitteen muokkausoikeudet. Muokkausoikeuksien poistamiseen pitää olla syy, esimerkiksi sivujen vandalisointi. Kirjoita syy siihen varattuun kenttään.<br />Vanhenemisajat noudattavat GNUn standardimuotoa, joka on kuvattu tar-manuaalissa ([http://www.gnu.org/software/tar/manual/html_chapter/tar_7.html] [EN]), esimerkiksi ”1 hour”, ”2 days”, ”next Wednesday”, 2005-08-29”. Esto voi olla myös ”indefinite” tai ”infinite”, joka kestää kunnes se poistetaan.',
+'blockiptext'                 => 'Tällä lomakkeella voit estää käyttäjän tai IP-osoitteen muokkausoikeudet. Muokkausoikeuksien poistamiseen pitää olla syy, esimerkiksi sivujen vandalisointi. Kirjoita syy siihen varattuun kenttään.<br />Vapaamuotoisen vanhenemisajat noudattavat GNUn standardimuotoa, joka on kuvattu tar-manuaalissa ([http://www.gnu.org/software/tar/manual/html_node/Date-input-formats.html] [EN]), esimerkiksi ”1 hour”, ”2 days”, ”next Wednesday”, 2005-08-29”.',
 'ipaddress'                   => 'IP-osoite',
 'ipadressorusername'          => 'IP-osoite tai käyttäjätunnus',
-'ipbexpiry'                   => 'Umpeutuu',
+'ipbexpiry'                   => 'Kesto',
 'ipbreason'                   => 'Syy',
+'ipbreasonotherlist'          => 'Muu syy',
+'ipbreason-dropdown'          => '
+*Yleiset estosyyt
+** Väärän tiedon lisääminen
+** Sisällön poistaminen
+** Mainoslinkkien lisääminen
+** Sotkeminen tai roskan lisääminen
+** Häiriköinti
+** Useamman käyttäjätunnuksen väärinkäyttö
+** Sopimaton käyttäjätunnus',
 'ipbanononly'                 => 'Estä vain kirjautumattomat käyttäjät',
 'ipbcreateaccount'            => 'Estä tunnusten luonti',
+'ipbemailban'                 => 'Estä käyttäjää lähettämästä sähköpostia',
 'ipbenableautoblock'          => 'Estä viimeisin IP-osoite, josta käyttäjä on muokannut, sekä ne osoitteet, joista hän jatkossa yrittää muokata.',
 'ipbsubmit'                   => 'Estä',
 'ipbother'                    => 'Vapaamuotoinen kesto',
-'ipboptions'                  => '2 tuntia:2 hours,1 päivä:1 day,3 päivää:3 days,1 viikko:1 week,2 viikkoa:2 weeks,1 kuukausi:1 month,3 kuukautta:3 months,6 kuukautta:6 months,1 vuosi:1 year,ikuisesti:infinite',
+'ipboptions'                  => '2 tuntia:2 hours,1 päivä:1 day,3 päivää:3 days,1 viikko:1 week,2 viikkoa:2 weeks,1 kuukausi:1 month,3 kuukautta:3 months,6 kuukautta:6 months,1 vuosi:1 year,ikuinen:infinite',
 'ipbotheroption'              => 'Muu kesto',
+'ipbotherreason'              => 'Muu syy',
+'ipbhidename'                 => 'Piilota IP-osoite tai tunnus estolokista, muokkausestolistasta ja käyttäjälistasta',
 'badipaddress'                => 'IP-osoite on väärin muotoiltu.',
 'blockipsuccesssub'           => 'Esto onnistui',
 'blockipsuccesstext'          => "Käyttäjä tai IP-osoite '''$1''' on estetty.<br />Nykyiset estot löytyvät [[Special:Ipblocklist|estolistalta]].",
+'ipb-edit-dropdown'           => 'Muokkaa syitä',
 'ipb-unblock-addr'            => 'Poista käyttäjän $1 esto',
 'ipb-unblock'                 => 'Poista käyttäjän tai IP-osoitteen muokkausesto',
 'ipb-blocklist-addr'          => 'Näytä käyttäjän $1 estot',
@@ -1337,25 +1500,32 @@ Palaute ja lisäapu osoitteessa:
 'unblockiptext'               => 'Tällä lomakkeella voit poistaa käyttäjän tai IP-osoitteen muokkauseston.',
 'ipusubmit'                   => 'Poista esto',
 'unblocked'                   => 'Käyttäjän [[User:$1|$1]] esto on poistettu',
-'ipblocklist'                 => 'Lista estetyistä IP-osoitteista',
+'unblocked-id'                => 'Esto $1 on poistettu',
+'ipblocklist'                 => 'Estot',
+'ipblocklist-legend'          => 'Haku',
+'ipblocklist-username'        => 'Käyttäjätunnus tai IP-osoite',
+'ipblocklist-submit'          => 'Hae',
 'blocklistline'               => '$1 — $2 on estänyt käyttäjän $3 ($4)',
 'infiniteblock'               => 'ikuisesti',
 'expiringblock'               => 'vanhenee $1',
 'anononlyblock'               => 'vain kirjautumattomat',
 'noautoblockblock'            => 'ei automaattista IP-osoitteiden estoa',
 'createaccountblock'          => 'tunnusten luonti estetty',
-'ipblocklistempty'            => 'Estolista on tyhjä.',
+'emailblock'                  => 'sähköpostin lähettäminen estetty',
+'ipblocklist-empty'           => 'Estolista on tyhjä.',
+'ipblocklist-no-results'      => 'Pyydettyä IP-osoitetta tai käyttäjätunnusta ei ole estetty.',
 'blocklink'                   => 'estä',
 'unblocklink'                 => 'poista esto',
 'contribslink'                => 'muokkaukset',
 'autoblocker'                 => 'Olet automaattisesti estetty, koska jaat IP-osoitteen käyttäjän $1 kanssa. Eston syy: $2.',
 'blocklogpage'                => 'Estoloki',
-'blocklogentry'               => 'esti käyttäjän tai IP-osoitteen $1. Eston kesto $2 ($3)',
+'blocklogentry'               => 'esti käyttäjän tai IP-osoitteen $1. Eston kesto $2 $3',
 'blocklogtext'                => 'Tässä on loki muokkausestoista ja niiden purkamisista. Automaattisesti estettyjä IP-osoitteita ei kirjata. Tutustu [[Special:Ipblocklist|estolistaan]] nähdäksesi listan tällä hetkellä voimassa olevista estoista.',
 'unblocklogentry'             => 'poisti käyttäjältä $1 muokkauseston',
 'block-log-flags-anononly'    => 'vain kirjautumattomat käyttäjät',
 'block-log-flags-nocreate'    => 'tunnusten luonti estetty',
-'block-log-flags-autoblock'   => 'automaattinen IP-osoitteiden esto',
+'block-log-flags-noautoblock' => 'ei automaattista IP-osoitteiden estoa',
+'block-log-flags-noemail'     => 'sähköpostin lähettäminen estetty',
 'range_block_disabled'        => 'Ylläpitäjän oikeus luoda alue-estoja ei ole käytössä.',
 'ipb_expiry_invalid'          => 'Virheellinen umpeutumisaika.',
 'ipb_already_blocked'         => '”$1” on jo estetty.',
@@ -1364,9 +1534,8 @@ Palaute ja lisäapu osoitteessa:
 'ipb_cant_unblock'            => 'Estoa ”$1” ei löytynyt. Se on saatettu poistaa.',
 'proxyblockreason'            => 'IP-osoitteestasi on estetty muokkaukset, koska se on avoin välityspalvelin. Ota yhteyttä Internet-palveluntarjoajaasi tai tekniseen tukeen ja kerro heillä tästä tietoturvaongelmasta.',
 'proxyblocksuccess'           => 'Valmis.',
-'sorbs'                       => 'SORBS-DNSBL',
-'sorbsreason'                 => 'IP-osoitteesti on listattu avoimena välityspalvelimena [http://www.sorbs.net SORBSin] mustalla listalla.',
-'sorbs_create_account_reason' => 'IP-osoitteesi on listattu avoimena välityspalvelimena [http://www.sorbs.net SORBSin] mustalla listalla. Et voi luoda käyttäjätunnusta.',
+'sorbsreason'                 => 'IP-osoitteesi on listattu avoimena välityspalvelimena DNSBLin mustalla listalla.',
+'sorbs_create_account_reason' => 'IP-osoitteesi on listattu avoimena välityspalvelimena DNSBLin mustalla listalla. Et voi luoda käyttäjätunnusta.',
 
 # Developer tools
 'lockdb'              => 'Lukitse tietokanta',
@@ -1397,11 +1566,12 @@ Näissä tapauksissa sivut täytyy siirtää tai yhdistää käsin.",
 'movearticle'             => 'Siirrä sivu',
 'movenologin'             => 'Et ole kirjautunut sisään',
 'movenologintext'         => 'Sinun pitää olla rekisteröitynyt käyttäjä ja kirjautua sisään, jotta voisit siirtää sivun.',
+'movenotallowed'          => 'Sinulla ei ole oikeuksia siirtää sivuja {{GRAMMAR:genitive|{{SITENAME}}}}.',
 'newtitle'                => 'Uusi nimi sivulle',
 'move-watch'              => 'Tarkkaile tätä sivua',
 'movepagebtn'             => 'Siirrä sivu',
 'pagemovedsub'            => 'Siirto onnistui',
-'pagemovedtext'           => "Sivu '''[[$1]]''' siirrettiin nimelle '''[[$2]]'''.",
+'movepage-moved'          => "Sivu '''$1''' siirrettiin nimelle '''$2'''.", # The two titles are passed in plain text as $3 and $4 to allow additional goodies in the message.
 'articleexists'           => 'Kohdesivu on jo olemassa, tai valittu nimi ei ole sopiva. Ole hyvä ja valitse uusi nimi.',
 'talkexists'              => 'Sivun siirto onnistui, mutta keskustelusivua ei voitu siirtää, koska uuden otsikon alla on jo keskustelusivu. Keskustelusivujen sisältö täytyy yhdistää käsin.',
 'movedto'                 => 'Siirretty uudelle otsikolle',
@@ -1411,7 +1581,7 @@ Näissä tapauksissa sivut täytyy siirtää tai yhdistää käsin.",
 '1movedto2'               => 'siirsi sivun ”$1” uudelle nimelle ”$2”',
 '1movedto2_redir'         => 'siirsi sivun ”$1” uudelleenohjauksen ”$2” päälle',
 'movelogpage'             => 'Siirtoloki',
-'movelogpagetext'         => 'Anna on loki siirretyistä sivuista.',
+'movelogpagetext'         => 'Tämä on loki siirretyistä sivuista.',
 'movereason'              => 'Syy',
 'revertmove'              => 'kumoa',
 'delete_and_move'         => 'Poista kohdesivu ja siirrä',
@@ -1422,12 +1592,15 @@ Näissä tapauksissa sivut täytyy siirtää tai yhdistää käsin.",
 'immobile_namespace'      => 'Sivuja ei voi siirtää tähän nimiavaruuteen.',
 
 # Export
-'export'          => 'Sivujen vienti',
-'exporttext'      => 'Voit viedä sivun tai sivujen tekstiä ja muokkaushistoriaa XML-muodossa. Tämä tieto voidaan tuoda johonkin toiseen wikiin, jossa käytetään MediaWiki-ohjelmistoa.<br />Syötä sivujen otsikoita riveittäin alla olevaan laatikkoon. Valitse myös, haluatko kaikki versiot sivuista, vai ainoastaan nykyisen version.<br />Jälkimmäisessä tapauksessa voit myös käyttää linkkiä. Esimerkiksi sivun {{Mediawiki:mainpage}} saa vietyä linkistä [[{{ns:Special}}:Export/{{Mediawiki:mainpage}}]].',
-'exportcuronly'   => 'Liitä mukaan ainoastaan uusin versio, ei koko historiaa.',
-'exportnohistory' => '----
+'export'            => 'Sivujen vienti',
+'exporttext'        => 'Voit viedä sivun tai sivujen tekstiä ja muokkaushistoriaa XML-muodossa. Tämä tieto voidaan tuoda johonkin toiseen wikiin, jossa käytetään MediaWiki-ohjelmistoa.<br />Syötä sivujen otsikoita riveittäin alla olevaan laatikkoon. Valitse myös, haluatko kaikki versiot sivuista, vai ainoastaan nykyisen version.<br />Jälkimmäisessä tapauksessa voit myös käyttää linkkiä. Esimerkiksi sivun {{Mediawiki:mainpage}} saa vietyä linkistä [[{{ns:Special}}:Export/{{Mediawiki:mainpage}}]].',
+'exportcuronly'     => 'Liitä mukaan ainoastaan uusin versio – ei koko historiaa.',
+'exportnohistory'   => '----
 Sivujen koko historian vienti on estetty suorituskykysyistä.',
-'export-submit'   => 'Vie',
+'export-submit'     => 'Vie',
+'export-addcattext' => 'Lisää sivut luokasta',
+'export-addcat'     => 'Lisää',
+'export-download'   => 'Tallenna tiedostona',
 
 # Namespace 8 related
 'allmessages'               => 'Järjestelmäviestit',
@@ -1435,16 +1608,19 @@ Sivujen koko historian vienti on estetty suorituskykysyistä.',
 'allmessagesdefault'        => 'Oletusarvo',
 'allmessagescurrent'        => 'Nykyinen arvo',
 'allmessagestext'           => 'Tämä on luettelo kaikista MediaWiki-nimiavaruudessa olevista viesteistä.',
-'allmessagesnotsupportedUI' => 'Tämä sivu ei tue käyttöliittymäkieltäsi <b>$1</b> tässä MediaWikissä.',
 'allmessagesnotsupportedDB' => 'Tämä sivu ei ole käytössä, koska <tt>$wgUseDatabaseMessages</tt>-asetus on pois päältä.',
 'allmessagesfilter'         => 'Viestiavainsuodatin:',
 'allmessagesmodified'       => 'Näytä vain muutetut',
 
 # Thumbnails
-'thumbnail-more'  => 'Suurenna',
-'missingimage'    => '<b>Puuttuva kuva</b><br /><i>$1</i>',
-'filemissing'     => 'Tiedosto puuttuu',
-'thumbnail_error' => 'Pienoiskuvan luominen epäonnistui: $1',
+'thumbnail-more'           => 'Suurenna',
+'missingimage'             => '<b>Puuttuva kuva</b><br /><i>$1</i>',
+'filemissing'              => 'Tiedosto puuttuu',
+'thumbnail_error'          => 'Pienoiskuvan luominen epäonnistui: $1',
+'djvu_page_error'          => 'DjVu-tiedostossa ei ole pyydettyä sivua',
+'djvu_no_xml'              => 'DjVu-tiedoston XML-vienti epäonnistui',
+'thumbnail_invalid_params' => 'Virheelliset parametrit pienoiskuvalle',
+'thumbnail_dest_directory' => 'Kohdehakemiston luominen ei onnistunut',
 
 # Special:Import
 'import'                     => 'Tuo sivuja',
@@ -1476,9 +1652,6 @@ Sivujen koko historian vienti on estetty suorituskykysyistä.',
 'import-logentry-interwiki'        => 'toi toisesta wikistä sivun ”$1”',
 'import-logentry-interwiki-detail' => '$1 versio(ta) sivusta $2',
 
-# Keyboard access keys for power users
-'accesskey-ca-nstab-project' => 'c',
-
 # Tooltip help for the actions
 'tooltip-pt-userpage'             => 'Oma käyttäjäsivu',
 'tooltip-pt-anonuserpage'         => 'IP-osoitteesi käyttäjäsivu',
@@ -1510,14 +1683,16 @@ Sivujen koko historian vienti on estetty suorituskykysyistä.',
 'tooltip-n-randompage'            => 'Avaa satunnainen sivu',
 'tooltip-n-help'                  => 'Ohjeita',
 'tooltip-n-sitesupport'           => 'Tue sivuston toimintaa',
-'tooltip-t-whatlinkshere'         => 'Lista sivuista, jotka viittavat tänne',
+'tooltip-t-whatlinkshere'         => 'Lista sivuista, jotka viittaavat tänne',
 'tooltip-t-recentchangeslinked'   => 'Viimeisimmät muokkaukset sivuissa, joille viitataan tältä sivulta',
 'tooltip-feed-rss'                => 'RSS-syöte tälle sivulle',
 'tooltip-feed-atom'               => 'Atom-syöte tälle sivulle',
 'tooltip-t-contributions'         => 'Näytä lista tämän käyttäjän muokkauksista',
 'tooltip-t-emailuser'             => 'Lähetä sähköpostia tälle käyttäjälle',
-'tooltip-t-upload'                => 'Lisää kuvia tai muita mediatiedostoja',
+'tooltip-t-upload'                => 'Tallenna kuvia tai muita mediatiedostoja',
 'tooltip-t-specialpages'          => 'Näytä toimintosivut',
+'tooltip-t-print'                 => 'Tulostettava versio',
+'tooltip-t-permalink'             => 'Ikilinkki sivun tähän versioon',
 'tooltip-ca-nstab-main'           => 'Näytä sisältösivu',
 'tooltip-ca-nstab-user'           => 'Näytä käyttäjäsivu',
 'tooltip-ca-nstab-media'          => 'Näytä mediasivu',
@@ -1535,14 +1710,14 @@ Sivujen koko historian vienti on estetty suorituskykysyistä.',
 'tooltip-compareselectedversions' => 'Vertaile valittuja versioita',
 'tooltip-watch'                   => 'Lisää tämä sivu tarkkailulistaan',
 'tooltip-recreate'                => 'Luo sivu uudelleen',
+'tooltip-upload'                  => 'Aloita tallennus',
 
 # Stylesheets
 'common.css'   => '/* Tämä sivu sisältää koko sivustoa muuttavia tyylejä. */',
 'monobook.css' => '/* Tämä sivu sisältää Monobook-ulkoasua muuttavia tyylejä. */',
 
 # Scripts
-'common.js'   => '/* Tämän sivun koodi liitetään jokaiseen sivulataukseen */',
-'monobook.js' => '/* Deprecated; use [[MediaWiki:common.js]] */',
+'common.js' => '/* Tämän sivun koodi liitetään jokaiseen sivulataukseen */',
 
 # Metadata
 'nodublincore'      => 'Dublin Core RDF-metatieto on poissa käytöstä tällä palvelimella.',
@@ -1567,10 +1742,10 @@ Sivujen koko historian vienti on estetty suorituskykysyistä.',
 'subcategorycount'       => 'Tällä luokalla on {{PLURAL:$1|yksi alaluokka|$1 alaluokkaa}}.',
 'categoryarticlecount'   => 'Tässä luokassa on {{PLURAL:$1|yksi sivu|$1 sivua}}.',
 'category-media-count'   => 'Tässä luokassa on {{PLURAL:$1|yksi tiedosto|$1 tiedostoa}}.',
-'listingcontinuesabbrev' => ' jatkuu',
+'listingcontinuesabbrev' => 'jatkuu',
 'spambot_username'       => 'MediaWikin mainospoistaja',
 'spam_reverting'         => 'Palautettu viimeisimpään versioon, joka ei sisällä linkkejä kohteeseen $1.',
-'spam_blanking'          => 'Kaikki versiot sisälsivät linkkejä kohteeseen $1. Sivu tyhjennety.',
+'spam_blanking'          => 'Kaikki versiot sisälsivät linkkejä kohteeseen $1. Sivu tyhjennetty.',
 
 # Info page
 'infosubtitle'   => 'Tietoja sivusta',
@@ -1603,39 +1778,47 @@ Sivujen koko historian vienti on estetty suorituskykysyistä.',
 'patrol-log-page' => 'Muutostentarkastusloki',
 'patrol-log-line' => 'merkitsi sivun $2 muutoksen $1 tarkastetuksi $3',
 'patrol-log-auto' => '(automaattinen)',
-'patrol-log-diff' => 'r$1',
 
 # Image deletion
-'deletedrevision' => 'Poistettiin vanha versio $1.',
+'deletedrevision'                 => 'Poistettiin vanha versio $1',
+'filedeleteerror-short'           => 'Tiedoston $1 poistaminen epäonnistui',
+'filedeleteerror-long'            => 'Tiedoston poistaminen epäonnistui:
+
+$1',
+'filedelete-missing'              => 'Tiedosto $1 ei voitu poistaa, koska sitä ei ole olemassa.',
+'filedelete-old-unregistered'     => 'Tiedoston version $1 ei ole tietokannassa.',
+'filedelete-current-unregistered' => 'Tiedosto $1 ei ole tietokannassa.',
+'filedelete-archive-read-only'    => 'Arkistohakemistoon ”$1” kirjoittaminen epäonnistui.',
 
 # Browsing diffs
 'previousdiff' => '← Edellinen muutos',
 'nextdiff'     => 'Seuraava muutos →',
 
-'imagemaxsize' => 'Rajoita kuvien koko kuvien kuvaussivuilla arvoon:',
-'thumbsize'    => 'Pikkukuvien koko:',
-'showbigimage' => 'Lataa korkeatarkkuuksinen versio ($1×$2, $3 KiB)',
-
+# Media information
+'mediawarning'         => "'''Varoitus''': Tämä tiedosto saattaa sisältää vahingollista koodia, ja suorittamalla sen järjestelmäsi voi muuttua epäluotettavaksi.<hr />",
+'imagemaxsize'         => 'Kuvien enimmäiskoko kuvaussivuilla',
+'thumbsize'            => 'Pikkukuvien koko',
+'widthheightpage'      => '$1×$2, $3 sivua',
+'file-info'            => '$1, MIME-tyyppi: $2',
+'file-info-size'       => '($1×$2 px, $3, MIME-tyyppi: $4)',
+'file-nohires'         => '<small>Tarkempaa kuvaa ei ole saatavilla.</small>',
+'svg-long-desc'        => '(SVG-tiedosto; oletustarkkuus $1×$2 kuvapistettä; tiedostokoko $3)',
+'show-big-image'       => 'Korkeatarkkuuksinen versio',
+'show-big-image-thumb' => '<small>Esikatselun koko: $1×$2 px</small>',
+
+# Special:Newimages
 'newimages'    => 'Uudet kuvat',
 'showhidebots' => '($1 botit)',
 'noimages'     => 'Ei uusia kuvia.',
 
-# Labels for User: and Title: on Special:Log pages
-'specialloguserlabel'  => 'Käyttäjä:',
-'speciallogtitlelabel' => 'Kohde:',
-
-'passwordtooshort' => 'Salasanasi on liian lyhyt. Salasanan pitää olla vähintään $1 merkkiä pitkä.',
-
-# Media Warning
-'mediawarning' => "'''Varoitus''': Tämä tiedosto saattaa sisältää vahingollista koodia, ja suorittamalla sen järjestelmäsi voi muuttua epäluotettavaksi.<hr />",
+# Bad image list
+'bad_image_list' => 'Listan muoto on seuraava:
 
-'fileinfo' => '$1 KiB, MIME-tyyppi: <code>$2</code>',
+Vain *-merkillä alkavat rivit otetaan huomioon. Ensimmäisen linkin on osoitettava arveluttavaan kuvaan. Kaikki muut linkit ovat poikkeuksia eli toisin sanoen sivuja, joissa kuvaa saa käyttää.',
 
 # Metadata
 'metadata'          => 'Sisältökuvaukset',
-'metadata-help'     => 'Tämä tiedosto sisältää esimerkiksi kuvanlukijan, digikameran tai kuvankäsittelyohjelman lisäämiä lisätietoja. Kaikki tiedot eivät enää välttämättä vastaa todellisuutta, jos kuvaa on muokattu sen alkuperäisen luonnin jälkeen.
-
-This file contains additional information, probably added from the digital camera or scanner used to create or digitize it. If the file has been modified from its original state, some details may not fully reflect the modified image.',
+'metadata-help'     => 'Tämä tiedosto sisältää esimerkiksi kuvanlukijan, digikameran tai kuvankäsittelyohjelman lisäämiä lisätietoja. Kaikki tiedot eivät enää välttämättä vastaa todellisuutta, jos kuvaa on muokattu sen alkuperäisen luonnin jälkeen.',
 'metadata-expand'   => 'Näytä kaikki sisältökuvaukset',
 'metadata-collapse' => 'Näytä vain tärkeimmät sisältökuvaukset',
 'metadata-fields'   => 'Seuraavat kentät ovat esillä kuvasivulla, kun sisältötietotaulukko on pienennettynä.
@@ -1695,7 +1878,6 @@ This file contains additional information, probably added from the digital camer
 'exif-exposuretime'                => 'Valotusaika',
 'exif-exposuretime-format'         => '$1 s ($2)',
 'exif-fnumber'                     => 'Aukkosuhde',
-'exif-fnumber-format'              => 'f/$1',
 'exif-exposureprogram'             => 'Valotusohjelma',
 'exif-spectralsensitivity'         => 'Värikirjoherkkyys',
 'exif-isospeedratings'             => 'Herkkyys (ISO)',
@@ -1710,7 +1892,6 @@ This file contains additional information, probably added from the digital camer
 'exif-lightsource'                 => 'Valolähde',
 'exif-flash'                       => 'Salama',
 'exif-focallength'                 => 'Linssin polttoväli',
-'exif-focallength-format'          => '$1 mm',
 'exif-subjectarea'                 => 'Kohteen ala',
 'exif-flashenergy'                 => 'Salaman teho',
 'exif-spatialfrequencyresponse'    => 'Tilataajuusvaste',
@@ -1770,10 +1951,6 @@ This file contains additional information, probably added from the digital camer
 
 # EXIF attributes
 'exif-compression-1' => 'Pakkaamaton',
-'exif-compression-6' => 'JPEG',
-
-'exif-photometricinterpretation-2' => 'RGB',
-'exif-photometricinterpretation-6' => 'YCbCr',
 
 'exif-unknowndate' => 'Tuntematon päiväys',
 
@@ -1786,22 +1963,7 @@ This file contains additional information, probably added from the digital camer
 'exif-orientation-7' => 'Käännetty 90° myötäpäivään ja pystysuunnassa', # 0th row: right; 0th column: bottom
 'exif-orientation-8' => 'Käännetty 90° vastapäivään', # 0th row: left; 0th column: bottom
 
-'exif-planarconfiguration-1' => 'chunky format',
-'exif-planarconfiguration-2' => 'planar format',
-
-'exif-xyresolution-i' => '$1 dpi',
-'exif-xyresolution-c' => '$1 dpc',
-
-'exif-colorspace-1'      => 'sRGB',
-'exif-colorspace-ffff.h' => 'FFFF.H',
-
 'exif-componentsconfiguration-0' => 'ei ole',
-'exif-componentsconfiguration-1' => 'Y',
-'exif-componentsconfiguration-2' => 'Cb',
-'exif-componentsconfiguration-3' => 'Cr',
-'exif-componentsconfiguration-4' => 'R',
-'exif-componentsconfiguration-5' => 'G',
-'exif-componentsconfiguration-6' => 'B',
 
 'exif-exposureprogram-0' => 'Ei määritelty',
 'exif-exposureprogram-1' => 'Käsinsäädetty',
@@ -1839,10 +2001,6 @@ This file contains additional information, probably added from the digital camer
 'exif-lightsource-17'  => 'Oletusvalo A',
 'exif-lightsource-18'  => 'Oletusvalo B',
 'exif-lightsource-19'  => 'Oletusvalo C',
-'exif-lightsource-20'  => 'D55',
-'exif-lightsource-21'  => 'D65',
-'exif-lightsource-22'  => 'D75',
-'exif-lightsource-23'  => 'D50',
 'exif-lightsource-24'  => 'ISO-studiohehkulamppu',
 'exif-lightsource-255' => 'Muu valonlähde',
 
@@ -1856,8 +2014,6 @@ This file contains additional information, probably added from the digital camer
 'exif-sensingmethod-7' => 'Trilineaarikenno',
 'exif-sensingmethod-8' => 'Sarjalineaarivärikenno',
 
-'exif-filesource-3' => 'DSC',
-
 'exif-scenetype-1' => 'Suoraan valokuvattu kuva',
 
 'exif-customrendered-0' => 'Normaali käsittely',
@@ -1876,7 +2032,7 @@ This file contains additional information, probably added from the digital camer
 'exif-scenecapturetype-3' => 'Yökuva',
 
 'exif-gaincontrol-0' => 'Ei ole',
-'exif-gaincontrol-1' => 'Matala ylävahvisus',
+'exif-gaincontrol-1' => 'Matala ylävahvistus',
 'exif-gaincontrol-2' => 'Korkea ylävahvistus',
 'exif-gaincontrol-3' => 'Matala alavahvistus',
 'exif-gaincontrol-4' => 'Korkea alavahvistus',
@@ -1928,9 +2084,9 @@ This file contains additional information, probably added from the digital camer
 # 'all' in various places, this might be different for inflected languages
 'recentchangesall' => 'kaikki',
 'imagelistall'     => 'kaikki',
-'watchlistall1'    => 'kaikkia',
 'watchlistall2'    => ', koko historia',
 'namespacesall'    => 'kaikki',
+'monthsall'        => 'kaikki',
 
 # E-mail address confirmation
 'confirmemail'            => 'Varmenna sähköpostiosoite',
@@ -1947,21 +2103,16 @@ Postitusohjelma palautti: $1',
 'confirmemail_needlogin'  => 'Sinun täytyy $1, jotta voisit varmistaa sähköpostiosoitteesi.',
 'confirmemail_success'    => 'Sähköpostiosoitteesi on nyt varmennettu. Voit kirjautua sisään.',
 'confirmemail_loggedin'   => 'Sähköpostiosoitteesi on nyt varmennettu.',
-'confirmemail_error'      => 'Jokin epäonnistui varmennnuksen tallentamisessa.',
+'confirmemail_error'      => 'Jokin epäonnistui varmennuksen tallentamisessa.',
 'confirmemail_subject'    => '{{GRAMMAR:genitive|{{SITENAME}}}} sähköpostiosoitteen varmennus',
 'confirmemail_body'       => 'Joku IP-osoitteesta $1 on rekisteröinyt {{GRAMMAR:inessive|{{SITENAME}}}} tunnuksen $2 tällä sähköpostiosoitteella.
 
-Varmenna, että tämä tunnus kuuluu sinulle avamaalla seuraava linkki selaimellasi:
+Varmenna, että tämä tunnus kuuluu sinulle avaamalla seuraava linkki selaimellasi:
 
 $3
 
 Jos tämä tunnus ei ole sinun, ÄLÄ seuraa linkkiä. Varmennuskoodi vanhenee $4.',
 
-# Inputbox extension, may be useful in other contexts as well
-'tryexact'       => 'Koita tarkkaa osumaa',
-'searchfulltext' => 'Etsi koko tekstiä',
-'createarticle'  => 'Luo sivu',
-
 # Scary transclusion
 'scarytranscludedisabled' => '[Wikienvälinen sisällytys ei ole käytössä]',
 'scarytranscludefailed'   => '[Mallineen hakeminen epäonnistui: $1]',
@@ -1970,7 +2121,6 @@ Jos tämä tunnus ei ole sinun, ÄLÄ seuraa linkkiä. Varmennuskoodi vanhenee $
 # Trackbacks
 'trackbackbox'      => '<div id="mw_trackbacks">Artikkelin trackbackit:<br />$1</div>',
 'trackbackremove'   => ' ([$1 poista])',
-'trackbacklink'     => 'Trackback',
 'trackbackdeleteok' => 'Trackback poistettiin.',
 
 # Delete conflict
@@ -1991,18 +2141,12 @@ Ole hyvä ja varmista, että haluat luoda sivun uudelleen.",
 $1',
 'confirm_purge_button' => 'Poista',
 
-'youhavenewmessagesmulti' => 'Sinulla on uusia viestejä sivuilla $1',
-
+# AJAX search
 'searchcontaining' => 'Etsi artikkeleita, jotka sisältävät ”$1”.',
 'searchnamed'      => 'Etsi artikkeleita, joiden nimi on ”$1”.',
 'articletitles'    => 'Artikkelit, jotka alkavat merkkijonolla ”$1”',
 'hideresults'      => 'Piilota tulokset',
 
-# DISPLAYTITLE
-'displaytitle' => '(Linkitä tämä sivu merkinnällä [[$1]])',
-
-'loginlanguagelabel' => 'Kieli: $1',
-
 # Multipage image navigation
 'imgmultipageprev'   => '← edellinen sivu',
 'imgmultipagenext'   => 'seuraava sivu →',
@@ -2024,11 +2168,10 @@ $1',
 # Auto-summaries
 'autosumm-blank'   => 'Ak: Sivu tyhjennettiin',
 'autosumm-replace' => 'Ak: Sivun sisältö korvattiin sisällöllä ”$1”',
-'autoredircomment' => 'Ak: Uudelleenohjaus sivulle [[$1]]', # This should be changed to the new naming convention, but existed beforehand
+'autoredircomment' => 'Ak: Uudelleenohjaus sivulle [[$1]]',
 'autosumm-new'     => 'Ak: Uusi sivu: $1',
 
 # Size units
-'size-bytes'     => '$1 B',
 'size-kilobytes' => '$1 KiB',
 'size-megabytes' => '$1 MiB',
 'size-gigabytes' => '$1 GiB',
@@ -2041,6 +2184,36 @@ Yritä normaalia esikatselua.',
 'livepreview-error'   => 'Yhdistäminen epäonnistui: $1 ”$2”
 Yritä normaalia esikatselua.',
 
-);
+# Friendlier slave lag warnings
+'lag-warn-normal' => 'Muutokset, jotka ovat uudempia kuin $1 sekuntia, eivät välttämättä näy tällä sivulla.',
+'lag-warn-high'   => 'Tietokannoilla on työjonoa. Muutokset, jotka ovat uudempia kuin $1 sekuntia, eivät välttämättä näy tällä sivulla.',
+
+# Watchlist editor
+'watchlistedit-numitems'       => 'Tarkkailulistallasi on {{PLURAL:$1|yksi sivu|$1 sivua}} keskustelusivuja lukuun ottamatta.',
+'watchlistedit-noitems'        => 'Tarkkailulistasi on tyhjä.',
+'watchlistedit-clear-title'    => 'Tarkkailulistan tyhjennys',
+'watchlistedit-clear-legend'   => 'Tyhjennä tarkkailulista',
+'watchlistedit-clear-confirm'  => 'Haluatko poistaa kaikki sivut tarkkailulistaltasi? Voit poistaa sivuja myös [[Special:Watchlist/edit|yksitellen]].',
+'watchlistedit-clear-submit'   => 'Tyhjennä',
+'watchlistedit-clear-done'     => 'Tarkkailulistasi on tyhjennetty.',
+'watchlistedit-normal-title'   => 'Tarkkailulistan muokkaus',
+'watchlistedit-normal-legend'  => 'Sivut',
+'watchlistedit-normal-explain' => 'Tarkkailulistasi sivut on lueteltu alla. Voit valita poistettavat sivut valitsemalla valintaruudun. Voit myös muokata listaa [[Special:Watchlist/raw|tekstimuodossa]] tai [[Special:Watchlist/clear|poistaa kaikki sivut]] tarkkailulistalta.',
+'watchlistedit-normal-submit'  => 'Poista',
+'watchlistedit-normal-done'    => '{{PLURAL:$1|Yksi sivu|$1 sivua}} poistettiin tarkkailulistaltasi:',
+'watchlistedit-raw-title'      => 'Tarkkailulistan muokkaus',
+'watchlistedit-raw-legend'     => 'Tarkkailulistan muokkaus',
+'watchlistedit-raw-explain'    => 'Tarkkailulistalla olevat sivut on lueteltu alla jokainen omalla rivillään.',
+'watchlistedit-raw-titles'     => 'Sivut',
+'watchlistedit-raw-submit'     => 'Päivitä tarkkailulista',
+'watchlistedit-raw-done'       => 'Tarkkailulistasi on päivitetty.',
+'watchlistedit-raw-added'      => '{{PLURAL:$1|Yksi sivu|$1 sivua}} lisättiin:',
+'watchlistedit-raw-removed'    => '{{PLURAL:$1|Yksi sivu|$1 sivua}} poistettiin:',
+
+# Watchlist editing tools
+'watchlisttools-view'  => 'Näytä muutokset',
+'watchlisttools-edit'  => 'Muokkaa listaa',
+'watchlisttools-raw'   => 'Lista raakamuodossa',
+'watchlisttools-clear' => 'Tyhjennä tarkkailulista',
 
-?>
+);