{
  "lighthouse-core/audits/accessibility/accesskeys.js | description": {
    "message": "Pääsyavaimien avulla käyttäjät voivat nopeasti kohdistaa tiettyyn sivun osaan. Jotta sivulla siirtyminen onnistuu, jokaisen pääsyavaimen on oltava yksilöllinen. [Lue lisää](https://web.dev/accesskeys/)."
  },
  "lighthouse-core/audits/accessibility/accesskeys.js | failureTitle": {
    "message": "`[accesskey]`-arvot eivät ole yksilöllisiä"
  },
  "lighthouse-core/audits/accessibility/accesskeys.js | title": {
    "message": "`[accesskey]`-arvot ovat yksilöllisiä."
  },
  "lighthouse-core/audits/accessibility/aria-allowed-attr.js | description": {
    "message": "Jokainen ARIA-`role` tukee tiettyä `aria-*`-määritteiden osaa. Vastaavuusjärjestyksen sekoittaminen mitätöi `aria-*`-määritteet. [Lue lisää](https://web.dev/aria-allowed-attr/)."
  },
  "lighthouse-core/audits/accessibility/aria-allowed-attr.js | failureTitle": {
    "message": "`[aria-*]`-määritteet eivät vastaa rooleja"
  },
  "lighthouse-core/audits/accessibility/aria-allowed-attr.js | title": {
    "message": "`[aria-*]`-määritteet vastaavat roolejaan"
  },
  "lighthouse-core/audits/accessibility/aria-hidden-body.js | description": {
    "message": "Näytönlukuohjelmat ja muut avustavat teknologiat toimivat arvaamattomasti, kun `aria-hidden=\"true\"` asetetaan dokumentin kohdassa `<body>`. [Lue lisää](https://web.dev/aria-hidden-body/)."
  },
  "lighthouse-core/audits/accessibility/aria-hidden-body.js | failureTitle": {
    "message": "`[aria-hidden=\"true\"]` on dokumentin kohdassa `<body>`"
  },
  "lighthouse-core/audits/accessibility/aria-hidden-body.js | title": {
    "message": "`[aria-hidden=\"true\"]` ei ole dokumentin kohdassa `<body>`"
  },
  "lighthouse-core/audits/accessibility/aria-hidden-focus.js | description": {
    "message": "Jos `[aria-hidden=\"true\"]`-elementillä on tarkennettavia alaosia, näytönlukuohjelmat ja muut avustavat teknologiat eivät löydä niitä. [Lue lisää](https://web.dev/aria-hidden-focus/)."
  },
  "lighthouse-core/audits/accessibility/aria-hidden-focus.js | failureTitle": {
    "message": "`[aria-hidden=\"true\"]`-elementeissä on tarkennettavia alaosia"
  },
  "lighthouse-core/audits/accessibility/aria-hidden-focus.js | title": {
    "message": "`[aria-hidden=\"true\"]`-elementeissä ei ole tarkennettavia alaosia"
  },
  "lighthouse-core/audits/accessibility/aria-input-field-name.js | description": {
    "message": "Jos syötekentän nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää](https://web.dev/aria-input-field-name/)."
  },
  "lighthouse-core/audits/accessibility/aria-input-field-name.js | failureTitle": {
    "message": "ARIA-syötekenttien nimet eivät ole esteettömiä"
  },
  "lighthouse-core/audits/accessibility/aria-input-field-name.js | title": {
    "message": "ARIA-syötekenttien nimet ovat esteettömiä"
  },
  "lighthouse-core/audits/accessibility/aria-required-attr.js | description": {
    "message": "Joillakin ARIA-rooleilla on pakollisia määritteitä, jotka kuvaavat elementin tilaa näytönlukuohjelmille. [Lue lisää](https://web.dev/aria-required-attr/)."
  },
  "lighthouse-core/audits/accessibility/aria-required-attr.js | failureTitle": {
    "message": "`[role]`-elementeissä ei ole kaikkia vaadittuja `[aria-*]`-määritteitä"
  },
  "lighthouse-core/audits/accessibility/aria-required-attr.js | title": {
    "message": "`[role]`-elementeissä on kaikki vaaditut `[aria-*]`-määritteet"
  },
  "lighthouse-core/audits/accessibility/aria-required-children.js | description": {
    "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot joidenkin alatason ARIA-roolien on kuuluttava tiettyihin ylätason rooleihin. [Lue lisää](https://web.dev/aria-required-children/)."
  },
  "lighthouse-core/audits/accessibility/aria-required-children.js | failureTitle": {
    "message": "ARIAn `[role]` sisältämät elementit edellyttävät alatasoilta tiettyä elementtiä (`[role]`), mutta se puuttuu osalta tai kaikilta alatasoilta."
  },
  "lighthouse-core/audits/accessibility/aria-required-children.js | title": {
    "message": "ARIAn `[role]` sisältämät elementit edellyttävät alatasoilta tiettyä elementtiä (`[role]`), joka on kaikilla alatasoilla."
  },
  "lighthouse-core/audits/accessibility/aria-required-parent.js | description": {
    "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot joidenkin alatason ARIA-roolien on kuuluttava tiettyihin ylätason rooleihin. [Lue lisää](https://web.dev/aria-required-parent/)."
  },
  "lighthouse-core/audits/accessibility/aria-required-parent.js | failureTitle": {
    "message": "`[role]`-elementit eivät sisälly niiden pakolliseen ylätason elementtiin"
  },
  "lighthouse-core/audits/accessibility/aria-required-parent.js | title": {
    "message": "`[role]`-elementit sisältyvät niiden pakolliseen ylätason elementtiin"
  },
  "lighthouse-core/audits/accessibility/aria-roles.js | description": {
    "message": "Voidakseen suorittaa esteettömyyteen liittyvät toiminnot ARIA-rooleilla on oltava kelvolliset arvot. [Lue lisää](https://web.dev/aria-roles/)."
  },
  "lighthouse-core/audits/accessibility/aria-roles.js | failureTitle": {
    "message": "`[role]`-arvot eivät ole kelvollisia"
  },
  "lighthouse-core/audits/accessibility/aria-roles.js | title": {
    "message": "`[role]`-arvot ovat kelvollisia"
  },
  "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | description": {
    "message": "Jos päälle/pois-kentän nimi ei ole esteetön, näytönlukuohjelmat sanovat sen kohdalla geneerisen nimen, jolloin näytönlukuohjelmien käyttäjät eivät voi käyttää sitä. [Lue lisää](https://web.dev/aria-toggle-field-name/)."
  },
  "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | failureTitle": {
    "message": "ARIAn päälle/pois-kenttien nimet eivät ole esteettömiä"
  },
  "lighthouse-core/audits/accessibility/aria-toggle-field-name.js | title": {
    "message": "ARIAn päälle/pois-kenttien nimet ovat esteettömiä"
  },
  "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | description": {
    "message": "Avustustekniikat (kuten näytönlukuohjelmat) eivät voi tulkita ARIA-määritteitä, joissa on virheelliset arvot. [Lue lisää](https://web.dev/aria-valid-attr-value/)."
  },
  "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | failureTitle": {
    "message": "`[aria-*]`-määritteiden arvot eivät ole kelvollisia"
  },
  "lighthouse-core/audits/accessibility/aria-valid-attr-value.js | title": {
    "message": "`[aria-*]`-määritteiden arvot ovat kelvollisia"
  },
  "lighthouse-core/audits/accessibility/aria-valid-attr.js | description": {
    "message": "Avustustekniikat (kuten näytönlukuohjelmat) eivät voi tulkita ARIA-määritteitä, joilla on virheelliset nimet. [Lue lisää](https://web.dev/aria-valid-attr/)."
  },
  "lighthouse-core/audits/accessibility/aria-valid-attr.js | failureTitle": {
    "message": "`[aria-*]`-määritteet eivät ole kelvollisia tai sisältävät kirjoitusvirheitä"
  },
  "lighthouse-core/audits/accessibility/aria-valid-attr.js | title": {
    "message": "`[aria-*]`-määritteet ovat kelvollisia eivätkä sisällä kirjoitusvirheitä"
  },
  "lighthouse-core/audits/accessibility/axe-audit.js | failingElementsHeader": {
    "message": "Hylätyt elementit"
  },
  "lighthouse-core/audits/accessibility/button-name.js | description": {
    "message": "Kun painikkeen nimi ei ole esteetön, näytönlukuohjelmat ilmoittavat sen painikkeeksi, jolloin se on hyödytön näytönlukuohjelmia tarvitseville käyttäjille. [Lue lisää](https://web.dev/button-name/)."
  },
  "lighthouse-core/audits/accessibility/button-name.js | failureTitle": {
    "message": "Painikkeiden nimet eivät ole esteettömiä"
  },
  "lighthouse-core/audits/accessibility/button-name.js | title": {
    "message": "Painikkeiden nimet ovat esteettömiä"
  },
  "lighthouse-core/audits/accessibility/bypass.js | description": {
    "message": "Tapojen lisääminen toistuvan sisällön ohittamiseen auttaa näppäimistön käyttäjiä siirtymään sivulla tehokkaammin. [Lue lisää](https://web.dev/bypass/)."
  },
  "lighthouse-core/audits/accessibility/bypass.js | failureTitle": {
    "message": "Sivu ei sisällä otsikkoa, ohituslinkkiä tai maamerkin aluetta"
  },
  "lighthouse-core/audits/accessibility/bypass.js | title": {
    "message": "Sivu sisältää otsikon, ohituslinkin tai maamerkin alueen"
  },
  "lighthouse-core/audits/accessibility/color-contrast.js | description": {
    "message": "Alhaisen kontrastin teksti on monelle vaikea tai mahdoton lukea. [Lue lisää](https://web.dev/color-contrast/)."
  },
  "lighthouse-core/audits/accessibility/color-contrast.js | failureTitle": {
    "message": "Taustan ja etualan värien kontrastisuhde ei ole riittävä."
  },
  "lighthouse-core/audits/accessibility/color-contrast.js | title": {
    "message": "Taustan ja etualan värien kontrastisuhde on riittävä"
  },
  "lighthouse-core/audits/accessibility/definition-list.js | description": {
    "message": "Kun määritelmäluetteloita ei ole merkitty kunnolla, näytönlukuohjelmien tuottama sisältö voi olla sekavaa tai epätarkkaa. [Lue lisää](https://web.dev/definition-list/)."
  },
  "lighthouse-core/audits/accessibility/definition-list.js | failureTitle": {
    "message": "`<dl>`-elementit eivät sisällä vain oikein järjestettyjä `<dt>`- ja `<dd>`-ryhmiä ja `<script>`-, `<template>`- tai `<div>`-elementtejä."
  },
  "lighthouse-core/audits/accessibility/definition-list.js | title": {
    "message": "`<dl>`-elementit sisältävät vain oikein järjestettyjä `<dt>`- ja `<dd>`-ryhmiä ja `<script>`-, `<template>` tai `<div>`-elementtejä"
  },
  "lighthouse-core/audits/accessibility/dlitem.js | description": {
    "message": "Määritelmien luettelokohdat (`<dt>` ja `<dd>`) on yhdistettävä ylätason `<dl>`-elementtiin, jotta näytönlukuohjelmat voivat varmasti lukea ne oikein. [Lue lisää](https://web.dev/dlitem/)."
  },
  "lighthouse-core/audits/accessibility/dlitem.js | failureTitle": {
    "message": "Määritelmien luettelokohtia ei ole yhdistetty `<dl>`-elementeillä"
  },
  "lighthouse-core/audits/accessibility/dlitem.js | title": {
    "message": "Määritelmien luettelokohdat on yhdistetty `<dl>`-elementeillä"
  },
  "lighthouse-core/audits/accessibility/document-title.js | description": {
    "message": "Nimi antaa näytönlukuohjelmaa käyttäville yleiskuvan sivusta, ja hakukoneen käyttäjille nimi on tärkeä oleellisten sivujen löytämiseen hakutuloksista. [Lue lisää](https://web.dev/document-title/)."
  },
  "lighthouse-core/audits/accessibility/document-title.js | failureTitle": {
    "message": "Dokumentissa ei ole `<title>`-elementtiä"
  },
  "lighthouse-core/audits/accessibility/document-title.js | title": {
    "message": "Dokumentissa on `<title>`-elementti"
  },
  "lighthouse-core/audits/accessibility/duplicate-id-active.js | description": {
    "message": "Tarkentamista tukevilla elementeillä on oltava yksilöllinen `id`, jotta avustava teknologia havaitsee ne. [Lue lisää](https://web.dev/duplicate-id-active/)."
  },
  "lighthouse-core/audits/accessibility/duplicate-id-active.js | failureTitle": {
    "message": "Aktiivisten, tarkennettavien elementtien `[id]`-määritteet eivät ole yksilöllisiä"
  },
  "lighthouse-core/audits/accessibility/duplicate-id-active.js | title": {
    "message": "Aktiivisten, tarkennettavien elementtien `[id]`-määritteet ovat yksilöllisiä"
  },
  "lighthouse-core/audits/accessibility/duplicate-id-aria.js | description": {
    "message": "ARIA-tunnisteen on oltava yksilöllinen, jotta avustavat teknologiat eivät jätä muita esiintymiä huomioimatta. [Lue lisää](https://web.dev/duplicate-id-aria/)."
  },
  "lighthouse-core/audits/accessibility/duplicate-id-aria.js | failureTitle": {
    "message": "ARIA-tunnisteet eivät ole yksilöllisiä"
  },
  "lighthouse-core/audits/accessibility/duplicate-id-aria.js | title": {
    "message": "ARIA-tunnisteet ovat yksilöllisiä"
  },
  "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | description": {
    "message": "Jos lomakekentillä on useita tunnisteita, näytönlukuohjelmat ja muut avustavat teknologiat saattavat viitata niihin hämmentävästi käyttäen ensimmäistä, viimeistä tai jokaista tunnistetta. [Lue lisää](https://web.dev/form-field-multiple-labels/)."
  },
  "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | failureTitle": {
    "message": "Lomakekentillä on useita tunnisteita"
  },
  "lighthouse-core/audits/accessibility/form-field-multiple-labels.js | title": {
    "message": "Lomakekentillä ei ole useita tunnisteita"
  },
  "lighthouse-core/audits/accessibility/frame-title.js | description": {
    "message": "Näytönlukuohjelman käyttäjät saavat tietää kehysten sisällöt vain kehysten nimien avulla. [Lue lisää](https://web.dev/frame-title/)."
  },
  "lighthouse-core/audits/accessibility/frame-title.js | failureTitle": {
    "message": "`<frame>`- tai `<iframe>`-elementeillä ei ole nimeä"
  },
  "lighthouse-core/audits/accessibility/frame-title.js | title": {
    "message": "`<frame>`- tai `<iframe>`-elementeillä on nimi"
  },
  "lighthouse-core/audits/accessibility/heading-order.js | description": {
    "message": "Loogisesti järjestetyt ja kaikki tasot käsittävät otsikot kertovat sivun semanttisesta rakenteesta, jolloin sen selaaminen ja ymmärtäminen avustavilla teknologioilla on helpompaa. [Lue lisää](https://web.dev/heading-order/)."
  },
  "lighthouse-core/audits/accessibility/heading-order.js | failureTitle": {
    "message": "Otsikkoelementit eivät ole laskevassa järjestyksessä"
  },
  "lighthouse-core/audits/accessibility/heading-order.js | title": {
    "message": "Otsikkoelementit ovat laskevassa järjestyksessä"
  },
  "lighthouse-core/audits/accessibility/html-has-lang.js | description": {
    "message": "Jos sivulla ei ole kielimääritettä, näytönlukuohjelma arvioi kieleksi oletuskielen, jonka käyttäjä valitsi ottaessaan näytönlukuohjelman käyttöön. Jos oletuskieli ei ole käytössä sivulla, näytönlukuohjelma voi ilmoittaa sivun tekstin väärin. [Lue lisää](https://web.dev/html-has-lang/)."
  },
  "lighthouse-core/audits/accessibility/html-has-lang.js | failureTitle": {
    "message": "`<html>`-elementissä ei ole `[lang]`-määritettä"
  },
  "lighthouse-core/audits/accessibility/html-has-lang.js | title": {
    "message": "`<html>`-elementissä on `[lang]`-määrite"
  },
  "lighthouse-core/audits/accessibility/html-lang-valid.js | description": {
    "message": "Kelvollisen [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‑määritteen ilmoittaminen elementeille auttaa näytönlukuohjelmaa kertomaan tekstin oikein. [Lue lisää](https://web.dev/html-lang-valid/)."
  },
  "lighthouse-core/audits/accessibility/html-lang-valid.js | failureTitle": {
    "message": "`<html>`-elementin `[lang]`-määritteen arvo ei ole kelvollinen"
  },
  "lighthouse-core/audits/accessibility/html-lang-valid.js | title": {
    "message": "`<html>`-elementin `[lang]`-määritteen arvo on kelvollinen"
  },
  "lighthouse-core/audits/accessibility/image-alt.js | description": {
    "message": "Informatiivisilla elementeillä pitäisi olla lyhyt ja kuvaileva vaihtoehtoinen teksti. Koristeelliset elementit voidaan ohittaa tyhjällä Alt-määritteellä. [Lue lisää](https://web.dev/image-alt/)."
  },
  "lighthouse-core/audits/accessibility/image-alt.js | failureTitle": {
    "message": "Kuvaelementeillä ei ole `[alt]`-määritteitä"
  },
  "lighthouse-core/audits/accessibility/image-alt.js | title": {
    "message": "Kuvaelementeillä on `[alt]`-määritteet"
  },
  "lighthouse-core/audits/accessibility/input-image-alt.js | description": {
    "message": "Kun `<input>`-painikkeena käytetään kuvaa, vaihtoehtoisen tekstin lisääminen voi auttaa näytönlukuohjelman käyttäjiä ymmärtämään painikkeen tarkoituksen. [Lue lisää](https://web.dev/input-image-alt/)."
  },
  "lighthouse-core/audits/accessibility/input-image-alt.js | failureTitle": {
    "message": "`<input type=\"image\">`-elementeissä ei ole `[alt]`-tekstiä"
  },
  "lighthouse-core/audits/accessibility/input-image-alt.js | title": {
    "message": "`<input type=\"image\">`-elementeissä on `[alt]`-teksti"
  },
  "lighthouse-core/audits/accessibility/label.js | description": {
    "message": "Tunnisteilla varmistetaan, että avustustekniikat (kuten näytönlukuohjelmat) ilmoittavat lomakkeiden ohjaimista oikein. [Lue lisää](https://web.dev/label/)."
  },
  "lighthouse-core/audits/accessibility/label.js | failureTitle": {
    "message": "Lomakkeiden elementeillä ei ole niihin liittyviä tunnisteita"
  },
  "lighthouse-core/audits/accessibility/label.js | title": {
    "message": "Lomake-elementeillä on niihin liittyvät tunnisteet"
  },
  "lighthouse-core/audits/accessibility/layout-table.js | description": {
    "message": "Asettelua varten luodussa taulukossa ei pitäisi olla dataelementtejä, kuten taulukoiden otsikko ‑elementtejä, tekstityselementtejä tai yhteenvetomääritteitä, koska ne voivat tehdä näytönlukuohjelman käytöstä sekavaa. [Lue lisää](https://web.dev/layout-table/)."
  },
  "lighthouse-core/audits/accessibility/layout-table.js | failureTitle": {
    "message": "Esittelyyn tarkoitetut `<table>`-elementit eivät vältä `<th>`-,`<caption>`- tai `[summary]`-määritteen käyttöä"
  },
  "lighthouse-core/audits/accessibility/layout-table.js | title": {
    "message": "Esittelyyn tarkoitetut `<table>`-elementit välttävät `<th>`-,`<caption>`- tai `[summary]`-määritteiden käyttöä"
  },
  "lighthouse-core/audits/accessibility/link-name.js | description": {
    "message": "Linkkiteksti (ja vaihtoehtoinen teksti kuvia varten, kun niitä käytetään linkkeinä), joka on erottuva, yksilöllinen ja tarkennettavissa, parantaa näytönlukuohjelmaa käyttävien navigointikokemusta. [Lue lisää](https://web.dev/link-name/)."
  },
  "lighthouse-core/audits/accessibility/link-name.js | failureTitle": {
    "message": "Linkkien nimet eivät ole helposti erottuvia"
  },
  "lighthouse-core/audits/accessibility/link-name.js | title": {
    "message": "Linkkien nimet ovat helposti erottuvia"
  },
  "lighthouse-core/audits/accessibility/list.js | description": {
    "message": "Näytönlukuohjelmat ilmoittavat luettelot tietyillä tavoilla. Kelvollinen luettelorakenne tukee näytönlukuohjelman tuottamaa sisältöä. [Lue lisää](https://web.dev/list/)."
  },
  "lighthouse-core/audits/accessibility/list.js | failureTitle": {
    "message": "Luettelot eivät sisällä ainoastaan `<li>`-elementtejä ja skriptiä tukevia elementtejä (`<script>` ja `<template>`)"
  },
  "lighthouse-core/audits/accessibility/list.js | title": {
    "message": "Luettelot sisältävät ainoastaan `<li>`-elementtejä ja skriptiä tukevia elementtejä (`<script>` ja `<template>`)"
  },
  "lighthouse-core/audits/accessibility/listitem.js | description": {
    "message": "Näytönlukuohjelmat edellyttävät, että luettelokohdat (`<li>`) sisältyvät ylätason elementteihin `<ul>` tai `<ol>`, jotta ne voidaan ilmoittaa oikein. [Lue lisää](https://web.dev/listitem/)."
  },
  "lighthouse-core/audits/accessibility/listitem.js | failureTitle": {
    "message": "Luettelokohteet (`<li>`) eivät sisälly ylätason `<ul>`- tai `<ol>`-elementtiin"
  },
  "lighthouse-core/audits/accessibility/listitem.js | title": {
    "message": "Luettelokohdat (`<li>`) sisältyvät ylätason elementteihin `<ul>` tai `<ol>`"
  },
  "lighthouse-core/audits/accessibility/meta-refresh.js | description": {
    "message": "Käyttäjät eivät odota sivun päivittyvän automaattisesti, ja päivittäminen siirtää kohdistuksen takaisin sivun yläreunaan. Tämä voi tehdä käytöstä turhauttavaa tai sekavaa. [Lue lisää](https://web.dev/meta-refresh/)."
  },
  "lighthouse-core/audits/accessibility/meta-refresh.js | failureTitle": {
    "message": "Dokumentissa on käytössä `<meta http-equiv=\"refresh\">`"
  },
  "lighthouse-core/audits/accessibility/meta-refresh.js | title": {
    "message": "Dokumentti ei käytä `<meta http-equiv=\"refresh\">`-tagia"
  },
  "lighthouse-core/audits/accessibility/meta-viewport.js | description": {
    "message": "Zoomauksen poistaminen käytöstä aiheuttaa ongelmia heikkonäköisille käyttäjille, jotka tarvitsevat näytön suurennusta nähdäkseen verkkosivun sisällön kunnolla. [Lue lisää](https://web.dev/meta-viewport/)."
  },
  "lighthouse-core/audits/accessibility/meta-viewport.js | failureTitle": {
    "message": "`[user-scalable=\"no\"]` on käytössä `<meta name=\"viewport\">`-elementissä tai `[maximum-scale]`-määrite on pienempi kuin 5"
  },
  "lighthouse-core/audits/accessibility/meta-viewport.js | title": {
    "message": "`[user-scalable=\"no\"]` ei ole käytössä `<meta name=\"viewport\">`-elementissä, ja `[maximum-scale]`-määrite on vähintään 5"
  },
  "lighthouse-core/audits/accessibility/object-alt.js | description": {
    "message": "Näytönlukuohjelmat eivät voi kääntää sisältöä, joka ei ole tekstiä. Vaihtoehtoisen tekstin lisääminen `<object>`-elementteihin auttaa näytönlukuohjelmia esittämään sisällön merkityksen käyttäjille. [Lue lisää](https://web.dev/object-alt/)."
  },
  "lighthouse-core/audits/accessibility/object-alt.js | failureTitle": {
    "message": "`<object>`-elementeissä ei ole `[alt]`-tekstiä"
  },
  "lighthouse-core/audits/accessibility/object-alt.js | title": {
    "message": "`<object>`-elementeissä on `[alt]`-teksti"
  },
  "lighthouse-core/audits/accessibility/tabindex.js | description": {
    "message": "Navigointijärjestys on eksplisiittinen, jos arvo on suurempi kuin 0. Vaikka ratkaisu on teknisesti käypä, se tekee usein kokemuksesta turhauttavan avustustekniikkaa tarvitseville käyttäjille. [Lue lisää](https://web.dev/tabindex/)."
  },
  "lighthouse-core/audits/accessibility/tabindex.js | failureTitle": {
    "message": "Joidenkin elementtien `[tabindex]`-arvo on suurempi kuin 0"
  },
  "lighthouse-core/audits/accessibility/tabindex.js | title": {
    "message": "Yhdenkään elementin `[tabindex]`-arvo ei ole suurempi kuin 0"
  },
  "lighthouse-core/audits/accessibility/td-headers-attr.js | description": {
    "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelman käyttäjien kokemusta varmistamalla, että `[headers]`-määritettä käyttävät `<td>`-solut viittaavat vain toisiin soluihin samassa taulukossa. [Lue lisää](https://web.dev/td-headers-attr/)."
  },
  "lighthouse-core/audits/accessibility/td-headers-attr.js | failureTitle": {
    "message": "`[headers]`-määritettä käyttävät `<table>`-elementin solut viittaavat elementtiin (`id`), joka ei ole samassa taulukossa."
  },
  "lighthouse-core/audits/accessibility/td-headers-attr.js | title": {
    "message": "`[headers]`-määritettä käyttävät `<table>`-elementin solut viittaavat soluihin samassa taulukossa"
  },
  "lighthouse-core/audits/accessibility/th-has-data-cells.js | description": {
    "message": "Näytönlukuohjelmissa on ominaisuuksia, jotka tekevät taulukoissa siirtymisestä helpompaa. Voit parantaa näytönlukuohjelmaa käyttävien kokemusta varmistamalla, että taulukoiden otsikot viittaavat aina johonkin solujoukkoon. [Lue lisää](https://web.dev/th-has-data-cells/)."
  },
  "lighthouse-core/audits/accessibility/th-has-data-cells.js | failureTitle": {
    "message": "`<th>`-elementit ja elementit, joissa on `[role=\"columnheader\"/\"rowheader\"]`, eivät sisällä niissä kuvattuja datasoluja"
  },
  "lighthouse-core/audits/accessibility/th-has-data-cells.js | title": {
    "message": "`<th>`-elementit ja elementit, joissa on `[role=\"columnheader\"/\"rowheader\"]`, sisältävät niissä kuvatut datasolut"
  },
  "lighthouse-core/audits/accessibility/valid-lang.js | description": {
    "message": "Kelvollisen [BCP 47 language](https://www.w3.org/International/questions/qa-choosing-language-tags#question) ‑määritteen ilmoittaminen elementeille auttaa varmistamaan, että näytönlukuohjelma ääntää tekstin oikein. [Lue lisää](https://web.dev/valid-lang/)."
  },
  "lighthouse-core/audits/accessibility/valid-lang.js | failureTitle": {
    "message": "`[lang]`-määritteiden arvot eivät ole kelvollisia"
  },
  "lighthouse-core/audits/accessibility/valid-lang.js | title": {
    "message": "`[lang]`-määritteillä on kelvollinen arvo"
  },
  "lighthouse-core/audits/accessibility/video-caption.js | description": {
    "message": "Kun videossa on tekstitykset, kuurot ja heikkokuuloiset saavat videon tiedot paremmin. [Lue lisää](https://web.dev/video-caption/)."
  },
  "lighthouse-core/audits/accessibility/video-caption.js | failureTitle": {
    "message": "`<video>`-elementit eivät sisällä `<track>`-elementtiä, jossa on `[kind=\"captions\"]`"
  },
  "lighthouse-core/audits/accessibility/video-caption.js | title": {
    "message": "`<video>`-elementit sisältävät `<track>`-elementin, jossa on `[kind=\"captions\"]`"
  },
  "lighthouse-core/audits/accessibility/video-description.js | description": {
    "message": "Äänikuvaukset antavat videoista oleellista tietoa (esimerkiksi ilmeistä ja tapahtumapaikoista), jota ei saa keskustelusta. [Lue lisää](https://web.dev/video-description/)."
  },
  "lighthouse-core/audits/accessibility/video-description.js | failureTitle": {
    "message": "`<video>`-elementit eivät sisällä `<track>`-elementtiä, jossa on `[kind=\"description\"]`"
  },
  "lighthouse-core/audits/accessibility/video-description.js | title": {
    "message": "`<video>`-elementit sisältävät `<track>`-elementin, jossa on `[kind=\"description\"]`"
  },
  "lighthouse-core/audits/apple-touch-icon.js | description": {
    "message": "Määritä `apple-touch-icon`, jotta iOS-näkyvyys on paras mahdollinen, kun käyttäjä lisää progressiivisen web-sovelluksen aloitusnäytölle. Sen on viitattava läpinäkymättömään neliön muotoiseen (192 px tai 180 px) PNG-tiedostoon. [Lue lisää](https://web.dev/apple-touch-icon/)."
  },
  "lighthouse-core/audits/apple-touch-icon.js | failureTitle": {
    "message": "Ei sisällä kelvollista `apple-touch-icon`-arvoa"
  },
  "lighthouse-core/audits/apple-touch-icon.js | precomposedWarning": {
    "message": "`apple-touch-icon-precomposed` on vanhentunut; `apple-touch-icon`-määritettä suositellaan."
  },
  "lighthouse-core/audits/apple-touch-icon.js | title": {
    "message": "Sisältää kelvollisen `apple-touch-icon`-määritteen"
  },
  "lighthouse-core/audits/autocomplete.js | columnCurrent": {
    "message": "Current Value"
  },
  "lighthouse-core/audits/autocomplete.js | columnSuggestions": {
    "message": "Suggested Token"
  },
  "lighthouse-core/audits/autocomplete.js | description": {
    "message": "`autocomplete` helps users submit forms quicker. To reduce user effort, consider enabling by setting the `autocomplete` attribute to a valid value. [Learn more](https://developers.google.com/web/fundamentals/design-and-ux/input/forms#use_metadata_to_enable_auto-complete)"
  },
  "lighthouse-core/audits/autocomplete.js | failureTitle": {
    "message": "`<input>` elements do not have correct `autocomplete` attributes"
  },
  "lighthouse-core/audits/autocomplete.js | manualReview": {
    "message": "Edellyttää manuaalista tarkistusta"
  },
  "lighthouse-core/audits/autocomplete.js | reviewOrder": {
    "message": "Tarkista tunnusten järjestys"
  },
  "lighthouse-core/audits/autocomplete.js | title": {
    "message": "`<input>` elements correctly use `autocomplete`"
  },
  "lighthouse-core/audits/autocomplete.js | warningInvalid": {
    "message": "`autocomplete` token(s): \"{token}\" is invalid in {snippet}"
  },
  "lighthouse-core/audits/autocomplete.js | warningOrder": {
    "message": "Tarkista tunnusten järjestys: {tokens} ({snippet})"
  },
  "lighthouse-core/audits/bootup-time.js | chromeExtensionsWarning": {
    "message": "Chromen laajennukset heikensivät tämän sivun latausnopeutta. Yritä tarkastaa sivu incognito-tilassa tai Chrome-profiililla, johon ei ole lisätty laajennuksia."
  },
  "lighthouse-core/audits/bootup-time.js | columnScriptEval": {
    "message": "Skriptin arviointi"
  },
  "lighthouse-core/audits/bootup-time.js | columnScriptParse": {
    "message": "Skriptin jäsennys"
  },
  "lighthouse-core/audits/bootup-time.js | columnTotal": {
    "message": "Prosessoriaika yhteensä"
  },
  "lighthouse-core/audits/bootup-time.js | description": {
    "message": "Suosittelemme lyhentämään JS:n jäsentämiseen, kääntämiseen ja suorittamiseen kuluvaa aikaa. Pienempien JS-resurssien jakaminen voi helpottaa tätä. [Lue lisää](https://web.dev/bootup-time/)."
  },
  "lighthouse-core/audits/bootup-time.js | failureTitle": {
    "message": "Vähennä JavaScriptin suorittamiseen kuluvaa aikaa"
  },
  "lighthouse-core/audits/bootup-time.js | title": {
    "message": "JavaScriptin suorittamiseen kuluva aika"
  },
  "lighthouse-core/audits/byte-efficiency/duplicated-javascript.js | description": {
    "message": "Poista suuret, kopioidut JavaScript-moduulit paketeista pienentääksesi verkkotoiminnan tarpeetonta tavunkulutusta. "
  },
  "lighthouse-core/audits/byte-efficiency/duplicated-javascript.js | title": {
    "message": "Poista kaksoismoduulit JavaScript-paketeista"
  },
  "lighthouse-core/audits/byte-efficiency/efficient-animated-content.js | description": {
    "message": "Suuret GIFit eivät ole tehokas tapa jaella animoitua sisältöä. Voit pienentää ladattavien tavujen määrää jakelemalla animaatioita MPEG4- tai WebM-muodossa ja staattisia kuvia PNG- tai WebP-muodossa. [Lue lisää](https://web.dev/efficient-animated-content/)"
  },
  "lighthouse-core/audits/byte-efficiency/efficient-animated-content.js | title": {
    "message": "Jakele animaatiosisältöä videomuodossa"
  },
  "lighthouse-core/audits/byte-efficiency/legacy-javascript.js | description": {
    "message": "Polyfill- ja transform-merkintöjen avulla vanhat selaimet voivat käyttää uusia JavaScript-ominaisuuksia. Monia ei kuitenkaan tarvita nykyaikaisissa selaimissa. Käytä JavaScript-paketissasi nykyaikaista käyttöönottostrategiaa, jossa havaitaan moduuli/ei-moduuli-ominaisuus, minkä avulla vähennetään nykyaikaisiin selaimiin lähetetyn koodin määrää mutta säilytetään silti vanhojen selaimien tuki. [Lue lisää](https://philipwalton.com/articles/deploying-es2015-code-in-production-today/)."
  },
  "lighthouse-core/audits/byte-efficiency/legacy-javascript.js | title": {
    "message": "Vältä vanhan JavaScriptin näyttämistä nykyaikaisilla selaimilla"
  },
  "lighthouse-core/audits/byte-efficiency/offscreen-images.js | description": {
    "message": "Suosittelemme lykkäämään poissa näkyvistä olevien ja piilotettujen kuvien lataamista, kunnes kaikki kriittiset resurssit on ladattu. [Lue lisää](https://web.dev/offscreen-images/)."
  },
  "lighthouse-core/audits/byte-efficiency/offscreen-images.js | title": {
    "message": "Lykkää kuvien lataamista, jos ne eivät ole näkyvissä"
  },
  "lighthouse-core/audits/byte-efficiency/render-blocking-resources.js | description": {
    "message": "Resurssit estävät sivun ensimmäisen renderöinnin. Suosittelemme jakelemaan kriittiset JS- ja CSS-osat sivuun upotettuina ja lykkäämään kaikkien ei-kriittisten JS- tai tyyliosien lataamista. [Lue lisää](https://web.dev/render-blocking-resources/)."
  },
  "lighthouse-core/audits/byte-efficiency/render-blocking-resources.js | title": {
    "message": "Poista renderöinnin estävät resurssit"
  },
  "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | description": {
    "message": "Suuret verkkoresurssit aiheuttavat kuluja käyttäjille ja liittyvät vahvasti pitkiin latausaikoihin. [Lue lisää](https://web.dev/total-byte-weight/)."
  },
  "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | displayValue": {
    "message": "Yhteenlaskettu koko oli {totalBytes, number, bytes} KiB"
  },
  "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | failureTitle": {
    "message": "Vältä valtavia verkkoresursseja"
  },
  "lighthouse-core/audits/byte-efficiency/total-byte-weight.js | title": {
    "message": "Välttää valtavia verkkoresursseja"
  },
  "lighthouse-core/audits/byte-efficiency/unminified-css.js | description": {
    "message": "CSS-tiedostojen pienentäminen voi auttaa pienentämään verkkoresurssien kokoa. [Lue lisää](https://web.dev/unminified-css/)."
  },
  "lighthouse-core/audits/byte-efficiency/unminified-css.js | title": {
    "message": "Pienennä CSS-tiedostoja"
  },
  "lighthouse-core/audits/byte-efficiency/unminified-javascript.js | description": {
    "message": "JavaScript-tiedostojen pienentäminen voi auttaa pienentämään resurssien kokoa ja lyhentämään skriptin jäsentämiseen kuluvaa aikaa. [Lue lisää](https://web.dev/unminified-javascript/)."
  },
  "lighthouse-core/audits/byte-efficiency/unminified-javascript.js | title": {
    "message": "Pienennä JavaScript-tiedostoja"
  },
  "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | description": {
    "message": "Poista käyttämättömät säännöt tyylisivuilta ja lykkää sellaisen CSS:n lataamista, jota ei käytetä sivun yläosan sisältöön, niin vähennät verkkotoiminnan turhaa tavujen kulutusta. [Lue lisää](https://web.dev/unused-css-rules/)."
  },
  "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | title": {
    "message": "Poista käyttämätön CSS"
  },
  "lighthouse-core/audits/byte-efficiency/unused-javascript.js | description": {
    "message": "Poista tarpeeton JavaScript pienentääksesi verkkotoiminnan tavunkulutusta. [Lue lisää](https://web.dev/unused-javascript/)."
  },
  "lighthouse-core/audits/byte-efficiency/unused-javascript.js | title": {
    "message": "Poista käyttämätön JavaScript"
  },
  "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | description": {
    "message": "Pitkä välimuistin käyttöikä voi nopeuttaa sivun lataamista, kun käyttäjä avaa sen uudelleen. [Lue lisää](https://web.dev/uses-long-cache-ttl/)."
  },
  "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | displayValue": {
    "message": "{itemCount,plural, =1{1 resurssi löydetty}other{# resurssia löydetty}}"
  },
  "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | failureTitle": {
    "message": "Käytä tehokasta välimuistikäytäntöä staattisten resurssien jakelemiseen"
  },
  "lighthouse-core/audits/byte-efficiency/uses-long-cache-ttl.js | title": {
    "message": "Käyttää tehokasta välimuistikäytäntöä staattisten resurssien käsittelyyn"
  },
  "lighthouse-core/audits/byte-efficiency/uses-optimized-images.js | description": {
    "message": "Optimoidut kuvat latautuvat nopeammin ja kuluttavat vähemmän mobiilidataa. [Lue lisää](https://web.dev/uses-optimized-images/)."
  },
  "lighthouse-core/audits/byte-efficiency/uses-optimized-images.js | title": {
    "message": "Koodaa kuvat tehokkaasti"
  },
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | description": {
    "message": "Näytä sopivan kokoisia kuvia, jotta voit vähentää mobiilidatan kulutusta ja lyhentää latausaikoja. [Lue lisää](https://web.dev/uses-responsive-images/)."
  },
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | title": {
    "message": "Määritä kuvien koko oikein"
  },
  "lighthouse-core/audits/byte-efficiency/uses-text-compression.js | description": {
    "message": "Tekstipohjaiset resurssit on hyvä pakata ennen jakelua (gzip, deflate tai brotli), jotta ladattavien tavujen määrä voidaan minimoida. [Lue lisää](https://web.dev/uses-text-compression/)."
  },
  "lighthouse-core/audits/byte-efficiency/uses-text-compression.js | title": {
    "message": "Ota tekstin pakkaus käyttöön"
  },
  "lighthouse-core/audits/byte-efficiency/uses-webp-images.js | description": {
    "message": "Tietyt kuvamuodot, kuten JPEG 2000, JPEG XR ja WebP, pakkaavat sisältöä usein paremmin kuin PNG tai JPEG, minkä vuoksi ne auttavat nopeuttamaan latauksia ja vähentämään datan kulutusta. [Lue lisää](https://web.dev/uses-webp-images/)."
  },
  "lighthouse-core/audits/byte-efficiency/uses-webp-images.js | title": {
    "message": "Jakele kuvat seuraavan sukupolven muodoissa"
  },
  "lighthouse-core/audits/content-width.js | description": {
    "message": "Jos sovelluksesi leveys ei vastaa näkymän leveyttä, sovelluksesi ei välttämättä ole mobiilinäytöille optimoitu. [Lue lisää](https://web.dev/content-width/)."
  },
  "lighthouse-core/audits/content-width.js | explanation": {
    "message": "Näkymän koko, {innerWidth} px, ei vastaa ikkunan kokoa, {outerWidth} px."
  },
  "lighthouse-core/audits/content-width.js | failureTitle": {
    "message": "Sisällön koko ei vastaa näkymää"
  },
  "lighthouse-core/audits/content-width.js | title": {
    "message": "Sisällön koko on näkymän mukainen"
  },
  "lighthouse-core/audits/critical-request-chains.js | description": {
    "message": "Alla olevat kriittiset pyyntöketjut kertovat, minkä resurssien lataaminen priorisoidaan. Suosittelemme parantamaan sivun latausaikaa lyhentämällä ketjuja, pienentämällä resurssien latauskokoa ja lykkäämällä tarpeettomien resurssien lataamista. [Lue lisää](https://web.dev/critical-request-chains/)."
  },
  "lighthouse-core/audits/critical-request-chains.js | displayValue": {
    "message": "{itemCount,plural, =1{1 ketju löydetty}other{# ketjua löydetty}}"
  },
  "lighthouse-core/audits/critical-request-chains.js | title": {
    "message": "Vältä kriittisten pyyntöjen ketjuttamista"
  },
  "lighthouse-core/audits/deprecations.js | columnDeprecate": {
    "message": "Käytöstä poistaminen / varoitus"
  },
  "lighthouse-core/audits/deprecations.js | columnLine": {
    "message": "Rivi"
  },
  "lighthouse-core/audits/deprecations.js | description": {
    "message": "Käytöstä poistetut käyttöliittymät poistetaan aikanaan selaimesta. [Lue lisää](https://web.dev/deprecations/)."
  },
  "lighthouse-core/audits/deprecations.js | displayValue": {
    "message": "{itemCount,plural, =1{1 varoitus löydetty}other{# varoitusta löydetty}}"
  },
  "lighthouse-core/audits/deprecations.js | failureTitle": {
    "message": "Käyttää käytöstä poistettuja sovellusliittymiä"
  },
  "lighthouse-core/audits/deprecations.js | title": {
    "message": "Välttää käytöstä poistettuja sovellusliittymiä"
  },
  "lighthouse-core/audits/dobetterweb/appcache-manifest.js | description": {
    "message": "Sovellusvälimuisti on poistettu käytöstä. [Lue lisää](https://web.dev/appcache-manifest/)."
  },
  "lighthouse-core/audits/dobetterweb/appcache-manifest.js | displayValue": {
    "message": "Löydetty {AppCacheManifest}"
  },
  "lighthouse-core/audits/dobetterweb/appcache-manifest.js | failureTitle": {
    "message": "Käyttää sovellusvälimuistia"
  },
  "lighthouse-core/audits/dobetterweb/appcache-manifest.js | title": {
    "message": "Välttää sovellusvälimuistia"
  },
  "lighthouse-core/audits/dobetterweb/charset.js | description": {
    "message": "A character encoding declaration is required. It can be done with a `<meta>` tag in the first 1024 bytes of the HTML or in the Content-Type HTTP response header. [Learn more](https://web.dev/charset/)."
  },
  "lighthouse-core/audits/dobetterweb/charset.js | failureTitle": {
    "message": "Merkistöilmoitus puuttuu tai näkyy liian myöhään HTML:ssä"
  },
  "lighthouse-core/audits/dobetterweb/charset.js | title": {
    "message": "Merkistö määritelty oikein"
  },
  "lighthouse-core/audits/dobetterweb/doctype.js | description": {
    "message": "Dokumenttityypin määrittäminen estää selainta siirtymästä quirks-tilaan. [Lue lisää](https://web.dev/doctype/)."
  },
  "lighthouse-core/audits/dobetterweb/doctype.js | explanationBadDoctype": {
    "message": "Dokumenttityypin nimen on oltava pienillä kirjaimilla kirjoitettu merkkijono `html`"
  },
  "lighthouse-core/audits/dobetterweb/doctype.js | explanationNoDoctype": {
    "message": "Dokumentin täytyy sisältää dokumenttityyppi"
  },
  "lighthouse-core/audits/dobetterweb/doctype.js | explanationPublicId": {
    "message": "Oletettu publicId-arvo on tyhjä merkkijono"
  },
  "lighthouse-core/audits/dobetterweb/doctype.js | explanationSystemId": {
    "message": "Oletettu systemId-arvo on tyhjä merkkijono"
  },
  "lighthouse-core/audits/dobetterweb/doctype.js | failureTitle": {
    "message": "Sivulta puuttuu HTML-tiedostotyyppi, mikä käynnistää quirks-tilan"
  },
  "lighthouse-core/audits/dobetterweb/doctype.js | title": {
    "message": "Sivulla on HTML-dokumenttityyppi"
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | columnStatistic": {
    "message": "Tilastotieto"
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | columnValue": {
    "message": "Arvo"
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | description": {
    "message": "Suuri DOM lisää muistin käyttöä, pidentää [tyylilaskelmia](https://developers.google.com/web/fundamentals/performance/rendering/reduce-the-scope-and-complexity-of-style-calculations) ja aiheuttaa työläitä [asettelun uudelleenjuoksutuksia](https://developers.google.com/speed/articles/reflow). [Lue lisää](https://web.dev/dom-size/)."
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | displayValue": {
    "message": "{itemCount,plural, =1{1 elementti}other{# elementtiä}}"
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | failureTitle": {
    "message": "Vältä liian suurta DOM:ää"
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMDepth": {
    "message": "DOM:n enimmäissyvyys"
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMElements": {
    "message": "DOM-elementit yhteensä"
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | statisticDOMWidth": {
    "message": "Alatason elementtien maksimimäärä"
  },
  "lighthouse-core/audits/dobetterweb/dom-size.js | title": {
    "message": "Välttää liian suurta DOM:ää"
  },
  "lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
    "message": "Hylätyt ankkurit"
  },
  "lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
    "message": "Lisää ulkoisiin linkkeihin `rel=\"noopener\"` tai `rel=\"noreferrer\"` parantaaksesi tehokkuutta ja estääksesi tietoturvahaavoittuvuuksia. [Lue lisää](https://web.dev/external-anchors-use-rel-noopener/)."
  },
  "lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
    "message": "Eri lähteisiin johtavat linkit eivät ole turvallisia"
  },
  "lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
    "message": "Eri lähteisiin johtavat linkit ovat turvallisia"
  },
  "lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
    "message": "Ankkurin ({anchorHTML}) kohteen määritys epäonnistui. Sinun kannattaa ehkä poistaa target=_blank, jos sitä ei käytetä linkkinä."
  },
  "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
    "message": "Sivustot, jotka pyytävät sijainnin käyttöoikeutta ilman asiayhteyttä, saavat käyttäjät epäluuloisiksi tai hämmentävät heitä. Kokeile sen sijaan yhdistää pyyntö käyttäjätoimintoon. [Lue lisää](https://web.dev/geolocation-on-start/)."
  },
  "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | failureTitle": {
    "message": "Pyytää maantieteellistä sijaintia sivun latauksessa"
  },
  "lighthouse-core/audits/dobetterweb/geolocation-on-start.js | title": {
    "message": "Välttää maantieteellisen sijainnin pyytämistä sivun latauksessa"
  },
  "lighthouse-core/audits/dobetterweb/js-libraries.js | columnVersion": {
    "message": "Versio"
  },
  "lighthouse-core/audits/dobetterweb/js-libraries.js | description": {
    "message": "Kaikki käyttöliittymän JavaScript-kirjastot havaittiin sivulla. [Lue lisää](https://web.dev/js-libraries/)."
  },
  "lighthouse-core/audits/dobetterweb/js-libraries.js | title": {
    "message": "Havaitut JavaScript-kirjastot"
  },
  "lighthouse-core/audits/dobetterweb/no-document-write.js | description": {
    "message": "Hitaiden yhteyksien käyttäjien kohdalla `document.write()`-komennolla dynaamisesti lisätyt ulkoiset skriptit voivat hidastaa sivun latausta kymmenillä sekunneilla. [Lue lisää](https://web.dev/no-document-write/)."
  },
  "lighthouse-core/audits/dobetterweb/no-document-write.js | failureTitle": {
    "message": "Vältä: `document.write()`"
  },
  "lighthouse-core/audits/dobetterweb/no-document-write.js | title": {
    "message": "Vältetty: `document.write()`"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnSeverity": {
    "message": "Vakavin mahdollinen"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnVersion": {
    "message": "Kirjaston versio"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | columnVuln": {
    "message": "Haavoittuvuuksien määrä"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | description": {
    "message": "Jotkin kolmannen osapuolen skriptit voivat sisältää tunnettuja tietoturvahaavoittuvuuksia, joita hyökkääjien on helppo tunnistaa ja hyödyntää. [Lue lisää](https://web.dev/no-vulnerable-libraries/)."
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | displayValue": {
    "message": "{itemCount,plural, =1{1 haavoittuvuus havaittu}other{# haavoittuvuutta havaittu}}"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | failureTitle": {
    "message": "Sisältää käyttöliittymän JavaScript-kirjastot, joissa on tunnettuja tietoturvahaavoittuvuuksia"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | rowSeverityHigh": {
    "message": "Vakava"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | rowSeverityLow": {
    "message": "Vähäinen"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | rowSeverityMedium": {
    "message": "Kohtalainen"
  },
  "lighthouse-core/audits/dobetterweb/no-vulnerable-libraries.js | title": {
    "message": "Välttää käyttöliittymän JavaScript-kirjastoja, joissa on tunnettuja tietoturvahaavoittuvuuksia"
  },
  "lighthouse-core/audits/dobetterweb/notification-on-start.js | description": {
    "message": "Sivustot, jotka pyytävät lupaa ilmoitusten lähettämiseen ilman asiayhteyttä, saavat käyttäjät epäluuloisiksi tai hämmentävät heitä. Kokeile sen sijaan yhdistää pyyntö käyttäjäeleisiin. [Lue lisää](https://web.dev/notification-on-start/)."
  },
  "lighthouse-core/audits/dobetterweb/notification-on-start.js | failureTitle": {
    "message": "Pyytää ilmoitusten käyttöoikeutta sivun latauksessa"
  },
  "lighthouse-core/audits/dobetterweb/notification-on-start.js | title": {
    "message": "Välttää ilmoitusten käyttöoikeuden pyytämistä sivun latauksessa"
  },
  "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | description": {
    "message": "Salasanan liittämisen estäminen on hyvän tietoturvakäytännön vastaista. [Lue lisää](https://web.dev/password-inputs-can-be-pasted-into/)."
  },
  "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | failureTitle": {
    "message": "Estää käyttäjiä liittämästä sisältöä salasanakenttiin"
  },
  "lighthouse-core/audits/dobetterweb/password-inputs-can-be-pasted-into.js | title": {
    "message": "Sallii käyttäjien liittää sisältöä salasanakenttiin"
  },
  "lighthouse-core/audits/dobetterweb/uses-http2.js | columnProtocol": {
    "message": "Protokolla"
  },
  "lighthouse-core/audits/dobetterweb/uses-http2.js | description": {
    "message": "HTTP/2 tarjoaa monia etuja HTTP/1.1:een verrattuna, mukaan lukien binaariotsikot, kanavoinnin ja palvelinkehotteet. [Lue lisää](https://web.dev/uses-http2/)."
  },
  "lighthouse-core/audits/dobetterweb/uses-http2.js | displayValue": {
    "message": "{itemCount,plural, =1{1 pyyntöä ei tehty HTTP/2:n kautta}other{# pyyntöä ei tehty HTTP/2:n kautta}}"
  },
  "lighthouse-core/audits/dobetterweb/uses-http2.js | title": {
    "message": "Käytä HTTP/2:ta"
  },
  "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | description": {
    "message": "Sinun kannattaa ehkä merkitä kosketus- ja vieritystapahtumien seurainten arvoksi `passive` sivun vieritystoiminnan parantamiseksi. [Lue lisää](https://web.dev/uses-passive-event-listeners/)."
  },
  "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | failureTitle": {
    "message": "Ei käytä passiivisia seuraimia vieritystoiminnan parantamiseen"
  },
  "lighthouse-core/audits/dobetterweb/uses-passive-event-listeners.js | title": {
    "message": "Käyttää passiivisia seuraimia vieritystoiminnan parantamiseen"
  },
  "lighthouse-core/audits/errors-in-console.js | columnDesc": {
    "message": "Kuvaus"
  },
  "lighthouse-core/audits/errors-in-console.js | description": {
    "message": "Konsoliin kirjatut virheet viittaavat ratkaisemattomiin ongelmiin. Ne voivat johtua epäonnistuneista verkkopyynnöistä ja muista selainongelmista. [Lue lisää](https://web.dev/errors-in-console/)."
  },
  "lighthouse-core/audits/errors-in-console.js | failureTitle": {
    "message": "Selainvirheet kirjattiin konsoliin"
  },
  "lighthouse-core/audits/errors-in-console.js | title": {
    "message": "Konsoliin ei kirjattu selainvirheitä"
  },
  "lighthouse-core/audits/font-display.js | description": {
    "message": "Käytä CSS:n fontinnäyttöominaisuutta, jotta voit varmistaa, että käyttäjä näkee tekstin myös verkkofonttien lataamisen aikana. [Lue lisää](https://web.dev/font-display/)."
  },
  "lighthouse-core/audits/font-display.js | failureTitle": {
    "message": "Varmista, että teksti pysyy näkyvissä verkkofontin lataamisen aikana"
  },
  "lighthouse-core/audits/font-display.js | title": {
    "message": "Kaikki teksti pysyy näkyvissä verkkofontin lataamisen aikana"
  },
  "lighthouse-core/audits/font-display.js | undeclaredFontOriginWarning": {
    "message": "{fontCountForOrigin,plural, =1{Lighthouse ei voinut automaattisesti tarkistaa lähteen ({fontOrigin}) arvoa: `font-display`.}other{Lighthouse ei voinut automaattisesti tarkistaa lähteen ({fontOrigin}) arvoja: `font-display`.}}"
  },
  "lighthouse-core/audits/image-aspect-ratio.js | columnActual": {
    "message": "Kuvasuhde (todellinen)"
  },
  "lighthouse-core/audits/image-aspect-ratio.js | columnDisplayed": {
    "message": "Kuvasuhde (näkyvä)"
  },
  "lighthouse-core/audits/image-aspect-ratio.js | description": {
    "message": "Kuvan mittasuhteiden tulisi täsmätä luonnolliseen kuvasuhteeseen. [Lue lisää](https://web.dev/image-aspect-ratio/)."
  },
  "lighthouse-core/audits/image-aspect-ratio.js | failureTitle": {
    "message": "Näytä kuvat, joiden kuvasuhde on virheellinen"
  },
  "lighthouse-core/audits/image-aspect-ratio.js | title": {
    "message": "Näytä kuvat, joiden kuvasuhde on oikea"
  },
  "lighthouse-core/audits/image-aspect-ratio.js | warningCompute": {
    "message": "Virheelliset kuvan kokotiedot: {url}"
  },
  "lighthouse-core/audits/image-size-responsive.js | columnActual": {
    "message": "Todellinen koko"
  },
  "lighthouse-core/audits/image-size-responsive.js | columnDisplayed": {
    "message": "Näkyvä koko"
  },
  "lighthouse-core/audits/image-size-responsive.js | columnExpected": {
    "message": "Odotettu koko"
  },
  "lighthouse-core/audits/image-size-responsive.js | description": {
    "message": "Kuvan luonnollisten mittojen pitäisi olla suhteutettu näytön kokoon ja pikselisuhteeseen, jotta kuva on mahdollisimman selkeä. [Lue lisää](https://web.dev/serve-responsive-images/)."
  },
  "lighthouse-core/audits/image-size-responsive.js | failureTitle": {
    "message": "Näyttää kuvat alhaisella resoluutiolla"
  },
  "lighthouse-core/audits/image-size-responsive.js | title": {
    "message": "Näyttää kuvat sopivalla resoluutiolla"
  },
  "lighthouse-core/audits/installable-manifest.js | description": {
    "message": "Selain voi aktiivisesti suositella käyttäjille sovelluksesi lisäämistä aloitusnäytölle, mikä voi edistää aktivoitumista. [Lue lisää](https://web.dev/installable-manifest/)."
  },
  "lighthouse-core/audits/installable-manifest.js | failureTitle": {
    "message": "Verkkosovelluksen luettelo ei vastaa asennettavuusvaatimuksia"
  },
  "lighthouse-core/audits/installable-manifest.js | title": {
    "message": "Verkkosovelluksen luettelo vastaa asennettavuusvaatimuksia"
  },
  "lighthouse-core/audits/is-on-https.js | allowed": {
    "message": "Sallittu"
  },
  "lighthouse-core/audits/is-on-https.js | blocked": {
    "message": "Estetty"
  },
  "lighthouse-core/audits/is-on-https.js | columnInsecureURL": {
    "message": "Suojaamaton URL-osoite"
  },
  "lighthouse-core/audits/is-on-https.js | columnResolution": {
    "message": "Pyydä ratkaisua"
  },
  "lighthouse-core/audits/is-on-https.js | description": {
    "message": "All sites should be protected with HTTPS, even ones that don't handle sensitive data. This includes avoiding [mixed content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content), where some resources are loaded over HTTP despite the initial request being served over HTTPS. HTTPS prevents intruders from tampering with or passively listening in on the communications between your app and your users, and is a prerequisite for HTTP/2 and many new web platform APIs. [Learn more](https://web.dev/is-on-https/)."
  },
  "lighthouse-core/audits/is-on-https.js | displayValue": {
    "message": "{itemCount,plural, =1{1 suojaamaton pyyntö löytyi}other{# suojaamatonta pyyntöä löytyi}}"
  },
  "lighthouse-core/audits/is-on-https.js | failureTitle": {
    "message": "Ei käytä HTTPS:ää"
  },
  "lighthouse-core/audits/is-on-https.js | title": {
    "message": "Käyttää HTTPS:ää"
  },
  "lighthouse-core/audits/is-on-https.js | upgraded": {
    "message": "Siirretty automaattisesti HTTPS:ään"
  },
  "lighthouse-core/audits/is-on-https.js | warning": {
    "message": "Sallittu varoituksen kanssa"
  },
  "lighthouse-core/audits/large-javascript-libraries.js | columnLibraryName": {
    "message": "Kirjasto"
  },
  "lighthouse-core/audits/large-javascript-libraries.js | description": {
    "message": "Suuret JavaScript-kirjastot voivat heikentää suorituskykyä. Pienennä paketin kokoa valitsemalla pienempiä, toiminnoiltaan vastaavia kirjastoja. [Lue lisää](https://developers.google.com/web/fundamentals/performance/webpack/decrease-frontend-size#optimize_dependencies)."
  },
  "lighthouse-core/audits/large-javascript-libraries.js | displayValue": {
    "message": "{libraryCount,plural, =1{1 suuri kirjasto löydetty}other{# suurta kirjastoa löydetty}}"
  },
  "lighthouse-core/audits/large-javascript-libraries.js | failureTitle": {
    "message": "Korvaa tarpeettoman suuret JavaScript-kirjastot"
  },
  "lighthouse-core/audits/large-javascript-libraries.js | title": {
    "message": "Välttää suuria JavaScript-kirjastoja, jos pienempi vaihtoehto on saatavilla"
  },
  "lighthouse-core/audits/largest-contentful-paint-element.js | description": {
    "message": "Tämä on näkymän suurin renderöity sisältö. [Lue lisää](https://web.dev/lighthouse-largest-contentful-paint/)"
  },
  "lighthouse-core/audits/largest-contentful-paint-element.js | title": {
    "message": "Suurin renderöity sisältöosa"
  },
  "lighthouse-core/audits/layout-shift-elements.js | columnContribution": {
    "message": "CLS-vaikuttavuus"
  },
  "lighthouse-core/audits/layout-shift-elements.js | description": {
    "message": "Nämä DOM-elementit tuottavat suurimman osan sivun CLS-arvosta."
  },
  "lighthouse-core/audits/layout-shift-elements.js | title": {
    "message": "Vältä suuria asettelun muutoksia"
  },
  "lighthouse-core/audits/load-fast-enough-for-pwa.js | description": {
    "message": "Nopea sivun lataus mobiiliverkon kautta varmistaa hyvän mobiilikäyttökokemuksen. [Lue lisää](https://web.dev/load-fast-enough-for-pwa/)."
  },
  "lighthouse-core/audits/load-fast-enough-for-pwa.js | displayValueText": {
    "message": "Interaktiivinen: {timeInMs, number, seconds} s"
  },
  "lighthouse-core/audits/load-fast-enough-for-pwa.js | displayValueTextWithOverride": {
    "message": "Interaktiivinen simuloidussa mobiiliverkossa: {timeInMs, number, seconds} s"
  },
  "lighthouse-core/audits/load-fast-enough-for-pwa.js | explanationLoadSlow": {
    "message": "Sivu latautuu liian hitaasti eikä ole interaktiivinen 10 sekunnin sisällä. Katso mahdollisuuksia ja diagnostiikkatietoja Tehokkuus-osiosta sivujen kehittämiseksi."
  },
  "lighthouse-core/audits/load-fast-enough-for-pwa.js | failureTitle": {
    "message": "Sivu ei lataudu tarpeeksi nopeasti mobiiliverkoissa"
  },
  "lighthouse-core/audits/load-fast-enough-for-pwa.js | title": {
    "message": "Sivu latautuu tarpeeksi nopeasti mobiiliverkoissa"
  },
  "lighthouse-core/audits/long-tasks.js | description": {
    "message": "Näyttää pääsäikeen pitkäkestoisimmat tehtävät, mistä on apua syöttöviiveen pahimpien aiheuttajien tunnistamisessa. [Lue lisää](https://web.dev/long-tasks-devtools/)"
  },
  "lighthouse-core/audits/long-tasks.js | displayValue": {
    "message": "{itemCount,plural, =1{# pitkäkestoinen tehtävä löydetty}other{# pitkäkestoista tehtävää löydetty}}"
  },
  "lighthouse-core/audits/long-tasks.js | title": {
    "message": "Vältä pitkäkestoisia pääsäikeen tehtäviä"
  },
  "lighthouse-core/audits/mainthread-work-breakdown.js | columnCategory": {
    "message": "Luokka"
  },
  "lighthouse-core/audits/mainthread-work-breakdown.js | description": {
    "message": "Suosittelemme lyhentämään JS:n jäsentämiseen, kääntämiseen ja suorittamiseen kuluvaa aikaa. Pienempien JS-resurssien jakeleminen voi auttaa. [Lue lisää](https://web.dev/mainthread-work-breakdown/)"
  },
  "lighthouse-core/audits/mainthread-work-breakdown.js | failureTitle": {
    "message": "Minimoi pääsäikeen työkuorma"
  },
  "lighthouse-core/audits/mainthread-work-breakdown.js | title": {
    "message": "Minimoi pääsäikeen työkuorman"
  },
  "lighthouse-core/audits/manual/pwa-cross-browser.js | description": {
    "message": "Tavoittaakseen maksimimäärän käyttäjiä sivustojen tulee toimia kaikilla tärkeillä selaimilla. [Lue lisää](https://web.dev/pwa-cross-browser/)."
  },
  "lighthouse-core/audits/manual/pwa-cross-browser.js | title": {
    "message": "Sivusto toimii eri selaimilla"
  },
  "lighthouse-core/audits/manual/pwa-each-page-has-url.js | description": {
    "message": "Varmista, että yksittäisiin sivuihin voi täsmälinkittää URL-osoitteella ja että URL-osoitteet ovat ainutlaatuisia, jotta jaettavuus somessa paranee. [Lue lisää](https://web.dev/pwa-each-page-has-url/)."
  },
  "lighthouse-core/audits/manual/pwa-each-page-has-url.js | title": {
    "message": "Joka sivulla on URL-osoite"
  },
  "lighthouse-core/audits/manual/pwa-page-transitions.js | description": {
    "message": "Napautuksilla navigoitaessa siirtymien tulee olla saumattomia, vaikka verkko olisi hidas. Näin syntyy vaikutelma toimivuudesta. [Lue lisää](https://web.dev/pwa-page-transitions/)."
  },
  "lighthouse-core/audits/manual/pwa-page-transitions.js | title": {
    "message": "Verkko ei estä sivujen välisiä siirtymiä"
  },
  "lighthouse-core/audits/maskable-icon.js | description": {
    "message": "Peitettävällä kuvakkeella varmistetaan, että kuva täyttää koko muodon ilman vaakapalkkien käyttöä, kun sovellusta asennetaan laitteelle. [Lue lisää](https://web.dev/maskable-icon-audit/)."
  },
  "lighthouse-core/audits/maskable-icon.js | failureTitle": {
    "message": "Teknisissä tiedoissa ei ole peitettävää kuvaketta"
  },
  "lighthouse-core/audits/maskable-icon.js | title": {
    "message": "Teknisissä tiedoissa on peitettävä kuvake"
  },
  "lighthouse-core/audits/metrics/cumulative-layout-shift.js | description": {
    "message": "Kumulatiivinen asettelumuutos mittaa näkymässä olevien elementtien liikettä. [Lue lisää](https://web.dev/cls/)."
  },
  "lighthouse-core/audits/metrics/estimated-input-latency.js | description": {
    "message": "Arvioitu syöttöviive on millisekunteina annettu arvio siitä, kuinka kauan sovelluksellasi kestää vastata käyttäjän syötteeseen sivun lataamisen kiireisimmän, viiden sekunnin mittaisen jakson aikana. Jos viive on yli 50 ms, sovelluksesi voi toimia käyttäjien mielestä hitaasti. [Lue lisää](https://web.dev/estimated-input-latency/)."
  },
  "lighthouse-core/audits/metrics/first-contentful-paint.js | description": {
    "message": "Ensimmäinen sisällön renderöinti kertoo, milloin ensimmäinen tekstikohde tai kuva renderöidään. [Lue lisää](https://web.dev/first-contentful-paint/)."
  },
  "lighthouse-core/audits/metrics/first-cpu-idle.js | description": {
    "message": "CPU:n ensimmäinen toimettomuusjakso kertoo, milloin sivun pääsäikeen tilanne sallii syötteiden käsittelyn.  [Lue lisää](https://web.dev/first-cpu-idle/)."
  },
  "lighthouse-core/audits/metrics/first-meaningful-paint.js | description": {
    "message": "Ensimmäinen merkityksellinen renderöinti kertoo, milloin sivun ensisijainen sisältö tulee näkyviin. [Lue lisää](https://web.dev/first-meaningful-paint/)."
  },
  "lighthouse-core/audits/metrics/interactive.js | description": {
    "message": "Interaktiivisuutta edeltävä aika tarkoittaa aikaa, joka sivulla kestää siihen, että se on täysin interaktiivinen. [Lue lisää](https://web.dev/interactive/)."
  },
  "lighthouse-core/audits/metrics/largest-contentful-paint.js | description": {
    "message": "Suurimman sisällön renderöinti mittaa suurimman tekstikohteen tai kuvan renderöintiaikaa. [Lue lisää](https://web.dev/lighthouse-largest-contentful-paint/)"
  },
  "lighthouse-core/audits/metrics/max-potential-fid.js | description": {
    "message": "Käyttäjien ensitoiminnon suurin mahdollinen viive on sama kuin pisimmän tehtävän kesto. [Lue lisää](https://web.dev/lighthouse-max-potential-fid/)."
  },
  "lighthouse-core/audits/metrics/speed-index.js | description": {
    "message": "Nopeusindeksi kertoo, kuinka nopeasti sivun sisältö tulee näkyviin. [Lue lisää](https://web.dev/speed-index/)."
  },
  "lighthouse-core/audits/metrics/total-blocking-time.js | description": {
    "message": "Kaikkien FCP:n ja interaktiivisuutta edeltävän ajan väliset ajanjaksot yhteenlaskettuna, kun tehtävän pituus on yli 50 ms (ilmoitettu millisekunteina). [Lue lisää](https://web.dev/lighthouse-total-blocking-time/)."
  },
  "lighthouse-core/audits/network-rtt.js | description": {
    "message": "Verkon meno-paluuajoilla (RTT) on suuri vaikutus suorituskykyyn. Jos RTT lähtöpaikkaan on korkea, se on merkki siitä, että käyttäjää lähellä olevien palvelimien suorituskyvyssä on parantamisen varaa. [Lue lisää](https://hpbn.co/primer-on-latency-and-bandwidth/)."
  },
  "lighthouse-core/audits/network-rtt.js | title": {
    "message": "Verkon meno-paluuajat"
  },
  "lighthouse-core/audits/network-server-latency.js | description": {
    "message": "Palvelimen viiveet voivat vaikuttaa verkon suorituskykyyn. Jos lähtöpaikan palvelimen viive on korkea, se on merkki siitä, että palvelin on ylikuormittunut tai sen taustasuorituskyky on huono. [Lue lisää](https://hpbn.co/primer-on-web-performance/#analyzing-the-resource-waterfall)."
  },
  "lighthouse-core/audits/network-server-latency.js | title": {
    "message": "Palvelimen taustaviiveet"
  },
  "lighthouse-core/audits/no-unload-listeners.js | description": {
    "message": "`unload` ei käynnisty luotettavasti, ja sen kuuntelu voi estää selaimen optimoinnin, esim. Back-Forward-välimuistin toiminnan. Harkitse sen sijaan näiden tapahtumien käyttämistä: `pagehide` tai `visibilitychange`. [Lisätietoja](https://developers.google.com/web/updates/2018/07/page-lifecycle-api#the-unload-event)"
  },
  "lighthouse-core/audits/no-unload-listeners.js | failureTitle": {
    "message": "Rekisteröi (`unload`) kuuntelijan"
  },
  "lighthouse-core/audits/no-unload-listeners.js | title": {
    "message": "Ohittaa (`unload`) kuuntelijat"
  },
  "lighthouse-core/audits/non-composited-animations.js | description": {
    "message": "Sommittelemattomat animaatiot voivat olla huonolaatuisia ja nostaa CLS:ää. [Lue lisää](https://web.dev/non-composited-animations)"
  },
  "lighthouse-core/audits/non-composited-animations.js | displayValue": {
    "message": "{itemCount,plural, =1{# animaatioelementti löydetty}other{# animaatioelementtiä löydetty}}"
  },
  "lighthouse-core/audits/non-composited-animations.js | filterMayMovePixels": {
    "message": "filter-omaisuus voi siirtää pikseleitä"
  },
  "lighthouse-core/audits/non-composited-animations.js | incompatibleAnimations": {
    "message": "Kohteessa on toinen yhteensopimaton animaatio"
  },
  "lighthouse-core/audits/non-composited-animations.js | nonReplaceCompositeMode": {
    "message": "Tehosteen sommittelutila on muu kuin replace"
  },
  "lighthouse-core/audits/non-composited-animations.js | title": {
    "message": "Vältä sommittelemattomia animaatioita"
  },
  "lighthouse-core/audits/non-composited-animations.js | transformDependsBoxSize": {
    "message": "transform-omaisuus riippuu kentän koosta"
  },
  "lighthouse-core/audits/non-composited-animations.js | unsupportedCSSProperty": {
    "message": "{propertyCount,plural, =1{Ei-tuettu CSS-omaisuus: {properties}}other{Ei-tuetut CSS-omaisuudet: {properties}}}"
  },
  "lighthouse-core/audits/non-composited-animations.js | unsupportedTimingParameters": {
    "message": "Tehosteessa on ei-tuettuja ajoitusparametreja"
  },
  "lighthouse-core/audits/offline-start-url.js | description": {
    "message": "Service worker auttaa tekemään verkkosovelluksesta luotettavan, jos verkko-olosuhteet ovat vaikeita ennustaa. [Lue lisää](https://web.dev/offline-start-url/)."
  },
  "lighthouse-core/audits/offline-start-url.js | errorLoading": {
    "message": "Virhe, kun {url} ladattiin Service Workerissa, tuloksena tilakoodi {statusCode}"
  },
  "lighthouse-core/audits/offline-start-url.js | failureTitle": {
    "message": "`start_url` ei vastaa 200-viestillä offline-tilassa"
  },
  "lighthouse-core/audits/offline-start-url.js | title": {
    "message": "`start_url` vastaa 200-viestillä offline-tilassa"
  },
  "lighthouse-core/audits/offline-start-url.js | warningCantStart": {
    "message": "`start_url` ei ollut Lighthousen luettavissa luettelossa. Siksi oletimme, että `start_url` on dokumentin URL-osoite. Virheilmoitus: {manifestWarning}"
  },
  "lighthouse-core/audits/performance-budget.js | description": {
    "message": "Pidä verkkopyyntöjen määrä ja koko tehokkuusbudjetissa määritettyjen tavoitteiden rajoissa. [Lue lisää](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
  },
  "lighthouse-core/audits/performance-budget.js | requestCountOverBudget": {
    "message": "{count,plural, =1{1 pyyntö}other{# pyyntöä}}"
  },
  "lighthouse-core/audits/performance-budget.js | title": {
    "message": "Tehokkuusbudjetti"
  },
  "lighthouse-core/audits/preload-fonts.js | description": {
    "message": "Esilataa `optional` fonttia ensikertalaisten kävijöiden saataville. [Lue lisää](https://web.dev/preload-optional-fonts/)"
  },
  "lighthouse-core/audits/preload-fonts.js | failureTitle": {
    "message": "Fontteja, joissa on `font-display: optional`, ei ole esiladattu"
  },
  "lighthouse-core/audits/preload-fonts.js | title": {
    "message": "Fontit, joissa on `font-display: optional`, on esiladattu"
  },
  "lighthouse-core/audits/redirects-http.js | description": {
    "message": "Jos määritit jo HTTPS:n, varmista että ohjaat kaiken HTTP-liikenteen HTTPS:ään, jotta kaikki käyttäjät saavat turvalliset verkko-ominaisuudet. [Lue lisää](https://web.dev/redirects-http/)."
  },
  "lighthouse-core/audits/redirects-http.js | failureTitle": {
    "message": "Ei uudelleenohjaa HTTP-liikennettä HTTPS:ään"
  },
  "lighthouse-core/audits/redirects-http.js | title": {
    "message": "Uudelleenohjaa HTTP-liikennettä HTTPS:ään"
  },
  "lighthouse-core/audits/redirects.js | description": {
    "message": "Uudelleenohjaukset viivästyttävät sivun lataamista. [Lue lisää](https://web.dev/redirects/)."
  },
  "lighthouse-core/audits/redirects.js | title": {
    "message": "Vältä useita uudelleenohjauksia"
  },
  "lighthouse-core/audits/resource-summary.js | description": {
    "message": "Jos haluat asettaa sivuresurssien määrälle ja koolle budjetin, lisää budget.json-tiedosto. [Lue lisää](https://web.dev/use-lighthouse-for-performance-budgets/)."
  },
  "lighthouse-core/audits/resource-summary.js | displayValue": {
    "message": "{requestCount,plural, =1{1 pyyntö • {byteCount, number, bytes} KiB}other{# pyyntöä • {byteCount, number, bytes} KiB}}"
  },
  "lighthouse-core/audits/resource-summary.js | title": {
    "message": "Pidä pyyntöjen määrät alhaisina ja siirtojen koot pieninä"
  },
  "lighthouse-core/audits/seo/canonical.js | description": {
    "message": "Ensisijaiset linkit ehdottavat, mitä URL-osoitteita näyttää hakutuloksissa. [Lue lisää](https://web.dev/canonical/)."
  },
  "lighthouse-core/audits/seo/canonical.js | explanationConflict": {
    "message": "Useita ristiriitaisia URL-osoitteita ({urlList})"
  },
  "lighthouse-core/audits/seo/canonical.js | explanationDifferentDomain": {
    "message": "Viittaa toiseen verkkotunnukseen ({url})"
  },
  "lighthouse-core/audits/seo/canonical.js | explanationInvalid": {
    "message": "Virheellinen URL-osoite ({url})"
  },
  "lighthouse-core/audits/seo/canonical.js | explanationPointsElsewhere": {
    "message": "Viittaa toiseen `hreflang`-sijaintiin ({url})"
  },
  "lighthouse-core/audits/seo/canonical.js | explanationRelative": {
    "message": "Suhteellinen URL-osoite ({url})"
  },
  "lighthouse-core/audits/seo/canonical.js | explanationRoot": {
    "message": "Osoittaa verkkotunnuksen juuri-URL-osoitteeseen (kotisivulle) sitä vastaavan sisältösivun sijaan"
  },
  "lighthouse-core/audits/seo/canonical.js | failureTitle": {
    "message": "Dokumentissa ei ole kelvollista `rel=canonical`-määritettä"
  },
  "lighthouse-core/audits/seo/canonical.js | title": {
    "message": "Dokumentissa on kelvollinen `rel=canonical`"
  },
  "lighthouse-core/audits/seo/crawlable-anchors.js | columnFailingLink": {
    "message": "Linkki ei indeksoitavissa"
  },
  "lighthouse-core/audits/seo/crawlable-anchors.js | description": {
    "message": "Hakukoneet voivat käyttää linkeissä `href`-attribuutteja sivustojen indeksointia varten. Varmista, että ankkurielementtien `href`-attribuutti linkittää sopivaan kohteeseen, jotta useammat sivuston sivut ovat löydettävissä. [Lue lisää](https://support.google.com/webmasters/answer/9112205)"
  },
  "lighthouse-core/audits/seo/crawlable-anchors.js | failureTitle": {
    "message": "Linkit eivät ole indeksoitavissa"
  },
  "lighthouse-core/audits/seo/crawlable-anchors.js | title": {
    "message": "Linkit ovat indeksoitavissa"
  },
  "lighthouse-core/audits/seo/font-size.js | additionalIllegibleText": {
    "message": "Muu lukukelvoton teksti"
  },
  "lighthouse-core/audits/seo/font-size.js | columnFontSize": {
    "message": "Fonttikoko"
  },
  "lighthouse-core/audits/seo/font-size.js | columnPercentPageText": {
    "message": "% sivun tekstistä"
  },
  "lighthouse-core/audits/seo/font-size.js | columnSelector": {
    "message": "Valitsin"
  },
  "lighthouse-core/audits/seo/font-size.js | description": {
    "message": "Alle 12 pikselin fonttikoot ovat liian pieniä luettavaksi ja edellyttävät mobiilivierailijoiden zoomaavan nipistämällä voidakseen lukea. Pyri siihen, että >60 % sivun tekstistä on ≥12 px. [Lue lisää](https://web.dev/font-size/)."
  },
  "lighthouse-core/audits/seo/font-size.js | displayValue": {
    "message": "{decimalProportion, number, extendedPercent} lukukelpoista tekstiä"
  },
  "lighthouse-core/audits/seo/font-size.js | explanationViewport": {
    "message": "Teksti on lukukelvotonta, koska näkymän sisällönkuvauskenttää ei ole optimoitu mobiilinäytöille."
  },
  "lighthouse-core/audits/seo/font-size.js | failureTitle": {
    "message": "Dokumentissa ei käytetä lukukelpoisia fonttikokoja"
  },
  "lighthouse-core/audits/seo/font-size.js | legibleText": {
    "message": "Lukukelpoista tekstiä"
  },
  "lighthouse-core/audits/seo/font-size.js | title": {
    "message": "Dokumentti käyttää lukukelpoisia fonttikokoja"
  },
  "lighthouse-core/audits/seo/hreflang.js | description": {
    "message": "hreflang-linkit kertovat hakukoneille, mikä sivuversio niiden pitäisi lisätä tietyn kielen tai alueen hakutuloksiin. [Lue lisää](https://web.dev/hreflang/)."
  },
  "lighthouse-core/audits/seo/hreflang.js | failureTitle": {
    "message": "Dokumentissa ei ole kelvollista `hreflang`-elementtiä"
  },
  "lighthouse-core/audits/seo/hreflang.js | notFullyQualified": {
    "message": "Suhteellinen href-arvo"
  },
  "lighthouse-core/audits/seo/hreflang.js | title": {
    "message": "Dokumentissa on kelvollinen `hreflang`"
  },
  "lighthouse-core/audits/seo/hreflang.js | unexpectedLanguage": {
    "message": "Odottamaton kielikoodi"
  },
  "lighthouse-core/audits/seo/http-status-code.js | description": {
    "message": "Epäonnistuneita HTTP-tilakoodeja sisältäviä sivuja ei välttämättä indeksoida oikein. [Lue lisää](https://web.dev/http-status-code/)."
  },
  "lighthouse-core/audits/seo/http-status-code.js | failureTitle": {
    "message": "Sivun HTTP-tilakoodi on epäonnistunut"
  },
  "lighthouse-core/audits/seo/http-status-code.js | title": {
    "message": "Sivun HTTP-tilakoodi on onnistunut"
  },
  "lighthouse-core/audits/seo/is-crawlable.js | description": {
    "message": "Hakukoneet eivät voi sisällyttää sivujasi hakutuloksiin, jos niillä ei ole lupaa indeksoida niitä. [Lue lisää](https://web.dev/is-crawable/)."
  },
  "lighthouse-core/audits/seo/is-crawlable.js | failureTitle": {
    "message": "Sivun indeksointi on estetty"
  },
  "lighthouse-core/audits/seo/is-crawlable.js | title": {
    "message": "Sivun indeksointia ei ole estetty"
  },
  "lighthouse-core/audits/seo/link-text.js | description": {
    "message": "Kuvailevat linkkitekstit auttavat hakukoneita ymmärtämään sisältöäsi. [Lue lisää](https://web.dev/link-text/)."
  },
  "lighthouse-core/audits/seo/link-text.js | displayValue": {
    "message": "{itemCount,plural, =1{1 linkki löydetty}other{# linkkiä löydetty}}"
  },
  "lighthouse-core/audits/seo/link-text.js | failureTitle": {
    "message": "Linkeissä ei ole kuvaavaa tekstiä"
  },
  "lighthouse-core/audits/seo/link-text.js | title": {
    "message": "Linkeissä on kuvailevaa tekstiä"
  },
  "lighthouse-core/audits/seo/manual/structured-data.js | description": {
    "message": "Suorita [Structured Data Testing Tool](https://search.google.com/structured-data/testing-tool/) ja [Structured Data Linter](http://linter.structured-data.org/) vahvistaaksesi strukturoidun datan. [Lue lisää](https://web.dev/structured-data/)."
  },
  "lighthouse-core/audits/seo/manual/structured-data.js | title": {
    "message": "Strukturoitu data on kelvollinen"
  },
  "lighthouse-core/audits/seo/meta-description.js | description": {
    "message": "Hakutuloksiin voidaan lisätä sisällönkuvauskenttiä, joissa kuvaillaan sivun sisältöä lyhyesti. [Lue lisää](https://web.dev/meta-description/)."
  },
  "lighthouse-core/audits/seo/meta-description.js | explanation": {
    "message": "Kuvausteksti on tyhjä."
  },
  "lighthouse-core/audits/seo/meta-description.js | failureTitle": {
    "message": "Dokumentissa ei ole sisällönkuvauskenttää"
  },
  "lighthouse-core/audits/seo/meta-description.js | title": {
    "message": "Dokumentissa on sisällönkuvauskenttä"
  },
  "lighthouse-core/audits/seo/plugins.js | description": {
    "message": "Hakukoneet eivät voi indeksoida laajennusten sisältöä, ja monet laitteet rajoittavat laajennusten käyttöä tai eivät tue niitä. [Lue lisää](https://web.dev/plugins/)."
  },
  "lighthouse-core/audits/seo/plugins.js | failureTitle": {
    "message": "Dokumentti käyttää laajennuksia"
  },
  "lighthouse-core/audits/seo/plugins.js | title": {
    "message": "Dokumentti välttää laajennuksia"
  },
  "lighthouse-core/audits/seo/robots-txt.js | description": {
    "message": "Jos robots.txt-tiedostosi on muotoiltu väärin, indeksointirobotit eivät välttämättä ymmärrä, miten haluat sivustosi indeksoitavan. [Lue lisää](https://web.dev/robots-txt/)."
  },
  "lighthouse-core/audits/seo/robots-txt.js | displayValueHttpBadCode": {
    "message": "Robots.txt-pyyntö palautti HTTP-tilan: {statusCode}"
  },
  "lighthouse-core/audits/seo/robots-txt.js | displayValueValidationError": {
    "message": "{itemCount,plural, =1{1 virhe löydetty}other{# virhettä löydetty}}"
  },
  "lighthouse-core/audits/seo/robots-txt.js | explanation": {
    "message": "Lighthouse ei voinut ladata robots.txt-tiedostoa"
  },
  "lighthouse-core/audits/seo/robots-txt.js | failureTitle": {
    "message": "robots.txt ei ole kelvollinen"
  },
  "lighthouse-core/audits/seo/robots-txt.js | title": {
    "message": "robots.txt on kelvollinen"
  },
  "lighthouse-core/audits/seo/tap-targets.js | description": {
    "message": "Interaktiivisten elementtien, kuten painikkeiden ja linkkien, on oltava tarpeeksi suuria (48 x 48 px) ja niiden ympärillä on oltava tarpeeksi tilaa, jotta niiden napauttaminen onnistuu helposti niin, etteivät ne ole muiden elementtien päällä. [Lue lisää](https://web.dev/tap-targets/)."
  },
  "lighthouse-core/audits/seo/tap-targets.js | displayValue": {
    "message": "{decimalProportion, number, percent} oikean kokoisia napautuskohteita"
  },
  "lighthouse-core/audits/seo/tap-targets.js | explanationViewportMetaNotOptimized": {
    "message": "Napautuskohteet ovat liian pieniä, koska näkymän sisällönkuvauskenttää ei ole optimoitu mobiilinäytöille"
  },
  "lighthouse-core/audits/seo/tap-targets.js | failureTitle": {
    "message": "Napautuskohteet eivät ole sopivan kokoisia"
  },
  "lighthouse-core/audits/seo/tap-targets.js | overlappingTargetHeader": {
    "message": "Päällekkäinen kohde"
  },
  "lighthouse-core/audits/seo/tap-targets.js | tapTargetHeader": {
    "message": "Napautuskohde"
  },
  "lighthouse-core/audits/seo/tap-targets.js | title": {
    "message": "Napautuskohteet ovat sopivan kokoisia"
  },
  "lighthouse-core/audits/server-response-time.js | description": {
    "message": "Varmista, että päädokumentin palvelimen vasteaika on lyhyt, koska kaikki muut pyynnöt ovat riippuvaisia siitä. [Lue lisää](https://web.dev/time-to-first-byte/)."
  },
  "lighthouse-core/audits/server-response-time.js | displayValue": {
    "message": "Päädokumentti käytti {timeInMs, number, milliseconds} ms"
  },
  "lighthouse-core/audits/server-response-time.js | failureTitle": {
    "message": "Lyhennä palvelimen vasteaikaa alussa"
  },
  "lighthouse-core/audits/server-response-time.js | title": {
    "message": "Palvelimen vasteaika alussa oli lyhyt"
  },
  "lighthouse-core/audits/service-worker.js | description": {
    "message": "Service worker ‑teknologia tuo sovelluksen käyttöön monia progressiivisen web-sovelluksen ominaisuuksia, kuten offline-käytön, aloitusnäytölle lisäämisen ja ilmoitukset. [Lue lisää](https://web.dev/service-worker/)."
  },
  "lighthouse-core/audits/service-worker.js | explanationBadManifest": {
    "message": "Service worker hallitsee sivua, mutta osoitetta (`start_url`) ei löytynyt, koska luetteloa ei voitu jäsentää kelvollisena JSONina."
  },
  "lighthouse-core/audits/service-worker.js | explanationBadStartUrl": {
    "message": "Service worker hallitsee sivua, mutta `start_url` ({startUrl}) ei ole workerin toiminta-alueella ({scopeUrl})"
  },
  "lighthouse-core/audits/service-worker.js | explanationNoManifest": {
    "message": "Service worker hallitsee sivua, mutta osoitetta (`start_url`) ei löytynyt, koska luetteloa ei noudettu."
  },
  "lighthouse-core/audits/service-worker.js | explanationOutOfScope": {
    "message": "Lähteessä on ainakin yksi service worker, mutta sivu ({pageUrl}) ei kuulu sen toiminta-alueeseen."
  },
  "lighthouse-core/audits/service-worker.js | failureTitle": {
    "message": "Ei rekisteröi service workeria, jonka hallinnassa sivu ja `start_url` ovat"
  },
  "lighthouse-core/audits/service-worker.js | title": {
    "message": "Rekisteröi service workerin, jonka hallinnassa sivu ja `start_url` ovat"
  },
  "lighthouse-core/audits/splash-screen.js | description": {
    "message": "Teeman sisältävä aloitussivu varmistaa laadukkaan kokemuksen, kun käyttäjä avaa sovelluksen aloitusnäytöltään. [Lue lisää](https://web.dev/splash-screen/)."
  },
  "lighthouse-core/audits/splash-screen.js | failureTitle": {
    "message": "Yksilöityä aloitusnäyttöä ei ole määritetty"
  },
  "lighthouse-core/audits/splash-screen.js | title": {
    "message": "Yksilöity aloitusnäyttö määritetty"
  },
  "lighthouse-core/audits/themed-omnibox.js | description": {
    "message": "Voit muokata selaimen osoitepalkkia sivustosi teeman mukaiseksi. [Lue lisää](https://web.dev/themed-omnibox/)."
  },
  "lighthouse-core/audits/themed-omnibox.js | failureTitle": {
    "message": "Ei aseta osoitepalkin teemaväriä"
  },
  "lighthouse-core/audits/themed-omnibox.js | title": {
    "message": "Asettaa osoitepalkin teemavärin"
  },
  "lighthouse-core/audits/third-party-summary.js | columnBlockingTime": {
    "message": "Pääsäikeen estoaika"
  },
  "lighthouse-core/audits/third-party-summary.js | columnThirdParty": {
    "message": "Kolmas osapuoli"
  },
  "lighthouse-core/audits/third-party-summary.js | description": {
    "message": "Kolmannen osapuolen koodi voi vaikuttaa lataustehokkuuteen merkittävästi. Rajoita tarpeettomien kolmannen osapuolen palveluntarjoajien määrää ja yritä ladata kolmannen osapuolen koodi sen jälkeen, kun sivun ensisijainen lataus on valmis. [Lue lisää](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/)."
  },
  "lighthouse-core/audits/third-party-summary.js | displayValue": {
    "message": "Kolmannen osapuolen koodi esti pääsäikeen {timeInMs, number, milliseconds} ms:n ajan"
  },
  "lighthouse-core/audits/third-party-summary.js | failureTitle": {
    "message": "Vähennä kolmannen osapuolen koodin vaikutusta"
  },
  "lighthouse-core/audits/third-party-summary.js | otherValue": {
    "message": "Muut resurssit"
  },
  "lighthouse-core/audits/third-party-summary.js | title": {
    "message": "Minimoi kolmannen osapuolen käyttö"
  },
  "lighthouse-core/audits/timing-budget.js | columnMeasurement": {
    "message": "Arvo"
  },
  "lighthouse-core/audits/timing-budget.js | columnTimingMetric": {
    "message": "Mittari"
  },
  "lighthouse-core/audits/timing-budget.js | description": {
    "message": "Aseta aikabudjetti, niin voit seurata sivustosi nopeutta. Kun sivusto toimii oikein, sen latausaika on lyhyt ja se vastaa käyttäjän syötteisiin nopeasti. [Lue lisää](https://developers.google.com/web/tools/lighthouse/audits/budgets)."
  },
  "lighthouse-core/audits/timing-budget.js | title": {
    "message": "Aikabudjetti"
  },
  "lighthouse-core/audits/unsized-images.js | description": {
    "message": "Lisää kuvaelementeille kiinteä leveys ja pituus, jotta asettelu muuttuu vähemmän ja CLS paranee. [Lue lisää](https://web.dev/optimize-cls/#images-without-dimensions)"
  },
  "lighthouse-core/audits/unsized-images.js | failureTitle": {
    "message": "Kuvaelementeiltä puuttuu kiinteä `width` ja `height`"
  },
  "lighthouse-core/audits/unsized-images.js | title": {
    "message": "Kuvaelementeillä on kiinteä `width` ja `height`"
  },
  "lighthouse-core/audits/user-timings.js | columnType": {
    "message": "Tyyppi"
  },
  "lighthouse-core/audits/user-timings.js | description": {
    "message": "Suosittelemme käyttämään sovelluksen kehittämisessä User Timing ‑sovellusliittymää mittaamaan todellista toimivuutta tärkeiden käyttökokemusten aikana. [Lue lisää](https://web.dev/user-timings/)."
  },
  "lighthouse-core/audits/user-timings.js | displayValue": {
    "message": "{itemCount,plural, =1{1 käyttäjän ajankäyttömerkintä}other{# käyttäjän ajankäyttömerkintää}}"
  },
  "lighthouse-core/audits/user-timings.js | title": {
    "message": "User Timing ‑merkinnät ja ‑mitat"
  },
  "lighthouse-core/audits/uses-rel-preconnect.js | crossoriginWarning": {
    "message": "A `<link rel=preconnect>` was found for \"{securityOrigin}\" but was not used by the browser. Check that you are using the `crossorigin` attribute properly."
  },
  "lighthouse-core/audits/uses-rel-preconnect.js | description": {
    "message": "Suosittelemme lisäämään sivulle `preconnect`- tai `dns-prefetch` ‑resurssivihjeitä, joiden avulla yhteydet tärkeisiin kolmannen osapuolen lähteisiin voidaan muodostaa ajoissa. [Lue lisää](https://web.dev/uses-rel-preconnect/)."
  },
  "lighthouse-core/audits/uses-rel-preconnect.js | title": {
    "message": "Muodosta yhteydet pakollisiin kohteisiin etukäteen"
  },
  "lighthouse-core/audits/uses-rel-preconnect.js | tooManyPreconnectLinksWarning": {
    "message": "More than 2 `<link rel=preconnect>` connections were found. These should be used sparingly and only to the most important origins."
  },
  "lighthouse-core/audits/uses-rel-preconnect.js | unusedWarning": {
    "message": "A `<link rel=preconnect>` was found for \"{securityOrigin}\" but was not used by the browser. Only use `preconnect` for important origins that the page will certainly request."
  },
  "lighthouse-core/audits/uses-rel-preload.js | crossoriginWarning": {
    "message": "A preload `<link>` was found for \"{preloadURL}\" but was not used by the browser. Check that you are using the `crossorigin` attribute properly."
  },
  "lighthouse-core/audits/uses-rel-preload.js | description": {
    "message": "Suosittelemme käyttämään `<link rel=preload>`-tagia, jotta voit priorisoida resursseja, joiden noutamista pyydetään sivun lataamisen myöhemmässä vaiheessa. [Lue lisää](https://web.dev/uses-rel-preload/)."
  },
  "lighthouse-core/audits/uses-rel-preload.js | title": {
    "message": "Lataa tärkeät pyynnöt etukäteen"
  },
  "lighthouse-core/audits/valid-source-maps.js | columnMapURL": {
    "message": "Kartan URL"
  },
  "lighthouse-core/audits/valid-source-maps.js | description": {
    "message": "Lähdekartat muuntavat pienennetyn koodin alkuperäiseksi lähdekoodiksi. Tämä auttaa kehittäjiä jäljittämään ja korjaamaan virheet tuotantovaiheessa. Lisätietoja saa myös Lighthousesta. Sinun kannattaa ehkä ottaa lähdekartat käyttöön, jotta voit hyödyntää näitä mahdollisuuksia. [Lue lisää](https://developers.google.com/web/tools/chrome-devtools/javascript/source-maps)."
  },
  "lighthouse-core/audits/valid-source-maps.js | failureTitle": {
    "message": "Suuresta ensimmäisen osapuolen JavaScript-kirjastosta puuttuu lähdekarttoja"
  },
  "lighthouse-core/audits/valid-source-maps.js | missingSourceMapErrorMessage": {
    "message": "Suuresta JavaScript-tiedostosta puuttuu lähdekartta"
  },
  "lighthouse-core/audits/valid-source-maps.js | missingSourceMapItemsWarningMesssage": {
    "message": "{missingItems,plural, =1{Varoitus: 1 puuttuva kohde (`.sourcesContent`)}other{Varoitus: # puuttuvaa kohdetta (`.sourcesContent`)}}"
  },
  "lighthouse-core/audits/valid-source-maps.js | title": {
    "message": "Sivulla on kelvollisia lähdekarttoja"
  },
  "lighthouse-core/audits/viewport.js | description": {
    "message": "Lisää `<meta name=\"viewport\">`-tagi optimoidaksesi sovelluksen mobiilinäytöille. [Lue lisää](https://web.dev/viewport/)."
  },
  "lighthouse-core/audits/viewport.js | explanationNoTag": {
    "message": "`<meta name=\"viewport\">`-tagia ei löytynyt"
  },
  "lighthouse-core/audits/viewport.js | failureTitle": {
    "message": "`<meta name=\"viewport\">` ‑tagi, jossa `width` tai `initial-scale`, puuttuu"
  },
  "lighthouse-core/audits/viewport.js | title": {
    "message": "`<meta name=\"viewport\">` ‑tagi, jossa `width` tai `initial-scale`, löytyy"
  },
  "lighthouse-core/audits/without-javascript.js | description": {
    "message": "Sovelluksen tulee näyttää jotakin sisältöä, vaikka JavaScript ei ole toiminnassa. Näytä käyttäjälle vähintään varoitus, että JavaScript on pakollinen sovelluksen käyttöä varten. [Lue lisää](https://web.dev/without-javascript/)."
  },
  "lighthouse-core/audits/without-javascript.js | explanation": {
    "message": "Sivun runko-osan pitäisi renderöidä sisältöä, vaikka sen skriptit eivät ole saatavilla."
  },
  "lighthouse-core/audits/without-javascript.js | failureTitle": {
    "message": "Ei palauta varasisältöä, kun JavaScript ei ole käytettävissä"
  },
  "lighthouse-core/audits/without-javascript.js | title": {
    "message": "Palauttaa sisältöä, vaikka JavaScript ei ole käytettävissä"
  },
  "lighthouse-core/audits/works-offline.js | description": {
    "message": "Jos kehität progressiivista web-sovellusta, harkitse service workerin käyttöä tukemaan sovelluksen toimintaa offline-tilassa. [Lue lisää](https://web.dev/works-offline/)."
  },
  "lighthouse-core/audits/works-offline.js | failureTitle": {
    "message": "Nykyinen sivu ei vastaa 200-viestillä offline-tilassa"
  },
  "lighthouse-core/audits/works-offline.js | title": {
    "message": "Nykyinen sivu vastaa 200-viestillä offline-tilassa"
  },
  "lighthouse-core/audits/works-offline.js | warningNoLoad": {
    "message": "Sivun offline-lataus ei ehkä onnistu, koska testi-URL ({requested}) ohjattiin uudelleen osoitteeseen {final}. Kokeile suoraan toista URL-osoitetta."
  },
  "lighthouse-core/config/default-config.js | a11yAriaGroupDescription": {
    "message": "Näillä voit parantaa ARIA:n käyttöä sovelluksessasi, mikä voi tehdä avustusteknologiaa (kuten näytönlukuohjelmaa) käyttävien kokemuksesta paremman."
  },
  "lighthouse-core/config/default-config.js | a11yAriaGroupTitle": {
    "message": "ARIA"
  },
  "lighthouse-core/config/default-config.js | a11yAudioVideoGroupDescription": {
    "message": "Näillä voit antaa vaihtoehtoista sisältöä äänelle ja videolle. Tämä voi parantaa kuulo- tai näkörajoitteisten käyttäjien kokemusta."
  },
  "lighthouse-core/config/default-config.js | a11yAudioVideoGroupTitle": {
    "message": "Ääni ja video"
  },
  "lighthouse-core/config/default-config.js | a11yBestPracticesGroupDescription": {
    "message": "Näissä kohdissa kerrotaan yleisistä esteettömyyden parhaista käytännöistä."
  },
  "lighthouse-core/config/default-config.js | a11yBestPracticesGroupTitle": {
    "message": "Parhaat käytännöt"
  },
  "lighthouse-core/config/default-config.js | a11yCategoryDescription": {
    "message": "Nämä tarkistukset tuovat esiin kohtia, joissa voit [parantaa verkkosovelluksesi esteettömyyttä](https://developers.google.com/web/fundamentals/accessibility). Vain pieni joukko esteettömyysongelmia voidaan havaita automaattisesti, joten myös manuaalista testaamista suositellaan."
  },
  "lighthouse-core/config/default-config.js | a11yCategoryManualDescription": {
    "message": "Nämä kohteet koskevat alueita, joita automaattinen testaustyökalu ei voi testata. Lue lisää [esteettömyystarkistuksen tekemisen](https://developers.google.com/web/fundamentals/accessibility/how-to-review) oppaastamme."
  },
  "lighthouse-core/config/default-config.js | a11yCategoryTitle": {
    "message": "Esteettömyys"
  },
  "lighthouse-core/config/default-config.js | a11yColorContrastGroupDescription": {
    "message": "Näillä voit parantaa sisältösi luettavuutta."
  },
  "lighthouse-core/config/default-config.js | a11yColorContrastGroupTitle": {
    "message": "Kontrasti"
  },
  "lighthouse-core/config/default-config.js | a11yLanguageGroupDescription": {
    "message": "Näillä voit parantaa tulkintoja, joita eri alueiden käyttäjät tekevät sisällöstäsi."
  },
  "lighthouse-core/config/default-config.js | a11yLanguageGroupTitle": {
    "message": "Kansainvälistyminen ja lokalisointi"
  },
  "lighthouse-core/config/default-config.js | a11yNamesLabelsGroupDescription": {
    "message": "Näillä voit parantaa sovelluksen ohjainten semantiikkaa. Tämä voi parantaa avustusteknologiaa (kuten näytönlukuohjelmaa) käyttävien kokemusta."
  },
  "lighthouse-core/config/default-config.js | a11yNamesLabelsGroupTitle": {
    "message": "Nimet ja tunnisteet"
  },
  "lighthouse-core/config/default-config.js | a11yNavigationGroupDescription": {
    "message": "Nämä ovat tilaisuuksia parantaa näppäimistöllä siirtymistä sovelluksessasi."
  },
  "lighthouse-core/config/default-config.js | a11yNavigationGroupTitle": {
    "message": "Siirtyminen"
  },
  "lighthouse-core/config/default-config.js | a11yTablesListsVideoGroupDescription": {
    "message": "Näillä voit parantaa taulukko- tai listadatan lukukokemusta avustusteknologian (esim. näytönlukuohjelman) kanssa."
  },
  "lighthouse-core/config/default-config.js | a11yTablesListsVideoGroupTitle": {
    "message": "Taulukot ja luettelot"
  },
  "lighthouse-core/config/default-config.js | bestPracticesBrowserCompatGroupTitle": {
    "message": "Selainten yhteensopivuus"
  },
  "lighthouse-core/config/default-config.js | bestPracticesCategoryTitle": {
    "message": "Parhaat käytännöt"
  },
  "lighthouse-core/config/default-config.js | bestPracticesGeneralGroupTitle": {
    "message": "Yleiset"
  },
  "lighthouse-core/config/default-config.js | bestPracticesTrustSafetyGroupTitle": {
    "message": "Luottamus ja turvallisuus"
  },
  "lighthouse-core/config/default-config.js | bestPracticesUXGroupTitle": {
    "message": "Käyttökokemus"
  },
  "lighthouse-core/config/default-config.js | budgetsGroupDescription": {
    "message": "Tehokkuusbudjetit määrittävät sivuston tehokkuuden standardit."
  },
  "lighthouse-core/config/default-config.js | budgetsGroupTitle": {
    "message": "Budjetit"
  },
  "lighthouse-core/config/default-config.js | diagnosticsGroupDescription": {
    "message": "Lisätietoja sovelluksen toiminnasta. Luvut eivät [suoraan vaikuta](https://web.dev/performance-scoring/) tehokkuusprosenttiin."
  },
  "lighthouse-core/config/default-config.js | diagnosticsGroupTitle": {
    "message": "Diagnostiikka"
  },
  "lighthouse-core/config/default-config.js | firstPaintImprovementsGroupDescription": {
    "message": "Tehokkuuden tärkein osa-alue on se, kuinka nopeasti pikselit renderöidään näytölle. Tärkeimmät mittarit ovat ensimmäinen sisällön renderöinti ja ensimmäinen merkityksellinen renderöinti."
  },
  "lighthouse-core/config/default-config.js | firstPaintImprovementsGroupTitle": {
    "message": "Ensimmäistä renderöintiä koskevat parannusehdotukset"
  },
  "lighthouse-core/config/default-config.js | loadOpportunitiesGroupDescription": {
    "message": "Nämä ehdotukset voivat auttaa sivua latautumaan nopeammin. Ne eivät [suoraan vaikuta](https://web.dev/performance-scoring/) tehokkuusprosenttiin."
  },
  "lighthouse-core/config/default-config.js | loadOpportunitiesGroupTitle": {
    "message": "Suositukset"
  },
  "lighthouse-core/config/default-config.js | metricGroupTitle": {
    "message": "Tiedot"
  },
  "lighthouse-core/config/default-config.js | overallImprovementsGroupDescription": {
    "message": "Paranna latauskokemusta kokonaisuutena, jotta sivu on responsiivisempi ja käytettävissä mahdollisimman pian. Tärkeimmät mittarit ovat interaktiivisuutta edeltävä aika ja nopeusindeksi."
  },
  "lighthouse-core/config/default-config.js | overallImprovementsGroupTitle": {
    "message": "Yleiset parannusehdotukset"
  },
  "lighthouse-core/config/default-config.js | performanceCategoryTitle": {
    "message": "Tehokkuus"
  },
  "lighthouse-core/config/default-config.js | pwaCategoryDescription": {
    "message": "Näillä testeillä vahvistetaan progressiivisen web-sovelluksen ominaisuudet. [Lue lisää](https://developers.google.com/web/progressive-web-apps/checklist)."
  },
  "lighthouse-core/config/default-config.js | pwaCategoryManualDescription": {
    "message": "Normaali [PWA Checklist](https://developers.google.com/web/progressive-web-apps/checklist) sisältää nämä kohdat, mutta Lighthouse ei tarkista niitä automaattisesti. Ne eivät vaikuta tulokseesi, mutta on tärkeää, että tarkistat kohdat manuaalisesti."
  },
  "lighthouse-core/config/default-config.js | pwaCategoryTitle": {
    "message": "Progressiivinen web-sovellus"
  },
  "lighthouse-core/config/default-config.js | pwaFastReliableGroupTitle": {
    "message": "Nopea ja luotettava"
  },
  "lighthouse-core/config/default-config.js | pwaInstallableGroupTitle": {
    "message": "Asennettavissa"
  },
  "lighthouse-core/config/default-config.js | pwaOptimizedGroupTitle": {
    "message": "PWA optimoitu"
  },
  "lighthouse-core/config/default-config.js | seoCategoryDescription": {
    "message": "Näillä tarkistuksilla varmistetaan, että sivusi optimoidaan hakukoneiden tulossijoituksia varten. Hakusijoitukseesi voivat vaikuttaa myös muut tekijät, joita Lighthouse ei tarkista. [Lue lisää](https://support.google.com/webmasters/answer/35769)."
  },
  "lighthouse-core/config/default-config.js | seoCategoryManualDescription": {
    "message": "Käytä näitä lisätarkistustyökaluja sivustollasi tarkistaaksesi kaikki hakukoneoptimoinnin parhaat käytännöt."
  },
  "lighthouse-core/config/default-config.js | seoCategoryTitle": {
    "message": "Hakukoneoptimointi"
  },
  "lighthouse-core/config/default-config.js | seoContentGroupDescription": {
    "message": "Muotoile HTML niin, että indeksointirobottien on helpompi ymmärtää sovelluksen sisältöä."
  },
  "lighthouse-core/config/default-config.js | seoContentGroupTitle": {
    "message": "Parhaat sisältökäytännöt"
  },
  "lighthouse-core/config/default-config.js | seoCrawlingGroupDescription": {
    "message": "Indeksointiroboteilla on oltava pääsy sovellukseen, jotta se voi näkyä hakutuloksissa."
  },
  "lighthouse-core/config/default-config.js | seoCrawlingGroupTitle": {
    "message": "Indeksointi ja hakemistoon lisääminen"
  },
  "lighthouse-core/config/default-config.js | seoMobileGroupDescription": {
    "message": "Varmista, että sivut ovat mobiiliystävällisiä, jotta käyttäjien ei tarvitse nipistää tai lähentää sisältösivuja lukeakseen niitä. [Lue lisää](https://developers.google.com/search/mobile-sites/)."
  },
  "lighthouse-core/config/default-config.js | seoMobileGroupTitle": {
    "message": "Mobiiliystävällinen"
  },
  "lighthouse-core/gather/gather-runner.js | warningRedirected": {
    "message": "Sivun lataus ei ehkä onnistu odotetusti, koska testi-URL ({requested}) ohjattiin uudelleen osoitteeseen {final}. Kokeile suoraan toista URL-osoitetta."
  },
  "lighthouse-core/gather/gather-runner.js | warningTimeout": {
    "message": "Sivu ei ehtinyt latautua loppuun aikarajan sisällä. Tuloksista voi puuttua osa."
  },
  "lighthouse-core/lib/i18n/i18n.js | columnCacheTTL": {
    "message": "Välimuistin käyttöikä"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnDuration": {
    "message": "Kesto"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnElement": {
    "message": "Elementti"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnFailingElem": {
    "message": "Hylätyt elementit"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnLocation": {
    "message": "Sijainti"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnName": {
    "message": "Nimi"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnOverBudget": {
    "message": "Ylittää budjetin"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnRequests": {
    "message": "Pyynnöt"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnResourceSize": {
    "message": "Resurssin koko"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnResourceType": {
    "message": "Resurssin tyyppi"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnSize": {
    "message": "Koko"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnSource": {
    "message": "Lähde"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnStartTime": {
    "message": "Aloitusaika"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnTimeSpent": {
    "message": "Käytetty aika"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnTransferSize": {
    "message": "Siirron koko"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnURL": {
    "message": "URL-osoite"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnWastedBytes": {
    "message": "Potentiaalinen säästö"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnWastedMs": {
    "message": "Potentiaalinen säästö"
  },
  "lighthouse-core/lib/i18n/i18n.js | cumulativeLayoutShiftMetric": {
    "message": "Cumulative Layout Shift"
  },
  "lighthouse-core/lib/i18n/i18n.js | displayValueByteSavings": {
    "message": "Potentiaalinen säästö: {wastedBytes, number, bytes} KiB"
  },
  "lighthouse-core/lib/i18n/i18n.js | displayValueElementsFound": {
    "message": "{nodeCount,plural, =1{1 elementti löydetty}other{# elementtiä löydetty}}"
  },
  "lighthouse-core/lib/i18n/i18n.js | displayValueMsSavings": {
    "message": "Potentiaalinen säästö: {wastedMs, number, milliseconds} ms"
  },
  "lighthouse-core/lib/i18n/i18n.js | documentResourceType": {
    "message": "Dokumentti"
  },
  "lighthouse-core/lib/i18n/i18n.js | estimatedInputLatencyMetric": {
    "message": "Arvioitu syöttöviive"
  },
  "lighthouse-core/lib/i18n/i18n.js | firstCPUIdleMetric": {
    "message": "CPU:n ensimmäinen toimettomuusjakso"
  },
  "lighthouse-core/lib/i18n/i18n.js | firstContentfulPaintMetric": {
    "message": "First Contentful Paint"
  },
  "lighthouse-core/lib/i18n/i18n.js | firstMeaningfulPaintMetric": {
    "message": "Ensimmäinen merkityksellinen renderöinti"
  },
  "lighthouse-core/lib/i18n/i18n.js | fontResourceType": {
    "message": "Fontti"
  },
  "lighthouse-core/lib/i18n/i18n.js | imageResourceType": {
    "message": "Kuva"
  },
  "lighthouse-core/lib/i18n/i18n.js | interactiveMetric": {
    "message": "Time to Interactive"
  },
  "lighthouse-core/lib/i18n/i18n.js | largestContentfulPaintMetric": {
    "message": "Largest Contentful Paint"
  },
  "lighthouse-core/lib/i18n/i18n.js | maxPotentialFIDMetric": {
    "message": "Suurin mahdollinen ensimmäisen toiminnon viive"
  },
  "lighthouse-core/lib/i18n/i18n.js | mediaResourceType": {
    "message": "Media"
  },
  "lighthouse-core/lib/i18n/i18n.js | ms": {
    "message": "{timeInMs, number, milliseconds} ms"
  },
  "lighthouse-core/lib/i18n/i18n.js | otherResourceType": {
    "message": "Muu"
  },
  "lighthouse-core/lib/i18n/i18n.js | scriptResourceType": {
    "message": "Skripti"
  },
  "lighthouse-core/lib/i18n/i18n.js | seconds": {
    "message": "{timeInMs, number, seconds} s"
  },
  "lighthouse-core/lib/i18n/i18n.js | speedIndexMetric": {
    "message": "Speed Index"
  },
  "lighthouse-core/lib/i18n/i18n.js | stylesheetResourceType": {
    "message": "Tyylisivu"
  },
  "lighthouse-core/lib/i18n/i18n.js | thirdPartyResourceType": {
    "message": "Kolmas osapuoli"
  },
  "lighthouse-core/lib/i18n/i18n.js | totalBlockingTimeMetric": {
    "message": "Total Blocking Time"
  },
  "lighthouse-core/lib/i18n/i18n.js | totalResourceType": {
    "message": "Yhteensä"
  },
  "lighthouse-core/lib/lh-error.js | badTraceRecording": {
    "message": "Sivun lataamisen jäljen tallennuksessa tapahtui virhe. Suorita Lighthouse uudelleen. ({errorCode})"
  },
  "lighthouse-core/lib/lh-error.js | criTimeout": {
    "message": "Aikakatkaisu: odotetaan yhteyttä virheenkorjausprotokollaan"
  },
  "lighthouse-core/lib/lh-error.js | didntCollectScreenshots": {
    "message": "Chrome ei kerännyt kuvakaappauksia sivun latautumisen aikana. Varmista, että sisältö näkyy sivulla, ja suorita sitten Lighthouse uudelleen. ({errorCode})"
  },
  "lighthouse-core/lib/lh-error.js | dnsFailure": {
    "message": "DNS-palvelimet eivät voineet ratkaista verkkotunnusta."
  },
  "lighthouse-core/lib/lh-error.js | erroredRequiredArtifact": {
    "message": "Vaadittu {artifactName}-keräystoiminto kohtasi virheen: {errorMessage}"
  },
  "lighthouse-core/lib/lh-error.js | internalChromeError": {
    "message": "Tapahtui sisäinen Chrome-virhe. Käynnistä Chrome uudelleen ja yritä suorittaa Lighthouse sen jälkeen."
  },
  "lighthouse-core/lib/lh-error.js | missingRequiredArtifact": {
    "message": "Vaadittua {artifactName}-keräystoimintoa ei suoritettu."
  },
  "lighthouse-core/lib/lh-error.js | notHtml": {
    "message": "Sivu ei ole HTML-muodossa (MIME-tyyppi on {mimeType})."
  },
  "lighthouse-core/lib/lh-error.js | oldChromeDoesNotSupportFeature": {
    "message": "Tämä Chrome-versio ei tue ominaisuutta ({featureName}). Käytä uudempaa versiota, jotta näet tulokset kokonaisuudessaan."
  },
  "lighthouse-core/lib/lh-error.js | pageLoadFailed": {
    "message": "Lighthouse ei pystynyt lataamaan pyytämääsi sivua luotettavasti. Varmista, että testaat oikeaa URL-osoitetta ja että palvelin vastaa kunnolla kaikkiin pyyntöihin."
  },
  "lighthouse-core/lib/lh-error.js | pageLoadFailedHung": {
    "message": "Lighthouse ei pystynyt lataamaan pyytämääsi URL-osoitetta luotettavasti, koska sivu lakkasi vastaamasta."
  },
  "lighthouse-core/lib/lh-error.js | pageLoadFailedInsecure": {
    "message": "Ilmoittamasi URL-osoitteen suojausvarmenne ei ole kelvollinen. {securityMessages}"
  },
  "lighthouse-core/lib/lh-error.js | pageLoadFailedInterstitial": {
    "message": "Chrome esti sivun lataamisen välimainoksella. Varmista, että testaat oikeaa URL-osoitetta ja että palvelin vastaa kunnolla kaikkiin pyyntöihin."
  },
  "lighthouse-core/lib/lh-error.js | pageLoadFailedWithDetails": {
    "message": "Lighthouse ei pystynyt lataamaan pyytämääsi sivua luotettavasti. Varmista, että testaat oikeaa URL-osoitetta ja että palvelin vastaa kunnolla kaikkiin pyyntöihin. (Tiedot: {errorDetails})"
  },
  "lighthouse-core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
    "message": "Lighthouse ei pystynyt lataamaan pyytämääsi sivua luotettavasti. Varmista, että testaat oikeaa URL-osoitetta ja että palvelin vastaa kunnolla kaikkiin pyyntöihin. (Tilakoodi: {statusCode})"
  },
  "lighthouse-core/lib/lh-error.js | pageLoadTookTooLong": {
    "message": "Sivun lataaminen kesti liian kauan. Lyhennä sivun latausaikaa raportin ehdotusten mukaisesti ja yritä suorittaa Lighthouse sen jälkeen. ({errorCode})"
  },
  "lighthouse-core/lib/lh-error.js | protocolTimeout": {
    "message": "DevTools-protokollan vastauksen odotus on ylittänyt sille lasketun ajan. (Tapa: {protocolMethod})"
  },
  "lighthouse-core/lib/lh-error.js | requestContentTimeout": {
    "message": "Resurssisisällön hakeminen on ylittänyt sille varatun ajan"
  },
  "lighthouse-core/lib/lh-error.js | urlInvalid": {
    "message": "Kirjoittamasi URL-osoite näyttää olevan virheellinen."
  },
  "lighthouse-core/report/html/renderer/util.js | auditGroupExpandTooltip": {
    "message": "Näytä tarkastukset"
  },
  "lighthouse-core/report/html/renderer/util.js | calculatorLink": {
    "message": "Katso laskin."
  },
  "lighthouse-core/report/html/renderer/util.js | crcInitialNavigation": {
    "message": "Ensimmäinen navigointi"
  },
  "lighthouse-core/report/html/renderer/util.js | crcLongestDurationLabel": {
    "message": "Kriittisen polun enimmäisviive:"
  },
  "lighthouse-core/report/html/renderer/util.js | dropdownCopyJSON": {
    "message": "Kopioi JSON"
  },
  "lighthouse-core/report/html/renderer/util.js | dropdownDarkTheme": {
    "message": "Tumma teema päälle/pois"
  },
  "lighthouse-core/report/html/renderer/util.js | dropdownPrintExpanded": {
    "message": "Laajennettu tulostus"
  },
  "lighthouse-core/report/html/renderer/util.js | dropdownPrintSummary": {
    "message": "Tulosta yhteenveto"
  },
  "lighthouse-core/report/html/renderer/util.js | dropdownSaveGist": {
    "message": "Tallenna Gistinä"
  },
  "lighthouse-core/report/html/renderer/util.js | dropdownSaveHTML": {
    "message": "Tallenna HTML-muodossa"
  },
  "lighthouse-core/report/html/renderer/util.js | dropdownSaveJSON": {
    "message": "Tallenna JSON-tiedostona"
  },
  "lighthouse-core/report/html/renderer/util.js | dropdownViewer": {
    "message": "Avaa katseluohjelmassa"
  },
  "lighthouse-core/report/html/renderer/util.js | errorLabel": {
    "message": "Virhe!"
  },
  "lighthouse-core/report/html/renderer/util.js | errorMissingAuditInfo": {
    "message": "Raporttivirhe: ei tarkastustietoja"
  },
  "lighthouse-core/report/html/renderer/util.js | footerIssue": {
    "message": "Ilmoita ongelmasta"
  },
  "lighthouse-core/report/html/renderer/util.js | labDataTitle": {
    "message": "Laboratoriodata"
  },
  "lighthouse-core/report/html/renderer/util.js | lsPerformanceCategoryDescription": {
    "message": "[Lighthouse](https://developers.google.com/web/tools/lighthouse/) analysoi nykyisen sivun mobiiliverkon emulaation avulla. Arvot ovat arvioita ja voivat vaihdella."
  },
  "lighthouse-core/report/html/renderer/util.js | manualAuditsGroupTitle": {
    "message": "Lisää manuaalisesti tarkistettavia kohteita"
  },
  "lighthouse-core/report/html/renderer/util.js | notApplicableAuditsGroupTitle": {
    "message": "Ei sovellu"
  },
  "lighthouse-core/report/html/renderer/util.js | opportunityResourceColumnLabel": {
    "message": "Suositus"
  },
  "lighthouse-core/report/html/renderer/util.js | opportunitySavingsColumnLabel": {
    "message": "Arvioitu säästö"
  },
  "lighthouse-core/report/html/renderer/util.js | passedAuditsGroupTitle": {
    "message": "Hyväksytyt tarkastukset"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeDesktopEmulation": {
    "message": "Emuloitu työpöytä"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeMobileEmulation": {
    "message": "Emuloitu Moto G4"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeNoEmulation": {
    "message": "Ei emulointia"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsAxeVersion": {
    "message": "Axe-versio"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsBenchmark": {
    "message": "Suorittimen/muistin teho"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsCPUThrottling": {
    "message": "Suorittimen rajoittaminen"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsChannel": {
    "message": "Kanava"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsDevice": {
    "message": "Laite"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsFetchTime": {
    "message": "Noutoaika"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsNetworkThrottling": {
    "message": "Verkon hidastaminen"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsTitle": {
    "message": "Suoritusajan asetukset"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsUA": {
    "message": "Käyttäjäagentti (isäntä)"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsUANetwork": {
    "message": "Käyttäjäagentti (verkko)"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeSettingsUrl": {
    "message": "URL-osoite"
  },
  "lighthouse-core/report/html/renderer/util.js | runtimeUnknown": {
    "message": "Ei tietoa"
  },
  "lighthouse-core/report/html/renderer/util.js | snippetCollapseButtonLabel": {
    "message": "Tiivistä koodinpätkä"
  },
  "lighthouse-core/report/html/renderer/util.js | snippetExpandButtonLabel": {
    "message": "Laajenna koodinpätkä"
  },
  "lighthouse-core/report/html/renderer/util.js | thirdPartyResourcesLabel": {
    "message": "Näytä kolmannen osapuolen resurssit"
  },
  "lighthouse-core/report/html/renderer/util.js | throttlingProvided": {
    "message": "Ympäristön tarjoama"
  },
  "lighthouse-core/report/html/renderer/util.js | toplevelWarningsMessage": {
    "message": "Lighthousen suorituksessa havaittiin ongelmia:"
  },
  "lighthouse-core/report/html/renderer/util.js | varianceDisclaimer": {
    "message": "Arvot ovat arvioita ja voivat vaihdella. [Tehokkuusprosentti lasketaan](https://web.dev/performance-scoring/) suoraan näistä mittareista."
  },
  "lighthouse-core/report/html/renderer/util.js | warningAuditsGroupTitle": {
    "message": "Läpäisi tarkastukset, mutta sai varoituksia"
  },
  "lighthouse-core/report/html/renderer/util.js | warningHeader": {
    "message": "Varoitukset: "
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
    "message": "For animated content, use [`amp-anim`](https://amp.dev/documentation/components/amp-anim/) to minimize CPU usage when the content is offscreen."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | offscreen-images": {
    "message": "Ensure that you are using [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) for images to automatically lazy-load. [Learn more](https://amp.dev/documentation/guides-and-tutorials/develop/media_iframes_3p/?format=websites#images)."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | render-blocking-resources": {
    "message": "Käytä [AMP-optimoijaa](https://github.com/ampproject/amp-toolbox/tree/master/packages/optimizer) ja muita työkaluja [AMP-asettelujen palvelinpuolen renderöintiin](https://amp.dev/documentation/guides-and-tutorials/optimize-and-measure/server-side-rendering/)."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | unminified-css": {
    "message": "Refer to the [AMP documentation](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/style_pages/) to ensure all styles are supported."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | uses-responsive-images": {
    "message": "The [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) component supports the [`srcset`](https://web.dev/use-srcset-to-automatically-choose-the-right-image/) attribute to specify which image assets to use based on the screen size. [Learn more](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/art_direction/)."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | uses-webp-images": {
    "message": "Consider displaying all [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites) components in WebP formats while specifying an appropriate fallback for other browsers. [Learn more](https://amp.dev/documentation/components/amp-img/#example:-specifying-a-fallback-image)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | dom-size": {
    "message": "Harkitse virtuaalivieritystä Component Dev Kitissä (CDK), jos laajoja listoja renderöidään. [Lue lisää](https://web.dev/virtualize-lists-with-angular-cdk/)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | total-byte-weight": {
    "message": "Apply [route-level code splitting](https://web.dev/route-level-code-splitting-in-angular/) to minimize the size of your JavaScript bundles. Also, consider precaching assets with the [Angular service worker](https://web.dev/precaching-with-the-angular-service-worker/)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | unminified-warning": {
    "message": "Jos käytät Angular CLI:tä, varmista että versiot luodaan tuotantotilassa. [Lue lisää](https://angular.io/guide/deployment#enable-runtime-production-mode)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | unused-javascript": {
    "message": "If you are using Angular CLI, include source maps in your production build to inspect your bundles. [Learn more](https://angular.io/guide/deployment#inspect-the-bundles)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | uses-rel-preload": {
    "message": "Lataa reittejä ennalta navigoinnin nopeuttamiseksi. [Lue lisää](https://web.dev/route-preloading-in-angular/)."
  },
  "node_modules/lighthouse-stack-packs/packs/angular.js | uses-responsive-images": {
    "message": "Harkitse `BreakpointObserver` ‑avustajan käyttöä Component Dev Kitissä (CDK) kuvien raja-arvojen hallintaan. [Lue lisää](https://material.angular.io/cdk/layout/overview)."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | efficient-animated-content": {
    "message": "GIF kannattaa ehkä ladata palveluun, jonka avulla se voidaan upottaa HTML5-videona."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | font-display": {
    "message": "Valitse `@font-display`, kun määrität teemaasi yksilöityjä fontteja."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
    "message": "Install [a Drupal module](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A67&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=%22lazy+load%22&solrsort=iss_project_release_usage+desc&op=Search) that can lazy load images. Such modules provide the ability to defer any offscreen images to improve performance."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | render-blocking-resources": {
    "message": "Consider using a module to inline critical CSS and JavaScript, or potentially load assets asynchronously via JavaScript such as the [Advanced CSS/JS Aggregation](https://www.drupal.org/project/advagg) module. Beware that optimizations provided by this module may break your site, so you will likely need to make code changes."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | time-to-first-byte": {
    "message": "Teemat, moduulit ja palvelinasetukset vaikuttavat kaikki palvelimen vastausaikaan. Sinun kannattaa ehkä etsiä optimoidumpi teema, valita optimointimoduuli tai päivittää palvelimesi. Hosting-palvelimiesi olisi hyvä käyttää PHP-toimintokoodin ja muun sisällön tallentamista välimuistiin, mikä auttaa lyhentämään tietokantojen kyselyaikoja (esim. Redis tai Memcached). Lisäksi niiden tulee käyttää optimoitua sovelluslogiikkaa sivujen nopeampaan valmisteluun."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | total-byte-weight": {
    "message": "Sinun kannattaa ehkä käyttää [Responsive Image Styles](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) (Responsiiviset kuvatyylit) ‑toimintoa sivullasi ladattavien kuvien pienentämiseen. Jos näytät sivulla useita kohteita Viewsin avulla, sinun kannattaa ehkä rajoittaa yhdellä sivulla näkyvien kohteiden määrää ottamalla sivunumerointi käyttöön."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-css": {
    "message": "Varmista, että Aggregate CSS files (Kokoa CSS-tiedostot) ‑toiminto on otettu käyttöön kohdassa Administration > Configuration > Development (Järjestelmänvalvonta > Määritys > Kehitys). Voit myös määrittää lisää koontiasetuksia käyttämällä [lisämoduuleja](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A123&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=css+aggregation&solrsort=iss_project_release_usage+desc&op=Search), mikä voi nopeuttaa sivustosi toimintaa ketjuttamalla, pienentämällä ja pakkaamalla CSS-tyylejä."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unminified-javascript": {
    "message": "Varmista, että Aggregate JavaScript files (Kokoa JavaScript-tiedostot) ‑toiminto on otettu käyttöön kohdassa Administration > Configuration > Development (Järjestelmänvalvonta > Määritys > Kehitys). Voit myös määrittää lisää koontiasetuksia käyttämällä [lisämoduuleja](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A123&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=javascript+aggregation&solrsort=iss_project_release_usage+desc&op=Search), mikä voi nopeuttaa sivustosi toimintaa ketjuttamalla, pienentämällä ja pakkaamalla JavaScript-sisältöä."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-css-rules": {
    "message": "Sinun kannattaa ehkä poistaa käyttämättömät CSS-säännöt ja liittää relevanttiin sivuun tai sivun osaan vain tarvittavat Drupal-kirjastot. Saat lisätietoja [Drupal-dokumentaatiosta](https://www.drupal.org/docs/8/creating-custom-modules/adding-stylesheets-css-and-javascript-js-to-a-drupal-8-module#library). Voit etsiä tarpeetonta CSS:ää lisääviä liitettyjä kirjastoja tutkimalla [koodin testikattavuutta](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) Chromen DevToolsissa. Löydät syynä olevan teeman tai moduulin tarkistamalla tyyliarkin URL-osoitteen, kun CSS-koonti on poistettuna käytöstä Drupal-sivustollasi. Etsi teemoja ja moduuleja, joilla on monia tyyliarkkeja luettelossa ja paljon punaista koodin testikattavuudessa. Teeman tai moduulin pitäisi lisätä tyyliarkki jonoon vain, jos sitä todella käytetään sivulla."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | unused-javascript": {
    "message": "Consider removing unused JavaScript assets and only attach the needed Drupal libraries to the relevant page or component in a page. See the [Drupal documentation link](https://www.drupal.org/docs/8/creating-custom-modules/adding-stylesheets-css-and-javascript-js-to-a-drupal-8-module#library) for details. To identify attached libraries that are adding extraneous JavaScript, try running [code coverage](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) in Chrome DevTools. You can identify the theme/module responsible from the URL of the script when JavaScript aggregation is disabled in your Drupal site. Look out for themes/modules that have many scripts in the list which have a lot of red in code coverage. A theme/module should only enqueue a script if it is actually used on the page."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-long-cache-ttl": {
    "message": "Määritä Browser and proxy cache maximum age (Selaimen ja välityspalvelimen välitysmuistin enimmäisikä) ‑asetus kohdassa Administration > Configuration > Development (Järjestelmänvalvonta > Määritys > Kehitys). Lue lisää [Drupalin välimuistista ja toiminnan optimoinnista](https://www.drupal.org/docs/7/managing-site-performance-and-scalability/caching-to-improve-performance/caching-overview#s-drupal-performance-resources)."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-optimized-images": {
    "message": "Sinun kannattaa ehkä käyttää [moduulia](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A123&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=optimize+images&solrsort=iss_project_release_usage+desc&op=Search), joka optimoi ja pienentää sivuston kautta ladattuja kuvia, mutta säilyttää niiden laadun. Varmista lisäksi, että käytät kaikkien sivustolla renderöitävien kuvien kanssa Drupalin natiivia [Responsive Image Styles](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) (Responsiiviset kuvatyylit) ‑toimintoa, joka on saatavilla Drupalin versiosta 8 alkaen."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-rel-preconnect": {
    "message": "Voit lisätä preconnect- tai dns-prefetch-resurssivihjeitä asentamalla ja määrittämällä [moduulin](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=dns-prefetch&solrsort=iss_project_release_usage+desc&op=Search), joka edesauttaa käyttäjäagentin resurssivihjeiden toimintaa."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-responsive-images": {
    "message": "Varmista, että käytät Drupalin natiivia [Responsive Image Styles](https://www.drupal.org/docs/8/mobile-guide/responsive-images-in-drupal-8) (Responsiiviset kuvatyylit) ‑toimintoa, joka on saatavilla Drupalin versiosta 8 alkaen. Käytä Responsive Image Styles ‑toimintoa, kun renderöit kuvakenttiä hyödyntämällä katselutiloja, näkymiä tai WYSIWYG-muokkaustyökalulla ladattuja kuvia."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | uses-webp-images": {
    "message": "Consider installing and configuring [a module to leverage WebP image formats](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=webp&solrsort=iss_project_release_usage+desc&op=Search) in your site. Such modules automatically generate a WebP version of your uploaded images to optimize loading times."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | efficient-animated-content": {
    "message": "GIF kannattaa ehkä ladata palveluun, jonka avulla se voidaan upottaa HTML5-videona."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | offscreen-images": {
    "message": "Install a [lazy-load Joomla plugin](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=lazy%20loading) that provides the ability to defer any offscreen images, or switch to a template that provides that functionality. Starting with Joomla 4.0, a dedicated lazy-loading plugin can be enabled by using the \"Content - Lazy Loading Images\" plugin. Also consider using [an AMP plugin](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=amp)."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | render-blocking-resources": {
    "message": "Tietyt Joomla-laajennukset voivat [tuoda tärkeää sisältöä sivun sisälle](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) tai [lykätä vähemmän tärkeiden resurssien lataamista](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance). Huomaa, että näiden laajennusten suorittamat optimoinnit voivat rikkoa mallien tai muiden laajennusten toimintoja, joten sinun on testattava ne huolellisesti."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | server-response-time": {
    "message": "Mallit, laajennukset ja palvelinasetukset vaikuttavat kaikki palvelimen vastausaikaan. Sinun kannattaa ehkä etsiä optimoidumpi malli, valita optimointilaajennus tai päivittää palvelimesi."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | total-byte-weight": {
    "message": "Sinun kannattaa ehkä näyttää näytteitä artikkeliluokistasi (esim. lue lisää ‑linkillä), vähentää yhdellä sivulla näkyvien artikkelien määrää, jakaa pitkät postaukset useille sivuille tai käyttää laajennusta kommenttien lataamiseen tarveohjatusti."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unminified-css": {
    "message": "Tietyt [Joomla-laajennukset](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) voivat nopeuttaa sivustosi toimintaa ketjuttamalla, pienentämällä ja pakkaamalla CSS-tyylejä. Nämä toiminnot sisältyvät myös joihinkin malleihin."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unminified-javascript": {
    "message": "Tietyt [Joomla-laajennukset](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance) voivat nopeuttaa sivustosi toimintaa ketjuttamalla, pienentämällä ja pakkaamalla skriptejä. Nämä toiminnot sisältyvät myös joihinkin malleihin."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unused-css-rules": {
    "message": "Sinun kannattaa ehkä vähentää tai vaihtaa [Joomla-laajennuksia](https://extensions.joomla.org/), jotka lataavat käyttämätöntä CSS:ää sivullasi. Etsi tarpeetonta CSS:ää lisääviä laajennuksia tutkimalla [koodin testikattavuutta](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) Chromen DevToolsissa. Löydät syynä olevan teeman tai laajennuksen tarkistamalla tyyliarkin URL-osoitteen. Etsi laajennuksia, joilla on monia tyyliarkkeja luettelossa ja paljon punaista koodin testikattavuudessa. Laajennuksen pitäisi lisätä tyyliarkki jonoon vain, jos sitä todella käytetään sivulla."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | unused-javascript": {
    "message": "Sinun kannattaa ehkä vähentää tai vaihtaa [Joomla-laajennuksia](https://extensions.joomla.org/), jotka lataavat käyttämätöntä JavaScriptiä sivullasi. Etsi tarpeetonta JS:ää lisääviä laajennuksia tutkimalla [koodin testikattavuutta](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) Chromen DevToolsissa. Löydät syynä olevan laajennuksen tarkistamalla skriptin URL-osoitteen. Etsi laajennuksia, joilla on monia skriptejä luettelossa ja paljon punaista koodin testikattavuudessa. Laajennuksen pitäisi lisätä skripti jonoon vain, jos sitä todella käytetään sivulla."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-long-cache-ttl": {
    "message": "Lue lisää [selaimen välimuistin käytöstä Joomlassa](https://docs.joomla.org/Cache)."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-optimized-images": {
    "message": "Sinun kannattaa ehkä käyttää [kuvaoptimointilaajennusta](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=performance), joka pakkaa kuvat mutta säilyttää niiden laadun."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-responsive-images": {
    "message": "Sinun kannattaa ehkä käyttää [responsiivisten kuvien laajennusta](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=responsive%20images), jolloin voit käyttää responsiivisia kuvia sisällössäsi."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-text-compression": {
    "message": "Voit ottaa tekstin pakkaamisen käyttöön laittamalla Gzip Page Compression (Sivun Gzip-pakkaus) ‑toiminnon päälle Joomlassa. Valitse System > Global configuration > Server (Järjestelmä > Yleiset asetukset > Palvelin)."
  },
  "node_modules/lighthouse-stack-packs/packs/joomla.js | uses-webp-images": {
    "message": "Sinun kannattaa ehkä käyttää [laajennusta](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=webp) tai palvelua, joka muuntaa ladatut kuvat automaattisesti oikeisiin muotoihin."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | critical-request-chains": {
    "message": "Jos et vielä kokoa JavaScript-sisältöä nipuiksi, harkitse[niputtajan (baler)](https://github.com/magento/baler) käyttöä."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | disable-bundling": {
    "message": "Poista käytöstä Magenton sisäänrakennettu [JavaScriptin niputus ja pienennys](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/js-bundling.html) ja harkitse sen sijaan [niputtajan](https://github.com/magento/baler/) käyttöä."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | font-display": {
    "message": "Valitse `@font-display`, kun[määrität omia kirjasimia](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/css-topics/using-fonts.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | offscreen-images": {
    "message": "Muokkaa tuote- ja kuvastomalleja niin, että ne hyödyntävät verkkoalustan [lykätty lataus](https://web.dev/native-lazy-loading) ‑ominaisuutta."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | time-to-first-byte": {
    "message": "Käytä Magenton [Varnish-integraatiota](https://devdocs.magento.com/guides/v2.3/config-guide/varnish/config-varnish.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unminified-css": {
    "message": "Ota kaupan kehittäjäasetuksista käyttöön vaihtoehto Pienennä CSS-tiedostot. [Lue lisää](https://devdocs.magento.com/guides/v2.3/performance-best-practices/configuration.html?itm_source=devdocs&itm_medium=search_page&itm_campaign=federated_search&itm_term=minify%20css%20files)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unminified-javascript": {
    "message": "Pienennä kaikki JavaScript-sisältö [Terserillä](https://www.npmjs.com/package/terser) staattisen julkaisun vaiheesta ja poista sisäänrakennettu pienennysominaisuus käytöstä."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | unused-javascript": {
    "message": "Poista käytöstä Magenton sisäänrakennettu [JavaScript-niputus](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/js-bundling.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-optimized-images": {
    "message": "Etsi [Magento Marketplacesta](https://marketplace.magento.com/catalogsearch/result/?q=optimize%20image) erilaisia kolmannen osapuolen laajennuksia kuvien optimointiin."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-rel-preconnect": {
    "message": "Preconnect- tai dns-prefetch-resurssivihjeitä voidaan lisätä [muuttamalla teeman asettelua](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-rel-preload": {
    "message": "`<link rel=preload>`-tagit voidaan lisätä [muuttamalla teeman asettelua](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/magento.js | uses-webp-images": {
    "message": "Etsi [Magento Marketplacesta](https://marketplace.magento.com/catalogsearch/result/?q=webp) erilaisia kolmannen osapuolen laajennuksia uusien kuvamuotojen hyödyntämiseksi."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | dom-size": {
    "message": "Consider using a “windowing” library like `react-window` to minimize the number of DOM nodes created if you are rendering many repeated elements on the page. [Learn more](https://web.dev/virtualize-long-lists-react-window/). Also, minimize unnecessary re-renders using [`shouldComponentUpdate`](https://reactjs.org/docs/optimizing-performance.html#shouldcomponentupdate-in-action), [`PureComponent`](https://reactjs.org/docs/react-api.html#reactpurecomponent), or [`React.memo`](https://reactjs.org/docs/react-api.html#reactmemo) and [skip effects](https://reactjs.org/docs/hooks-effect.html#tip-optimizing-performance-by-skipping-effects) only until certain dependencies have changed if you are using the `Effect` hook to improve runtime performance."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | redirects": {
    "message": "Jos käytät React Routeria, minimoi `<Redirect>`-komponentin käyttö [reittinavigoinnissa](https://reacttraining.com/react-router/web/api/Redirect)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | time-to-first-byte": {
    "message": "Jos renderöit React-komponentteja palvelinpuolella, `renderToNodeStream()` tai `renderToStaticNodeStream()` voi auttaa niin, että asiakas saa vastaanottaa ja aktivoida merkintöjen eri kohtia kerralla käsittelyn sijaan. [Lue lisää](https://reactjs.org/docs/react-dom-server.html#rendertonodestream)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unminified-css": {
    "message": "If your build system minifies CSS files automatically, ensure that you are deploying the production build of your application. You can check this with the React Developer Tools extension. [Learn more](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unminified-javascript": {
    "message": "If your build system minifies JS files automatically, ensure that you are deploying the production build of your application. You can check this with the React Developer Tools extension. [Learn more](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unused-javascript": {
    "message": "Jos et vielä renderöi palvelinpuolella, [jaa JavaScript-niput osiin](https://web.dev/code-splitting-suspense/) – `React.lazy()` voi auttaa. Jaa muussa tapauksessa koodi osiin kolmannen osapuolen kirjastolla, esimerkiksi [loadable-components](https://www.smooth-code.com/open-source/loadable-components/docs/getting-started/)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | user-timings": {
    "message": "Käytä React DevTools Profileria, joka käyttää React-sovellusliittymää, komponenttien renderöinnin mittaamiseen. [Lue lisää.](https://reactjs.org/blog/2018/09/10/introducing-the-react-profiler.html)"
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | efficient-animated-content": {
    "message": "GIF kannattaa ehkä ladata palveluun, jonka avulla se voidaan upottaa HTML5-videona."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | offscreen-images": {
    "message": "Asenna [WordPressin lazy load ‑laajennus](https://wordpress.org/plugins/search/lazy+load/), joka lykkää näytöllä näkymättömien kuvien lataamista, tai vaihda teemaan, joka tarjoaa tämän ominaisuuden. Harkitse myös [AMP-laajennuksen](https://wordpress.org/plugins/amp/) käyttöä."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | render-blocking-resources": {
    "message": "Monet WordPress-laajennukset voivat [tuoda tärkeää materiaalia sivun sisälle](https://wordpress.org/plugins/search/critical+css/) tai [lykätä vähemmän tärkeiden resurssien lataamista](https://wordpress.org/plugins/search/defer+css+javascript/). Huomaa, että näiden laajennusten tuomat optimoinnit voivat rikkoa teeman tai laajennusten toimintoja, joten sinun on todennäköisesti muutettava koodia."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | time-to-first-byte": {
    "message": "Teemat, laajennukset ja palvelinasetukset vaikuttavat kaikki palvelimen vastausaikaan. Sinun kannattaa ehkä etsiä optimoidumpi teema, valita optimointilaajennus tai päivittää palvelimesi."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | total-byte-weight": {
    "message": "Sinun kannattaa ehkä näyttää postausluettelossa katkelmia (esim. more-tagin avulla), näyttää yhdellä sivulla vähemmän postauksia, jakaa pitkät postaukset usealle sivulle tai käyttää kommenttien lazy load ‑laajennusta."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unminified-css": {
    "message": "Monet [WordPress-laajennukset](https://wordpress.org/plugins/search/minify+css/) voivat nopeuttaa sivustosi toimintaa yhdistämällä, kutistamalla ja pakkaamalla tyylejä. Tämä kutistaminen voidaan mahdollisesti tehdä jo aiemmin kehitysvaiheen prosessilla."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unminified-javascript": {
    "message": "Monet [WordPress-laajennukset](https://wordpress.org/plugins/search/minify+javascript/) voivat nopeuttaa sivustosi toimintaa yhdistämällä, kutistamalla ja pakkaamalla skriptejä. Tämä kutistaminen voidaan mahdollisesti tehdä jo aiemmin kehitysvaiheen prosessilla."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-css-rules": {
    "message": "Sinun kannattaa ehkä poistaa tai vaihtaa toisiin [WordPress-laajennuksia](https://wordpress.org/plugins/), jotka lataavat sivulla käyttämätöntä CSS:ää. Etsi tarpeetonta CSS:ää lisääviä laajennuksia [tutkimalla koodin testikattavuutta](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) Chromen DevToolsissa. Löydät syynä olevan teeman tai laajennuksen tyylitiedoston URL-osoitteen avulla. Etsi laajennuksia, joilla on monia tyylitiedostoja luettelossa ja paljon punaista koodin testikattavuudessa. Laajennuksen pitäisi lisätä tyylitiedosto jonoon vain, jos sitä todella käytetään sivulla."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | unused-javascript": {
    "message": "Sinun kannattaa ehkä poistaa tai vaihtaa toisiin [WordPress-laajennuksia](https://wordpress.org/plugins/), jotka lataavat sivulla käyttämätöntä JavaScriptiä. Etsi tarpeetonta JS:ää lisääviä laajennuksia [tutkimalla koodin testikattavuutta](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) Chromen DevToolsissa. Löydät syynä olevan teeman tai laajennuksen skriptin URL-osoitteen avulla. Etsi laajennuksia, joilla on monia skriptejä luettelossa ja paljon punaista koodin testikattavuudessa. Laajennuksen pitäisi lisätä skripti jonoon vain, jos sitä todella käytetään sivulla."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-long-cache-ttl": {
    "message": "Lue lisää [selaimen välimuistin käytöstä WordPressissä](https://wordpress.org/support/article/optimization/#browser-caching)."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-optimized-images": {
    "message": "Harkitse [WordPressin kuvaoptimointilaajennusta](https://wordpress.org/plugins/search/optimize+images/), joka pakkaa kuvat mutta säilyttää niiden laadun."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-responsive-images": {
    "message": "Lataa kuvat suoraan [mediakirjastosta](https://wordpress.org/support/article/media-library-screen/), jolloin oikeat kuvakoot ovat varmasti saatavilla, ja lisää ne kuvakirjastosta tai varmista oikeiden kuvakokojen käyttö kuva-widgetillä (myös responsiivisuuden raja-arvojen kohdalla). Älä käytä kuvia, joiden koko on `Full Size`, paitsi jos sivun koko on riittävä. [Lue lisää](https://wordpress.org/support/article/inserting-images-into-posts-and-pages/)."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-text-compression": {
    "message": "Voit ottaa tekstin pakkaamisen käyttöön palvelimen määrityksistä."
  },
  "node_modules/lighthouse-stack-packs/packs/wordpress.js | uses-webp-images": {
    "message": "Sinun kannattaa ehkä käyttää [laajennusta](https://wordpress.org/plugins/search/convert+webp/) tai palvelua, joka muuntaa ladatut kuvat automaattisesti oikeisiin muotoihin."
  }
}
