{
  "flow-report/src/i18n/ui-strings.js | allReports": {
    "message": "Kaikki raportit"
  },
  "flow-report/src/i18n/ui-strings.js | categories": {
    "message": "Kategoriat"
  },
  "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
    "message": "Esteettömyys"
  },
  "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
    "message": "Parhaat käytännöt"
  },
  "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
    "message": "Tehokkuus"
  },
  "flow-report/src/i18n/ui-strings.js | categoryProgressiveWebApp": {
    "message": "Progressiivinen web-sovellus"
  },
  "flow-report/src/i18n/ui-strings.js | categorySeo": {
    "message": "Hakukoneoptimointi"
  },
  "flow-report/src/i18n/ui-strings.js | desktop": {
    "message": "Tietokone"
  },
  "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
    "message": "Lighthousen käyttökulkuraportin tulkitseminen"
  },
  "flow-report/src/i18n/ui-strings.js | helpLabel": {
    "message": "Tietoja käyttökuluista"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
    "message": "Käytä navigointiraportteja näihin tarkoituksiin:"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
    "message": "Käytä Snapshotia näihin tarkoituksiin:"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
    "message": "Käytä aikajanaraportteja näihin tarkoituksiin:"
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
    "message": "Nouda Lighthouse-suorituskykyprosentti."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
    "message": "Mittaa sivulatauksia sivun latautumisajan ja nopeusindeksin kaltaisilla mittareilla."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
    "message": "Arvioi progressiivisten web-sovellusten ominaisuuksia."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
    "message": "Löydä esteettömyysongelmia yhden sivun sovelluksista tai monimutkaisista muodoista."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
    "message": "Arvioi toiminnan taakse piilotettujen valikoiden ja UI-elementtien parhaita käytäntöjä."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
    "message": "Mittaa asettelun muutoksia ja JavaScriptin suoritusaikoja toimintasarjoissa."
  },
  "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
    "message": "Tutustu tapoihin, joilla voit parantaa pitkäaikaisten sivujen ja yhden sivun sovellusten käyttökokemusta."
  },
  "flow-report/src/i18n/ui-strings.js | highestImpact": {
    "message": "Suurin vaikutus"
  },
  "flow-report/src/i18n/ui-strings.js | informativeAuditCount": {
    "message": "{numInformative,plural, =1{{numInformative} informatiivinen tarkastus}other{{numInformative} informatiivista tarkastusta}}"
  },
  "flow-report/src/i18n/ui-strings.js | mobile": {
    "message": "Mobiili"
  },
  "flow-report/src/i18n/ui-strings.js | navigationDescription": {
    "message": "Sivun lataaminen"
  },
  "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
    "message": "Navigointiraporteissa analysoidaan yksi sivun lataus, aivan kuten alkuperäisissä Lighthouse-raporteissa."
  },
  "flow-report/src/i18n/ui-strings.js | navigationReport": {
    "message": "Navigointiraportti"
  },
  "flow-report/src/i18n/ui-strings.js | navigationReportCount": {
    "message": "{numNavigation,plural, =1{{numNavigation} navigointiraportti}other{{numNavigation} navigointiraporttia}}"
  },
  "flow-report/src/i18n/ui-strings.js | passableAuditCount": {
    "message": "{numPassableAudits,plural, =1{{numPassableAudits} läpäistävissä oleva tarkastus}other{{numPassableAudits} läpäistävissä olevaa tarkastusta}}"
  },
  "flow-report/src/i18n/ui-strings.js | passedAuditCount": {
    "message": "{numPassed,plural, =1{{numPassed} tarkastus läpäisty}other{{numPassed} tarkastusta läpäisty}}"
  },
  "flow-report/src/i18n/ui-strings.js | ratingAverage": {
    "message": "Keskimääräinen"
  },
  "flow-report/src/i18n/ui-strings.js | ratingError": {
    "message": "Virhe"
  },
  "flow-report/src/i18n/ui-strings.js | ratingFail": {
    "message": "Huono"
  },
  "flow-report/src/i18n/ui-strings.js | ratingPass": {
    "message": "Hyvä"
  },
  "flow-report/src/i18n/ui-strings.js | save": {
    "message": "Tallenna"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
    "message": "Sivun kuvakaappaustila"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
    "message": "Snapshot-raporteissa analysoidaan sivua tietyssä tilassa, yleensä käyttäjien toiminnan jälkeen."
  },
  "flow-report/src/i18n/ui-strings.js | snapshotReport": {
    "message": "Tilannekuvaraportti"
  },
  "flow-report/src/i18n/ui-strings.js | snapshotReportCount": {
    "message": "{numSnapshot,plural, =1{{numSnapshot} tilannekuvaraportti}other{{numSnapshot} tilannekuvaraporttia}}"
  },
  "flow-report/src/i18n/ui-strings.js | summary": {
    "message": "Yhteenveto"
  },
  "flow-report/src/i18n/ui-strings.js | timespanDescription": {
    "message": "Käyttäjän toiminta"
  },
  "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
    "message": "Aikaväliraporteissa analysoidaan satunnainen ajanjakso, joka yleensä sisältää käyttäjien toimintaa."
  },
  "flow-report/src/i18n/ui-strings.js | timespanReport": {
    "message": "Aikaväliraportti"
  },
  "flow-report/src/i18n/ui-strings.js | timespanReportCount": {
    "message": "{numTimespan,plural, =1{{numTimespan} aikaväliraportti}other{{numTimespan} aikaväliraporttia}}"
  },
  "flow-report/src/i18n/ui-strings.js | title": {
    "message": "Lighthousen käyttökulkuraportti"
  },
  "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-command-name.js | description": {
    "message": "Jos elementin 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-name/)."
  },
  "lighthouse-core/audits/accessibility/aria-command-name.js | failureTitle": {
    "message": "Elementeillä (`button`, `link` ja `menuitem`) ei ole esteettömiä nimiä"
  },
  "lighthouse-core/audits/accessibility/aria-command-name.js | title": {
    "message": "Elementeillä (`button`, `link` ja `menuitem`) on esteettömät nimet"
  },
  "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-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-meter-name.js | description": {
    "message": "Jos elementin 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-name/)."
  },
  "lighthouse-core/audits/accessibility/aria-meter-name.js | failureTitle": {
    "message": "ARIA-elementeillä (`meter`) ei ole esteettömiä nimiä"
  },
  "lighthouse-core/audits/accessibility/aria-meter-name.js | title": {
    "message": "ARIA-elementeillä (`meter`) on esteettömät nimet"
  },
  "lighthouse-core/audits/accessibility/aria-progressbar-name.js | description": {
    "message": "Jos elementin (`progressbar`) 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-name/)."
  },
  "lighthouse-core/audits/accessibility/aria-progressbar-name.js | failureTitle": {
    "message": "ARIA-elementeillä (`progressbar`) ei ole esteettömiä nimiä"
  },
  "lighthouse-core/audits/accessibility/aria-progressbar-name.js | title": {
    "message": "ARIA-elementeillä (`progressbar`) on esteettömät nimet"
  },
  "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-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-tooltip-name.js | description": {
    "message": "Jos elementin 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-name/)."
  },
  "lighthouse-core/audits/accessibility/aria-tooltip-name.js | failureTitle": {
    "message": "ARIA-elementeillä (`tooltip`) ei ole esteettömiä nimiä"
  },
  "lighthouse-core/audits/accessibility/aria-tooltip-name.js | title": {
    "message": "ARIA-elementeillä (`tooltip`) on esteettömät nimet"
  },
  "lighthouse-core/audits/accessibility/aria-treeitem-name.js | description": {
    "message": "Jos elementin 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-name/)."
  },
  "lighthouse-core/audits/accessibility/aria-treeitem-name.js | failureTitle": {
    "message": "ARIA-elementeillä (`treeitem`) ei ole esteettömiä nimiä"
  },
  "lighthouse-core/audits/accessibility/aria-treeitem-name.js | title": {
    "message": "ARIA-elementeillä (`treeitem`) on esteettömät nimet"
  },
  "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/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 vaihtoehtoista tekstiä."
  },
  "lighthouse-core/audits/accessibility/object-alt.js | title": {
    "message": "`<object>`-elementeissä on vaihtoehtoista 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": "Elementit (`<video>`) eivät sisällä elementtiä (`<track>`), jossa on `[kind=\"captions\"]`"
  },
  "lighthouse-core/audits/accessibility/video-caption.js | title": {
    "message": "Elementit (`<video>`) sisältävät elementin (`<track>`), jossa on `[kind=\"captions\"]`"
  },
  "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": "Nykyinen arvo"
  },
  "lighthouse-core/audits/autocomplete.js | columnSuggestions": {
    "message": "Ehdotettu tunnus"
  },
  "lighthouse-core/audits/autocomplete.js | description": {
    "message": "`autocomplete` auttaa käyttäjiä lähettämään lomakkeita nopeammin. Voit helpottaa lomakkeiden täyttämistä, jos otat ominaisuuden käyttöön lisäämällä `autocomplete`-määritteelle kelvollisen arvon. [Lue lisää](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>`-elementeillä ei ole tarvittavia `autocomplete`-määritteitä"
  },
  "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>`-elementeillä on käytössä tarvittava `autocomplete`"
  },
  "lighthouse-core/audits/autocomplete.js | warningInvalid": {
    "message": "`autocomplete`-tunnukset: \"{token}\" on virheellinen ({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/modern-image-formats.js | description": {
    "message": "WebP:n ja AVIF:n kaltaiset kuvamuodot pakkautuvat usein paremmin kuin PNG tai JPEG, mikä nopeuttaa lataamista ja kuluttaa vähemmän dataa. [Lue lisää](https://web.dev/uses-webp-images/)."
  },
  "lighthouse-core/audits/byte-efficiency/modern-image-formats.js | title": {
    "message": "Jakele kuvat seuraavan sukupolven muodoissa"
  },
  "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": "Vähennä tyylisivujen käyttämättömiä sääntöjä ja lykkää sellaista CSS:ää, jota ei käytetä sivun yläosan sisältöön, niin vähennät verkkotoiminnan tavujen kulutusta. [Lue lisää](https://web.dev/unused-css-rules/)."
  },
  "lighthouse-core/audits/byte-efficiency/unused-css-rules.js | title": {
    "message": "Vähennä käyttämätöntä CSS:ää"
  },
  "lighthouse-core/audits/byte-efficiency/unused-javascript.js | description": {
    "message": "Vähennä käyttämätöntä JavaScriptiä ja lykkää skriptien lataamista, kunnes niiden on vähennettävä verkkotoiminnan tavujen kulutusta. [Lue lisää](https://web.dev/unused-javascript/)."
  },
  "lighthouse-core/audits/byte-efficiency/unused-javascript.js | title": {
    "message": "Vähennä käyttämätöntä JavaScriptiä"
  },
  "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-snapshot.js | columnActualDimensions": {
    "message": "Todelliset mitat"
  },
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
    "message": "Ilmoitetut mitat"
  },
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
    "message": "Kuvat olivat näytettyä kokoa suurempia"
  },
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
    "message": "Kuvat olivat näytettyyn kokoon nähden sopivia"
  },
  "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/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/csp-xss.js | columnDirective": {
    "message": "Sääntö"
  },
  "lighthouse-core/audits/csp-xss.js | columnSeverity": {
    "message": "Vakavuus"
  },
  "lighthouse-core/audits/csp-xss.js | description": {
    "message": "Vahva Content Security Policy ‑käytäntö (CSP) vähentää merkittävästi cross-site scripting (XSS) ‑hyökkäyksien riskiä. [Lue lisää](https://web.dev/csp-xss/)"
  },
  "lighthouse-core/audits/csp-xss.js | itemSeveritySyntax": {
    "message": "Syntaksi"
  },
  "lighthouse-core/audits/csp-xss.js | metaTagMessage": {
    "message": "Sivu sisältää <meta>-tagissa määritetyn CSP:n. Harkitse CSP:n määrittämistä HTTP-ylätunnisteessa, jos mahdollista."
  },
  "lighthouse-core/audits/csp-xss.js | noCsp": {
    "message": "Täytäntöönpanotilasta ei löytynyt CSP:tä"
  },
  "lighthouse-core/audits/csp-xss.js | title": {
    "message": "Varmista, että CSP tehoaa XSS-hyökkäyksiä vastaan"
  },
  "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/charset.js | description": {
    "message": "Merkistökoodausilmoitus vaaditaan. Sen voi tehdä `<meta>`-tagilla HTML:n ensimmäisen 1 024 tavun sisällä tai HTTP:n vastauksen otsikon sisältötyyppi-kohdassa. [Lue lisää](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/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/inspector-issues.js | columnIssueType": {
    "message": "Ongelmatyyppi"
  },
  "lighthouse-core/audits/dobetterweb/inspector-issues.js | description": {
    "message": "Chrome DevToolsin `Issues`-paneeliin kirjatut virheet viittaavat ratkaisemattomiin ongelmiin. Ne voivat johtua epäonnistuneista verkkopyynnöistä, riittämättömistä tietoturva-asetuksista ja muista selainongelmista. Katso lisätietoja kustakin ongelmasta avaamalla Chrome DevToolsin Ongelmat-paneeli."
  },
  "lighthouse-core/audits/dobetterweb/inspector-issues.js | failureTitle": {
    "message": "Ongelmat kirjattiin Chrome DevToolsin `Issues`-paneeliin"
  },
  "lighthouse-core/audits/dobetterweb/inspector-issues.js | issueTypeBlockedByResponse": {
    "message": "Eri lähteitä koskevan käytännön estämä"
  },
  "lighthouse-core/audits/dobetterweb/inspector-issues.js | issueTypeHeavyAds": {
    "message": "Resursseja kuluttavat raskaat mainokset"
  },
  "lighthouse-core/audits/dobetterweb/inspector-issues.js | title": {
    "message": "Ei ongelmia Chrome DevToolsin `Issues`-paneelissa"
  },
  "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 | 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 ja kanavoinnin. [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 | 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-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 | already-installed": {
    "message": "Sovellus on jo asennettu"
  },
  "lighthouse-core/audits/installable-manifest.js | cannot-download-icon": {
    "message": "Tarvittavan kuvakkeen lataaminen teknisistä tiedoista ei onnistunut"
  },
  "lighthouse-core/audits/installable-manifest.js | columnValue": {
    "message": "Epäonnistumisen syy"
  },
  "lighthouse-core/audits/installable-manifest.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. Jos service worker ja manifesti on otettu käyttöön oikein, selaimet voivat aktiivisesti suositella käyttäjille sovelluksesi lisäämistä aloitusnäytölle, mikä voi lisätä aktivoitumisten määrää. [Lue lisää](https://web.dev/installable-manifest/)."
  },
  "lighthouse-core/audits/installable-manifest.js | displayValue": {
    "message": "{itemCount,plural, =1{1 syy}other{# syytä}}"
  },
  "lighthouse-core/audits/installable-manifest.js | failureTitle": {
    "message": "Web app manifest ja service worker eivät täytä asennettavuusvaatimuksia"
  },
  "lighthouse-core/audits/installable-manifest.js | ids-do-not-match": {
    "message": "Play Kauppa ‑sovelluksen URL ja Play Kaupan tunnus eivät täsmää"
  },
  "lighthouse-core/audits/installable-manifest.js | in-incognito": {
    "message": "Sivu ladataan incognito-ikkunassa"
  },
  "lighthouse-core/audits/installable-manifest.js | manifest-display-not-supported": {
    "message": "Manifestin \"display\"-omaisuuden on oltava \"standalone\", \"fullscreen\" tai \"minimal-ui\""
  },
  "lighthouse-core/audits/installable-manifest.js | manifest-display-override-not-supported": {
    "message": "Manifestissä on \"display_override\"-kenttä, ja ensimmäisen tuetun näyttötilan on oltava \"standalone\", \"fullscreen\" tai \"minimal-ui\""
  },
  "lighthouse-core/audits/installable-manifest.js | manifest-empty": {
    "message": "Manifestin nouto ei onnistunut, se on tyhjä tai ei jäsenneltävissä"
  },
  "lighthouse-core/audits/installable-manifest.js | manifest-location-changed": {
    "message": "Manifestin URL muuttui manifestin noudon aikana"
  },
  "lighthouse-core/audits/installable-manifest.js | manifest-missing-name-or-short-name": {
    "message": "Manifestiin ei sisälly \"name\"- tai \"short_name\"-kenttää"
  },
  "lighthouse-core/audits/installable-manifest.js | manifest-missing-suitable-icon": {
    "message": "Manifestissa ei ole sopivaa kuvaketta, siinä on oltava vähintään {value0} pikselin kokoinen PNG-, SVG- tai WebP-tiedosto, kokomäärite on lisättävä ja mahdollisen tarkoitusmääritteen on oltava \"any\"."
  },
  "lighthouse-core/audits/installable-manifest.js | no-acceptable-icon": {
    "message": "Mikään kuvakkeista ei ole vähintään {value0} pikselin kokoinen PNG-, SVG- tai WebP-tiedosto, kun tarkoitusmääritettä ei ole lisätty tai se on \"any\"."
  },
  "lighthouse-core/audits/installable-manifest.js | no-icon-available": {
    "message": "Ladattu kuvake oli tyhjä tai vioittunut"
  },
  "lighthouse-core/audits/installable-manifest.js | no-id-specified": {
    "message": "Ei Play Kaupan tunnusta"
  },
  "lighthouse-core/audits/installable-manifest.js | no-manifest": {
    "message": "Sivulta puuttuu manifestin <link>-URL"
  },
  "lighthouse-core/audits/installable-manifest.js | no-matching-service-worker": {
    "message": "Vastaavaa service workeria ei havaittu. Sinun on ehkä päivitettävä sivu ja tarkistettava, kattaako nykyisen sivun service workerin laajuus manifestin ja aloitus-URL:in."
  },
  "lighthouse-core/audits/installable-manifest.js | no-url-for-service-worker": {
    "message": "Service workeria ei voitu tarkistaa, koska manifestistä puuttuu \"start_url\"-kenttä"
  },
  "lighthouse-core/audits/installable-manifest.js | noErrorId": {
    "message": "Asennettavuusvirheen tunnusta \"{errorId}\" ei tunnistettu"
  },
  "lighthouse-core/audits/installable-manifest.js | not-from-secure-origin": {
    "message": "Sivu ei ole peräisin turvallisesta lähteestä"
  },
  "lighthouse-core/audits/installable-manifest.js | not-in-main-frame": {
    "message": "Sivu ei lataudu pääkehyksessä"
  },
  "lighthouse-core/audits/installable-manifest.js | not-offline-capable": {
    "message": "Sivu ei toimi ilman verkkoyhteyttä"
  },
  "lighthouse-core/audits/installable-manifest.js | pipeline-restarted": {
    "message": "PWA on poistettu ja asennettavuustarkistuksia nollataan."
  },
  "lighthouse-core/audits/installable-manifest.js | platform-not-supported-on-android": {
    "message": "Määritettyä sovellusalustaa ei tueta Androidilla"
  },
  "lighthouse-core/audits/installable-manifest.js | prefer-related-applications": {
    "message": "Manifestin määritys prefer_related_applications: true"
  },
  "lighthouse-core/audits/installable-manifest.js | prefer-related-applications-only-beta-stable": {
    "message": "prefer_related_applications on tuettu vain Chromen betaversioissa ja vakaissa versioissa Androidilla."
  },
  "lighthouse-core/audits/installable-manifest.js | protocol-timeout": {
    "message": "Lighthouse ei havainnut service workeria. Yritä uudelleen Chromen uudemmalla versiolla."
  },
  "lighthouse-core/audits/installable-manifest.js | start-url-not-valid": {
    "message": "Manifestin aloitus-URL ei kelpaa"
  },
  "lighthouse-core/audits/installable-manifest.js | title": {
    "message": "Web app manifest ja service worker täyttävät asennettavuusvaatimukset"
  },
  "lighthouse-core/audits/installable-manifest.js | url-not-supported-for-webapk": {
    "message": "Manifestissa oleva URL sisältää käyttäjänimen, salasanan tai portin"
  },
  "lighthouse-core/audits/installable-manifest.js | warn-not-offline-capable": {
    "message": "Sivu ei toimi ilman verkkoyhteyttä. Tämä sivu ei enää ole ladattavissa Chrome 93:n vakaan version jälkeen (julkaistaan elokuussa 2021)."
  },
  "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": "Kaikki sivustot on suojattava HTTPS:llä, vaikka ne eivät käsittelisi arkaluontoista dataa. Vältä myös [yhdistelmäsisältöä](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content) eli alkupyyntöön vastaamista HTTPS:llä ja joidenkin resurssien lataamista HTTP:llä. HTTPS estää tunkeutujia peukaloimasta sovelluksesi ja sen käyttäjien välistä toimintaa tai seuraamasta sitä passiivisesti. HTTPS:ää edellytetään HTTP/2:ssa ja monien uusien verkkoalustojen käyttöliittymissä. [Lue lisää](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/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/lcp-lazy-loaded.js | description": {
    "message": "Laiskasti latautuvat sivun yläosan kuvat renderöidään sivulla myöhemmin, mikä voi viivästyttää sivun latautumisaikaa. [Lue lisää](https://web.dev/lcp-lazy-loading/)."
  },
  "lighthouse-core/audits/lcp-lazy-loaded.js | failureTitle": {
    "message": "Sivun latautumisajan kuva latautui laiskasti"
  },
  "lighthouse-core/audits/lcp-lazy-loaded.js | title": {
    "message": "Sivun latautumisajan kuva ei latautunut laiskasti"
  },
  "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/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-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. siirtymisvälimuistin toiminnan. Käytä sen sijaan `pagehide`- tai `visibilitychange`-tapahtumia. [Lue lisää](https://web.dev/bfcache/#never-use-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/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/preload-lcp-image.js | description": {
    "message": "Esilataa LCP-elementin käyttämä kuva, jotta voit parantaa sivun latautumisaikaa. [Lue lisää](https://web.dev/optimize-lcp/#preload-important-resources)."
  },
  "lighthouse-core/audits/preload-lcp-image.js | title": {
    "message": "Esilataa sivun latautumisajan kuva"
  },
  "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 | 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": "Ei ole absoluuttinen 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-facades.js | categoryCustomerSuccess": {
    "message": "{productName} (asiakkaiden menestystarinat)"
  },
  "lighthouse-core/audits/third-party-facades.js | categoryMarketing": {
    "message": "{productName} (markkinointi)"
  },
  "lighthouse-core/audits/third-party-facades.js | categorySocial": {
    "message": "{productName} (some)"
  },
  "lighthouse-core/audits/third-party-facades.js | categoryVideo": {
    "message": "{productName} (video)"
  },
  "lighthouse-core/audits/third-party-facades.js | columnProduct": {
    "message": "Tuote"
  },
  "lighthouse-core/audits/third-party-facades.js | description": {
    "message": "Osa kolmansien osapuolten upotuksista on ladattavissa laiskasti. Kannattaa ehkä korvata ne fasadeilla, kunnes niitä tarvitaan. [Lue lisää](https://web.dev/third-party-facades/)."
  },
  "lighthouse-core/audits/third-party-facades.js | displayValue": {
    "message": "{itemCount,plural, =1{# vaihtoehtoinen fasadi saatavilla}other{# vaihtoehtoista fasadia saatavilla}}"
  },
  "lighthouse-core/audits/third-party-facades.js | failureTitle": {
    "message": "Osa kolmansien osapuolten sisällöstä on ladattavissa laiskasti fasadin avulla"
  },
  "lighthouse-core/audits/third-party-facades.js | title": {
    "message": "Lataa kolmansien osapuolten sisältöä laiskemmin fasadeilla"
  },
  "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 | 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": "`<link rel=preconnect>` löytyi osoitteelle {securityOrigin}, mutta selain ei käyttänyt sitä. Varmista, että käytät eri lähteiden `crossorigin`-määritettä oikein."
  },
  "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": "`<link rel=preconnect>`-yhteyksiä löytyi enemmän kuin kaksi. Niitä tulee käyttää säästeliäästi ja vain tärkeimpiin alkuperiin."
  },
  "lighthouse-core/audits/uses-rel-preconnect.js | unusedWarning": {
    "message": "`<link rel=preconnect>` löytyi osoitteelle {securityOrigin}, mutta selain ei käyttänyt sitä. Valitse `preconnect` vain tärkeille alkuperille, joita sivu pyytää varmasti."
  },
  "lighthouse-core/audits/uses-rel-preload.js | crossoriginWarning": {
    "message": "Latausta edeltävä `<link>` löytyi osoitteelle {preloadURL}, mutta selain ei käyttänyt sitä. Varmista, että käytät eri lähteiden `crossorigin`-määritettä oikein."
  },
  "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": "`<meta name=\"viewport\">` optimoi sovelluksesi mobiilinäyttöjen kokoja varten ja lisäksi estää [käyttäjän syötteen 300 millisekunnin viiveen](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). [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/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ää [saavutettavuustarkistuksen 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": "PWA"
  },
  "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ä testeillä varmistetaan, että sivusi seuraa hakukoneoptimoinnin perusneuvoja. On myös monia muita tekijöitä, joita Lighthouse ei ota täällä huomioon mutta jotka voivat vaikuttaa hakusijoitukseesi, esim. [Sivuston suorituskyky](https://web.dev/learn-web-vitals/) ‑tulokset. [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/driver/environment.js | warningSlowHostCpu": {
    "message": "Testatun laitteen CPU näyttää olevan hitaampi kuin Lighthouse olettaa. Tämä voi vaikuttaa tuloksiin negatiivisesti. Lue lisää [sopivan CPU-hidastuskertoimen kalibroinnista](https://github.com/GoogleChrome/lighthouse/blob/master/docs/throttling.md#cpu-throttling)."
  },
  "lighthouse-core/gather/driver/navigation.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/driver/navigation.js | warningTimeout": {
    "message": "Sivu ei ehtinyt latautua loppuun aikarajan sisällä. Tuloksista voi puuttua osa."
  },
  "lighthouse-core/gather/driver/storage.js | warningData": {
    "message": "{locationCount,plural, =1{Tähän sijaintiin on voitu tallentaa dataa, joka vaikuttaa lataukseen: {locations}. Tarkista sivu incognito-ikkunassa, jotta voit estää kyseisten resurssien vaikutuksen tuloksiisi.}other{Näihin sijainteihin on voitu tallentaa dataa, joka vaikuttaa lataukseen: {locations}. Tarkista sivu incognito-ikkunassa, jotta voit estää kyseisten resurssien vaikutuksen tuloksiisi.}}"
  },
  "lighthouse-core/lib/csp-evaluator.js | allowlistFallback": {
    "message": "Harkitse https:- ja http:-URL-osoitteen kaavojen (joita \"strict-dynamicia\" tukevat selaimet ohittavat) lisäämistä, niin voit saavuttaa taaksepäinyhteensopivuuden vanhempien selainten kanssa."
  },
  "lighthouse-core/lib/csp-evaluator.js | deprecatedDisownOpener": {
    "message": "CSP3:sta lähtien disown-opener on poistettu käytöstä. Käytä sen sijaan Cross-Origin-Opener-Policy-ylätunnistetta."
  },
  "lighthouse-core/lib/csp-evaluator.js | deprecatedReferrer": {
    "message": "CSP2:sta lähtien referrer on poistettu käytöstä. Käytä sen sijaan Referrer-Policy-ylätunnistetta."
  },
  "lighthouse-core/lib/csp-evaluator.js | deprecatedReflectedXSS": {
    "message": "CSP2:sta lähtien reflected-xss on poistettu käytöstä. Käytä sen sijaan X-XSS-Protection-ylätunnistetta."
  },
  "lighthouse-core/lib/csp-evaluator.js | missingBaseUri": {
    "message": "Puuttuva base-uri sallii injektoitujen <base>-tagien määrittää kaikkien suhteellisten URL-osoitteiden (esim. skriptien) pohja-URL-osoitteen hyökkääjän hallitsemaan verkkotunnukseen. Sinun kannattaa valita base-urin arvoksi \"none\" tai \"self\"."
  },
  "lighthouse-core/lib/csp-evaluator.js | missingObjectSrc": {
    "message": "Puuttuva object-src sallii riskialttiita skriptejä suorittavien liitännäisten injektoinnin. Sinun kannattaa määrittää object-src:n arvoksi \"none\", jos mahdollista."
  },
  "lighthouse-core/lib/csp-evaluator.js | missingScriptSrc": {
    "message": "script-src-sääntö puuttuu. Tämä mahdollistaa vaarallisten skriptien suorittamisen."
  },
  "lighthouse-core/lib/csp-evaluator.js | missingSemicolon": {
    "message": "Unohditko puolipisteen? Näyttää siltä, että {keyword} on sääntö eikä avainsana."
  },
  "lighthouse-core/lib/csp-evaluator.js | nonceCharset": {
    "message": "Noncesien on käytettävä base64-merkistöä."
  },
  "lighthouse-core/lib/csp-evaluator.js | nonceLength": {
    "message": "Noncesien on oltava vähintään kahdeksan merkkiä."
  },
  "lighthouse-core/lib/csp-evaluator.js | plainUrlScheme": {
    "message": "Vältä tavallisten URL-mallien ({keyword}) käyttämistä tässä säännössä. Tavalliset URL-mallit sallivat skriptit, jotka ovat peräisin riskialttiista verkkotunnuksista."
  },
  "lighthouse-core/lib/csp-evaluator.js | plainWildcards": {
    "message": "Vältä tavallisten jokerimerkkien ({keyword}) käyttämistä tässä säännössä. Tavalliset jokerimerkit sallivat skriptit, jotka ovat peräisin riskialttiista verkkotunnuksista."
  },
  "lighthouse-core/lib/csp-evaluator.js | reportToOnly": {
    "message": "Raportointimääränpään voi määrittää vain report-to-säännön kautta. Vain Chromium-pohjaiset selaimet tukevat kyseistä sääntöä, joten on suositeltavaa käyttää myös report-uri-sääntöä."
  },
  "lighthouse-core/lib/csp-evaluator.js | reportingDestinationMissing": {
    "message": "Raportointimääränpäätä määrittävää CSP:tä ei ole. Tämän takia on hankala säilyttää CSP:tä ajan mittaa ja seurata vaurioita."
  },
  "lighthouse-core/lib/csp-evaluator.js | strictDynamic": {
    "message": "Isännän sallitut luettelot ovat usein ohitettavissa. Sinun kannattaa ehkä käyttää kertakäyttöisiä CSP-nonceja tai ‑hasheja \"strict-dynamic\"-koodin lisäksi."
  },
  "lighthouse-core/lib/csp-evaluator.js | unknownDirective": {
    "message": "Tuntematon CSP-sääntö."
  },
  "lighthouse-core/lib/csp-evaluator.js | unknownKeyword": {
    "message": "Näyttää siltä, että {keyword} on virheellinen avainsana."
  },
  "lighthouse-core/lib/csp-evaluator.js | unsafeInline": {
    "message": "\"unsafe-inlinen\" avulla voidaan suorittaa vaarallisia sivun sisäisiä skriptejä ja tapahtumien käsittelijöitä. Harkitse skriptien salliminen yksitellen käyttämällä CSP-nonceja tai ‑hasheja."
  },
  "lighthouse-core/lib/csp-evaluator.js | unsafeInlineFallback": {
    "message": "Harkitse \"unsafe-inlinen\" (jonka nonceja/hasheja tukevat selaimet ohittavat) lisäämistä, niin voit saavuttaa taaksepäinyhteensopivuuden vanhempien selainten kanssa."
  },
  "lighthouse-core/lib/i18n/i18n.js | columnBlockingTime": {
    "message": "Pääsäikeen estoaika"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnCacheTTL": {
    "message": "Välimuistin käyttöikä"
  },
  "lighthouse-core/lib/i18n/i18n.js | columnDescription": {
    "message": "Kuvaus"
  },
  "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 | 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 | itemSeverityHigh": {
    "message": "Vakava"
  },
  "lighthouse-core/lib/i18n/i18n.js | itemSeverityLow": {
    "message": "Vähäinen"
  },
  "lighthouse-core/lib/i18n/i18n.js | itemSeverityMedium": {
    "message": "Kohtalainen"
  },
  "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 | otherResourcesLabel": {
    "message": "Muut resurssit"
  },
  "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 | noFcp": {
    "message": "Sivu ei renderöinyt mitään sisältöä. Pidä selainikkuna etualalla latauksen aikana ja yritä uudelleen. ({errorCode})"
  },
  "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."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | efficient-animated-content": {
    "message": "Käytä animoidun sisällön kanssa [`amp-anim`](https://amp.dev/documentation/components/amp-anim/)-ominaisuutta, joka minimoi suoritinkäytön, kun sisältö ei ole näytöllä."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | modern-image-formats": {
    "message": "Harkitse kaikkien [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites)-komponenttien näyttämistä WebP-muodoissa ja lisää varavaihtoehto muita selaimia varten. [Lue lisää](https://amp.dev/documentation/components/amp-img/#example:-specifying-a-fallback-image)."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | offscreen-images": {
    "message": "Varmista, että käytössä on [`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites), jotta kuvien lataamista lykätään automaattisesti. [Lue lisää](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": "Lue [AMP-dokumentaatio](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/style_pages/) ja varmista, että kaikkia tyylejä tuetaan."
  },
  "node_modules/lighthouse-stack-packs/packs/amp.js | uses-responsive-images": {
    "message": "[`amp-img`](https://amp.dev/documentation/components/amp-img/?format=websites)-komponentti tukee [`srcset`](https://web.dev/use-srcset-to-automatically-choose-the-right-image/)-määritettä, jolla määritetään käytettävä kuvasisältö näytön koon perusteella. [Lue lisää](https://amp.dev/documentation/guides-and-tutorials/develop/style_and_layout/art_direction/)."
  },
  "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": "Minimoi JavaScript-nippujen koko [reittitason koodinjakamisella](https://web.dev/route-level-code-splitting-in-angular/). Harkitse myös sisällön tallentamista välimuistiin etukäteen [Angular-service workerilla](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": "Jos käytät Angular CLI:tä, lisää tuotantoversioosi lähdekartat nippujen tarkistamista varten. [Lue lisää](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 | modern-image-formats": {
    "message": "Sinun kannattaa ehkä asentaa ja määrittää [moduuli, jolla voit käyttää WebP-kuvamuotoja](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) sivustollasi. Tällaiset moduulit optimoivat latautumisaikoja luomalla WebP-versioita lataamistasi kuvista automaattisesti."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
    "message": "Asenna [Drupal-moduuli](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), joka voi ladata kuvia tarveohjatusti. Tällaiset moduulit voivat parantaa toimintaa lykkäämällä näytön ulkopuolella olevien kuvien lataamista."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | render-blocking-resources": {
    "message": "Sinun kannattaa ehkä käyttää moduulia, joka voi tuoda kriittistä CSS:ää tai JavaScriptiä sivun sisälle tai mahdollisesti ladata sisältöä asynkronisesti JavaScriptin avulla (esim. [Advanced CSS/JS Aggregation](https://www.drupal.org/project/advagg) ‑moduuli). Huomaathan, että tämän moduulin suorittamat optimoinnit voivat rikkoa sivustosi, joten sinun on todennäköisesti muutettava koodia."
  },
  "node_modules/lighthouse-stack-packs/packs/drupal.js | server-response-time": {
    "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": "Sinun kannattaa ehkä poistaa käyttämätön JavaScript-sisältö 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 JavaScriptiä 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 skriptin URL-osoitteen, kun JavaScript-koonti on poistettuna käytöstä Drupal-sivustollasi. Etsi teemoja ja moduuleja, joilla on monia skriptejä luettelossa ja paljon punaista koodin testikattavuudessa. Teeman tai moduulin pitäisi lisätä skripti jonoon vain, jos sitä todella käytetään sivulla."
  },
  "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/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 | modern-image-formats": {
    "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/joomla.js | offscreen-images": {
    "message": "Asenna [Joomlan laiskan latautumisen liitännäinen](https://extensions.joomla.org/instant-search/?jed_live%5Bquery%5D=lazy%20loading), joka lykkää muiden kuin näytöllä näkyvien kuvien latautumista, tai vaihda malliin, joka tarjoaa tämän ominaisuuden. Joomla 4.0:sta alkaen kaikille kuville lisätään [automaattisesti](https://github.com/joomla/joomla-cms/pull/30748) `loading`-ydinmäärite."
  },
  "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/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 | modern-image-formats": {
    "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/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 | server-response-time": {
    "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/next.js | modern-image-formats": {
    "message": "Jos haluat jaella moderneissa muodoissa (esim. `WebP` ja `AVIF`), käytä `Next.js` Image Optimization APIa. [Lue lisää](https://nextjs.org/docs/api-reference/next/image#acceptable-formats)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
    "message": "Valitse `next/image`, jonka oletusarvo on `loading=\"lazy\"`. [Lue lisää](https://nextjs.org/docs/api-reference/next/image#loading)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | render-blocking-resources": {
    "message": "Lykkää ei-kriittisten kolmannen osapuolen skriptien lataamista suorittamalla `next/script`. [Lue lisää](https://nextjs.org/docs/basic-features/script)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-css-rules": {
    "message": "Ota `PurgeCSS` käyttöön määrityksessä (`Next.js`), jotta voit poistaa tyyliarkkien käyttämättömät säännöt. [Lue lisää](https://purgecss.com/guides/next.html)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-javascript": {
    "message": "Valitse `Webpack Bundle Analyzer`, jotta voit havaita käyttämättömän JavaScript-ohjelmakoodin. [Lue lisää](https://github.com/vercel/next.js/tree/canary/packages/next-bundle-analyzer)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | user-timings": {
    "message": "Sinun kannattaa ehkä valita `Next.js Analytics`, jotta voit mitata sovelluksen todellista toimivuutta. [Lue lisää](https://nextjs.org/docs/advanced-features/measuring-performance)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-long-cache-ttl": {
    "message": "Määritä muuttumattomien kohteiden ja `Server-side Rendered` (SSR) ‑sivujen välimuistiin siirtäminen. [Lue lisää](https://nextjs.org/docs/going-to-production#caching)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
    "message": "Jos haluat optimoida kuvat, valitse `next/image` (ei `<img>`). [Lue lisää](https://nextjs.org/docs/basic-features/image-optimization)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
    "message": "Suorita `next/image`, jotta `sizes` voi saada sopivan arvon. [Lue lisää](https://nextjs.org/docs/api-reference/next/image#sizes)."
  },
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-text-compression": {
    "message": "Salli pakkaus Next.js-palvelimellasi. [Lue lisää](https://nextjs.org/docs/api-reference/next.config.js/compression)."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
    "message": "[Korvaa animoidut GIFit videoilla](https://web.dev/replace-gifs-with-videos/), mikä nopeuttaa verkkosivujen latautumista. Kannattaa myös käyttää nykyaikaisia tiedostomuotoja (esim. [WebM](https://web.dev/replace-gifs-with-videos/#create-webm-videos) tai [AV1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder)), jotka voivat pakata yli 30 % tehokkaammin kuin VP9."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | modern-image-formats": {
    "message": "Harkitse [laajennusta](https://octobercms.com/plugins?search=image) tai palvelua, joka muuntaa ladatut kuvat automaattisesti oikeaan muotoon. [Häviöttömät WebP-kuvat](https://developers.google.com/speed/webp) ovat kooltaan 26 % pienempiä kuin PNG:t ja 25–34 % pienempiä kuin vertailukelpoiset JPEG-kuvat vastaavassa SSIM-laatuindeksissä. Myös [AVIF](https://jakearchibald.com/2020/avif-has-landed/) on mahdollinen seuraavan sukupolven kuvamuoto."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | offscreen-images": {
    "message": "Kannattaa ehkä asentaa [kuvien laiskan latautumisen liitännäinen](https://octobercms.com/plugins?search=lazy), joka lykkää muiden kuin näytöllä näkyvien kuvien latautumista, tai vaihtaa malliin, joka tarjoaa tämän ominaisuuden. Harkitse myös [AMP-liitännäisen](https://octobercms.com/plugins?search=Accelerated+Mobile+Pages) käyttöä."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | render-blocking-resources": {
    "message": "Liitännäisistä (plugin) voi olla apua [tärkeiden osien järjestelemisessä](https://octobercms.com/plugins?search=css). En voivat kuitenkin rikkoa muita liitännäisiä, joten testaa ne huolellisesti."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | server-response-time": {
    "message": "Teemat, liitännäiset ja palvelinasetukset vaikuttavat kaikki palvelimen vastausaikaan. Kannattaa ehkä etsiä optimoidumpi teema, valita optimointiliitännäinen tai päivittää palvelin. October CMSin ansiosta [`Queues`](https://octobercms.com/docs/services/queues) voivat auttaa kehittäjiä aikaa vievien tehtävien (esim. sähköpostin lähettämisen) lykkäämisessä. Tämä nopeuttaa verkkopyyntöjä merkittävästi."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | total-byte-weight": {
    "message": "Kannattaa ehkä näyttää postauslistalla katkelmia (esim. `show more`-painikkeella), vähentää yhdellä verkkosivulla näkyvien postauksien määrää, jakaa pitkät postaukset usealle sivulle tai käyttää liitännäistä kommenttien laiskempaan latautumiseen."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unminified-css": {
    "message": "Monet [liitännäiset](https://octobercms.com/plugins?search=css) voivat nopeuttaa sivustoja ketjuttamalla, pienentämällä ja pakkaamalla tyylejä. Kun tämä tehdään etukäteen rakennusvaiheessa, kehittäminen voi olla nopeampaa."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unminified-javascript": {
    "message": "Monet [liitännäiset](https://octobercms.com/plugins?search=javascript) voivat nopeuttaa sivustojen toimintaa ketjuttamalla, pienentämällä ja pakkaamalla skriptiä. Kun tämä tehdään etukäteen rakennusvaiheessa, kehittäminen voi olla nopeampaa."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unused-css-rules": {
    "message": "Kannattaa ehkä tarkistaa [liitännäiset](https://octobercms.com/plugins), jotka lataavat käyttämätöntä CSS:ää sivustolla. Löydät tarpeetonta CSS:ää lisäävät liitännäiset testaamalla [koodin käyttötason](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) Chromen DevToolsissa. Tunnista syynä oleva teema tai liitännäinen tyyliarkin URL-osoitteen perusteella. Yritä löytää liitännäiset, joissa on paljon skriptiä ja punaista koodin käyttötasossa. Liitännäisen pitäisi lisätä tyyliarkki vain, jos sitä todella käytetään verkkosivulla."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | unused-javascript": {
    "message": "Kannattaa ehkä tarkistaa [liitännäiset](https://octobercms.com/plugins?search=javascript), jotka lataavat käyttämätöntä JavaScriptiä verkkosivulla. Löydät tarpeetonta JavaScriptiä lisäävät liitännäiset testaamalla [koodin käyttötason](https://developers.google.com/web/updates/2017/04/devtools-release-notes#coverage) Chromen DevToolsissa. Tunnista syynä oleva teema tai liitännäinen skriptin URL-osoitteen perusteella. Yritä löytää liitännäiset, joissa on paljon skriptiä ja punaista koodin käyttötasossa. Liitännäisen pitäisi lisätä skriptiä vain, jos sitä todella käytetään verkkosivulla."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-long-cache-ttl": {
    "message": "Lue lisää [tarpeettomien verkkopyyntöjen estämisestä HTTP-välimuistilla](https://web.dev/http-cache/#caching-checklist). Välimuistiin tallentamista voi nopeuttaa eri [liitännäisillä](https://octobercms.com/plugins?search=Caching)."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-optimized-images": {
    "message": "Kannattaa ehkä käyttää [kuvanoptimointilaajennusta](https://octobercms.com/plugins?search=image), joka pakkaa kuvat niiden laadun säilyttäen."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-responsive-images": {
    "message": "Lataa kuvat suoraan mediatyökalulla, jolloin oikeat kuvakoot ovat varmasti saatavilla. Kannattaa varmistaa koon muuttamiseen tarkoitetulla [suodattimella](https://octobercms.com/docs/markup/filter-resize) tai [liitännäisellä](https://octobercms.com/plugins?search=image), että kuvien koko on optimaalinen."
  },
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | uses-text-compression": {
    "message": "Ota tekstin pakkaaminen käyttöön palvelimen määrityksistä."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | dom-size": {
    "message": "Kannattaa ehkä käyttää \"windowing\"-kirjastoa (esim. `react-window`) DOM-säikeiden määrän vähentämiseksi, jos sivulla renderöidään monia toistuvia elementtejä. [Lue lisää](https://web.dev/virtualize-long-lists-react-window/). [`shouldComponentUpdate`](https://reactjs.org/docs/optimizing-performance.html#shouldcomponentupdate-in-action), [`PureComponent`](https://reactjs.org/docs/react-api.html#reactpurecomponent) tai [`React.memo`](https://reactjs.org/docs/react-api.html#reactmemo) auttavat välttämään tarpeettomia uudelleenrenderöintejä. [Ohita tehosteet](https://reactjs.org/docs/hooks-effect.html#tip-optimizing-performance-by-skipping-effects) vain siihen asti, kunnes tietyt riippuvuudet ovat muuttuneet, jos käytät `Effect` -koukkua suoritusaikaisen toiminnan parantamiseen."
  },
  "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 | server-response-time": {
    "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": "Jos versiojärjestelmäsi kutistaa CSS-tiedostoja automaattisesti, varmista että käyttöönotto koskee sovelluksen tuotantoversiota. Voit tarkistaa tämän Reactin kehittäjätyökalut ‑laajennuksella. [Lue lisää](https://reactjs.org/docs/optimizing-performance.html#use-the-production-build)."
  },
  "node_modules/lighthouse-stack-packs/packs/react.js | unminified-javascript": {
    "message": "Jos versiojärjestelmäsi kutistaa JS-tiedostoja automaattisesti, varmista että käyttöönotto koskee sovelluksen tuotantoversiota. Voit tarkistaa tämän Reactin kehittäjätyökalut ‑laajennuksella. [Lue lisää](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 | modern-image-formats": {
    "message": "Sinun kannattaa ehkä käyttää [laajennusta](https://wordpress.org/plugins/search/convert+webp/) tai palvelua, joka muuntaa ladatut kuvat automaattisesti oikeisiin muotoihin."
  },
  "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 | server-response-time": {
    "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ä."
  },
  "report/renderer/util.js | calculatorLink": {
    "message": "Katso laskin."
  },
  "report/renderer/util.js | collapseView": {
    "message": "Tiivistä näkymä"
  },
  "report/renderer/util.js | crcInitialNavigation": {
    "message": "Ensimmäinen navigointi"
  },
  "report/renderer/util.js | crcLongestDurationLabel": {
    "message": "Kriittisen polun enimmäisviive:"
  },
  "report/renderer/util.js | dropdownCopyJSON": {
    "message": "Kopioi JSON"
  },
  "report/renderer/util.js | dropdownDarkTheme": {
    "message": "Tumma teema päälle/pois"
  },
  "report/renderer/util.js | dropdownPrintExpanded": {
    "message": "Laajennettu tulostus"
  },
  "report/renderer/util.js | dropdownPrintSummary": {
    "message": "Tulosta yhteenveto"
  },
  "report/renderer/util.js | dropdownSaveGist": {
    "message": "Tallenna Gistinä"
  },
  "report/renderer/util.js | dropdownSaveHTML": {
    "message": "Tallenna HTML-muodossa"
  },
  "report/renderer/util.js | dropdownSaveJSON": {
    "message": "Tallenna JSON-tiedostona"
  },
  "report/renderer/util.js | dropdownViewer": {
    "message": "Avaa katseluohjelmassa"
  },
  "report/renderer/util.js | errorLabel": {
    "message": "Virhe!"
  },
  "report/renderer/util.js | errorMissingAuditInfo": {
    "message": "Raporttivirhe: ei tarkastustietoja"
  },
  "report/renderer/util.js | expandView": {
    "message": "Laajenna näkymää"
  },
  "report/renderer/util.js | footerIssue": {
    "message": "Ilmoita ongelmasta"
  },
  "report/renderer/util.js | hide": {
    "message": "Piilota"
  },
  "report/renderer/util.js | labDataTitle": {
    "message": "Laboratoriodata"
  },
  "report/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."
  },
  "report/renderer/util.js | manualAuditsGroupTitle": {
    "message": "Lisää manuaalisesti tarkistettavia kohteita"
  },
  "report/renderer/util.js | notApplicableAuditsGroupTitle": {
    "message": "Ei sovellu"
  },
  "report/renderer/util.js | opportunityResourceColumnLabel": {
    "message": "Suositus"
  },
  "report/renderer/util.js | opportunitySavingsColumnLabel": {
    "message": "Arvioitu säästö"
  },
  "report/renderer/util.js | passedAuditsGroupTitle": {
    "message": "Hyväksytyt tarkastukset"
  },
  "report/renderer/util.js | runtimeAnalysisWindow": {
    "message": "Ensimmäinen sivun lataus"
  },
  "report/renderer/util.js | runtimeCustom": {
    "message": "Omat rajoitukset"
  },
  "report/renderer/util.js | runtimeDesktopEmulation": {
    "message": "Emuloitu työpöytä"
  },
  "report/renderer/util.js | runtimeMobileEmulation": {
    "message": "Emuloitu Moto G4"
  },
  "report/renderer/util.js | runtimeNoEmulation": {
    "message": "Ei emulointia"
  },
  "report/renderer/util.js | runtimeSettingsAxeVersion": {
    "message": "Axe-versio"
  },
  "report/renderer/util.js | runtimeSettingsBenchmark": {
    "message": "Suorittimen/muistin teho"
  },
  "report/renderer/util.js | runtimeSettingsCPUThrottling": {
    "message": "Suorittimen rajoittaminen"
  },
  "report/renderer/util.js | runtimeSettingsDevice": {
    "message": "Laite"
  },
  "report/renderer/util.js | runtimeSettingsNetworkThrottling": {
    "message": "Verkon hidastaminen"
  },
  "report/renderer/util.js | runtimeSettingsUANetwork": {
    "message": "Käyttäjäagentti (verkko)"
  },
  "report/renderer/util.js | runtimeSingleLoad": {
    "message": "Yksi sivun lataus"
  },
  "report/renderer/util.js | runtimeSingleLoadTooltip": {
    "message": "Tämä data on peräisin yhdestä sivun latauksesta, toisin kuin kenttädata, joka on yhteenveto useista käyttökerroista."
  },
  "report/renderer/util.js | runtimeSlow4g": {
    "message": "Hidasta 4G-yhteyttä simuloiva rajoitus"
  },
  "report/renderer/util.js | runtimeUnknown": {
    "message": "Ei tietoa"
  },
  "report/renderer/util.js | show": {
    "message": "Näytä"
  },
  "report/renderer/util.js | showRelevantAudits": {
    "message": "Näytä tähän liittyvät tarkastukset:"
  },
  "report/renderer/util.js | snippetCollapseButtonLabel": {
    "message": "Tiivistä koodinpätkä"
  },
  "report/renderer/util.js | snippetExpandButtonLabel": {
    "message": "Laajenna koodinpätkä"
  },
  "report/renderer/util.js | thirdPartyResourcesLabel": {
    "message": "Näytä kolmannen osapuolen resurssit"
  },
  "report/renderer/util.js | throttlingProvided": {
    "message": "Ympäristön tarjoama"
  },
  "report/renderer/util.js | toplevelWarningsMessage": {
    "message": "Lighthousen suorituksessa havaittiin ongelmia:"
  },
  "report/renderer/util.js | varianceDisclaimer": {
    "message": "Arvot ovat arvioita ja voivat vaihdella. [Tehokkuusprosentti lasketaan](https://web.dev/performance-scoring/) suoraan näistä mittareista."
  },
  "report/renderer/util.js | viewTreemapLabel": {
    "message": "Katso Treemap"
  },
  "report/renderer/util.js | warningAuditsGroupTitle": {
    "message": "Läpäisi tarkastukset, mutta sai varoituksia"
  },
  "report/renderer/util.js | warningHeader": {
    "message": "Varoitukset: "
  },
  "treemap/app/src/util.js | allLabel": {
    "message": "Kaikki"
  },
  "treemap/app/src/util.js | allScriptsDropdownLabel": {
    "message": "Kaikki skriptit"
  },
  "treemap/app/src/util.js | coverageColumnName": {
    "message": "Kattavuus"
  },
  "treemap/app/src/util.js | duplicateModulesLabel": {
    "message": "Moduulien kaksoiskappaleet"
  },
  "treemap/app/src/util.js | resourceBytesLabel": {
    "message": "Resurssin tavut"
  },
  "treemap/app/src/util.js | tableColumnName": {
    "message": "Nimi"
  },
  "treemap/app/src/util.js | toggleTableButtonLabel": {
    "message": "Näytä/piilota taulukko"
  },
  "treemap/app/src/util.js | unusedBytesLabel": {
    "message": "Käyttämättömät tavut"
  }
}
