summaryrefslogtreecommitdiffstats
path: root/l10n-fi/dom/chrome
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--l10n-fi/dom/chrome/accessibility/AccessFu.properties360
-rw-r--r--l10n-fi/dom/chrome/accessibility/mac/accessible.properties65
-rw-r--r--l10n-fi/dom/chrome/accessibility/unix/accessible.properties17
-rw-r--r--l10n-fi/dom/chrome/accessibility/win/accessible.properties17
-rw-r--r--l10n-fi/dom/chrome/appstrings.properties38
-rw-r--r--l10n-fi/dom/chrome/dom/dom.properties431
-rw-r--r--l10n-fi/dom/chrome/global-strres.properties5
-rw-r--r--l10n-fi/dom/chrome/global.dtd5
-rw-r--r--l10n-fi/dom/chrome/layout/HtmlForm.properties43
-rw-r--r--l10n-fi/dom/chrome/layout/MediaDocument.properties21
-rw-r--r--l10n-fi/dom/chrome/layout/css.properties46
-rw-r--r--l10n-fi/dom/chrome/layout/htmlparser.properties134
-rw-r--r--l10n-fi/dom/chrome/layout/layout_errors.properties54
-rw-r--r--l10n-fi/dom/chrome/layout/printing.properties56
-rw-r--r--l10n-fi/dom/chrome/layout/xmlparser.properties48
-rw-r--r--l10n-fi/dom/chrome/layout/xul.properties5
-rw-r--r--l10n-fi/dom/chrome/mathml/mathml.properties16
-rw-r--r--l10n-fi/dom/chrome/netError.dtd107
-rw-r--r--l10n-fi/dom/chrome/netErrorApp.dtd23
-rw-r--r--l10n-fi/dom/chrome/nsWebBrowserPersist.properties17
-rw-r--r--l10n-fi/dom/chrome/plugins.properties18
-rw-r--r--l10n-fi/dom/chrome/security/caps.properties9
-rw-r--r--l10n-fi/dom/chrome/security/csp.properties107
-rw-r--r--l10n-fi/dom/chrome/security/security.properties154
-rw-r--r--l10n-fi/dom/chrome/svg/svg.properties5
-rw-r--r--l10n-fi/dom/chrome/xml/prettyprint.dtd5
-rw-r--r--l10n-fi/dom/chrome/xslt/xslt.properties39
27 files changed, 1845 insertions, 0 deletions
diff --git a/l10n-fi/dom/chrome/accessibility/AccessFu.properties b/l10n-fi/dom/chrome/accessibility/AccessFu.properties
new file mode 100644
index 0000000000..fb272a75f4
--- /dev/null
+++ b/l10n-fi/dom/chrome/accessibility/AccessFu.properties
@@ -0,0 +1,360 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Screen reader started/stopped
+screenReaderStarted = Ruudunlukija käynnistetty
+screenReaderStopped = Ruudunlukija pysäytetty
+
+# Roles
+menubar = valikko
+scrollbar = vierityspalkki
+grip = otin
+alert = huomio
+menupopup = ponnahdusvalikko
+document = dokumentti
+pane = paneeli
+dialog = ikkuna
+separator = erotin
+toolbar = työkalupalkki
+statusbar = tilarivi
+table = taulukko
+columnheader = sarakeotsikko
+rowheader = riviotsikko
+column = sarake
+row = rivi
+cell = solu
+link = linkki
+list = lista
+listitem = listan rivi
+outline = otsikkotaso
+outlineitem = otsikkotason rivi
+pagetab = välilehti
+propertypage = ominaisuussivu
+graphic = grafiikka
+switch = kytkin
+pushbutton = painike
+checkbutton = valintaruutu
+radiobutton = valintapainike
+combobox = monivalintakohta
+progressbar = edistymispalkki
+slider = valintapalkki
+spinbutton = kiertopainike
+diagram = kuvaaja
+animation = animaatio
+equation = yhtälö
+buttonmenu = painikevalikko
+whitespace = tyhjä tila
+pagetablist = välilehtilista
+canvas = piirtoalue
+checkmenuitem = valintavalikkokohta
+label = nimi
+passwordtext = salasanateksti
+radiomenuitem = yhden valinnan valikon kohta
+textcontainer = tekstilaatikko
+togglebutton = joko-tai -painike
+treetable = puutaulukko
+header = yläotsake
+footer = alaotsake
+paragraph = kappale
+entry = merkintä
+caption = kuvateksti
+heading = otsikko
+section = osio
+form = lomake
+comboboxlist = monivalintakohtien lista
+comboboxoption = monivalintakohdan asetukset
+imagemap = kuvakartta
+listboxoption = valinta
+listbox = listavalinta
+flatequation = yksinkertainen yhtälö
+gridcell = ruudukkosolu
+note = huomio
+figure = kuva
+definitionlist = määritelmäluettelo
+term = termi
+definition = määritelmä
+
+mathmltable = matematiikkataulukko
+mathmlcell = solu
+mathmlenclosed = sisällytetty
+mathmlfraction = murtoluku
+mathmlfractionwithoutbar = murtoluku ilman jakajaa
+mathmlroot = juuri
+mathmlscripted = komentojono
+mathmlsquareroot = neliöjuuri
+
+# More sophisticated roles which are not actual numeric roles
+textarea = tekstialue
+
+base = perusta
+close-fence = sulkeva aita
+denominator = nimittäjä
+numerator = osoittaja
+open-fence = avaava aita
+overscript = merkintä yllä
+presubscript = edeltävä alaindeksi
+presuperscript = edeltävä yläindeksi
+root-index = juuriluku
+subscript = alaindeksi
+superscript = yläindeksi
+underscript = merkintä alla
+
+# Text input types
+textInputType_date = päivämäärä
+textInputType_email = sähköposti
+textInputType_search = haku
+textInputType_tel = puhelinnumero
+textInputType_url = verkko-osoite
+
+# More sophisticated object descriptions
+headingLevel = otsikkotaso %S
+
+# more sophisticated list announcement
+listStart = Ensimmäinen kohta
+listEnd = Viimeinen kohta
+# LOCALIZATION NOTE (listItemsCount): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+listItemsCount = 1 kohta;#1 kohtaa
+
+# LOCALIZATION NOTE: # %1$S is the position of the item n the set.
+# %2$S is the total number of such items in the set.
+# An expanded example would read "2 of 5".
+objItemOfN = %1$S / %2$S
+
+# Landmark announcements
+banner = banneri
+complementary = lisäsisältöä
+contentinfo = sisällön kuvaus
+main = päävalikko
+navigation = navigointi
+search = haku
+
+region = alue
+
+# LOCALIZATION NOTE (tblColumnInfo): Semi-colon list of plural forms.
+# Number of columns within the table.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+tblColumnInfo = 1 sarake;#1 saraketta
+# LOCALIZATION NOTE (tblRowInfo): Semi-colon list of plural forms.
+# Number of rows within the table or grid.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+tblRowInfo = ja 1 rivi;ja #1 riviä
+
+# table or grid cell information
+columnInfo = Sarake %S
+rowInfo = Rivi %S
+spansColumns = kattaen %S saraketta
+spansRows = kattaen %S riviä
+
+# Invoked actions
+jumpAction = hypättiin
+pressAction = painettiin
+checkAction = valittiin
+uncheckAction = poistettiin valinta
+onAction = asetettiin päälle
+offAction = asetettiin pois päältä
+selectAction = valittiin
+unselectAction = poistettiin valinta
+openAction = avattiin
+closeAction = suljettiin
+switchAction = vaihdettiin
+clickAction = napsautettiin
+collapseAction = kutistettiin
+expandAction = laajennettiin
+activateAction = aktivoitiin
+cycleAction = kierrettiin
+
+# Live regions
+# 'hidden' will be spoken when something disappears in a live region.
+hidden = piilotettu
+
+# Tab states
+tabLoading = ladataan
+tabLoaded = ladattiin
+tabNew = uusi välilehti
+tabLoadStopped = lataaminen loppui
+tabReload = ladataan uudestaan
+
+# Object states
+stateChecked = valittu
+stateOn = päällä
+stateNotChecked = ei valittu
+stateOff = pois päältä
+statePressed = painettu
+# No string for a not pressed toggle button
+stateExpanded = laajennettu
+stateCollapsed = kutistettu
+stateUnavailable = ei saatavilla
+stateReadonly = vainluku
+stateRequired = vaadittu
+stateTraversed = vierailtu
+stateHasPopup = ponnahdusikkunallinen
+stateSelected = valittu
+
+# App modes
+editingMode = muokkaustila
+navigationMode = selaustila
+
+# Quick navigation modes
+quicknav_Simple = Oletus
+quicknav_Anchor = Ankkurit
+quicknav_Button = Painikkeet
+quicknav_Combobox = Monivalintakohdat
+quicknav_Landmark = Virstanpylväät
+quicknav_Entry = Merkinnät
+quicknav_FormElement = Lomake-elementit
+quicknav_Graphic = Kuvat
+quicknav_Heading = Otsikot
+quicknav_ListItem = Luetteloelementit
+quicknav_Link = Linkit
+quicknav_List = Luettelot
+quicknav_PageTab = Sivuvälilehdet
+quicknav_RadioButton = Valintapainikkeet
+quicknav_Separator = Erottimet
+quicknav_Table = Taulukot
+quicknav_Checkbox = Valintaruudut
+
+# MathML menclose notations.
+# See developer.mozilla.org/docs/Web/MathML/Element/menclose#attr-notation
+notation-longdiv = jakokulma
+notation-actuarial = vakuutusmatematiikka
+notation-phasorangle = vaihekulma
+notation-radical = radikaali
+notation-box = laatikko
+notation-roundedbox = pyöristetty laatikko
+notation-circle = ympyrä
+notation-left = vasen
+notation-right = oikea
+notation-top = ylä
+notation-bottom = ala
+notation-updiagonalstrike = diagonaalinen veto ylös
+notation-downdiagonalstrike = diagonaalinen veto alas
+notation-verticalstrike = pystysuora veto
+notation-horizontalstrike = vaakasuora veto
+notation-updiagonalarrow = diagonaalinen nuoli ylös
+notation-madruwb = madruwb
+
+# Shortened role names for braille
+menubarAbbr = valikko
+scrollbarAbbr = vierityspalkki
+gripAbbr = ote
+alertAbbr = huomio
+menupopupAbbr = valikkoikkuna
+documentAbbr = dokumentti
+paneAbbr = sivu
+dialogAbbr = ikkuna
+separatorAbbr = erotin
+toolbarAbbr = työkalupalkki
+statusbarAbbr = tilapalkki
+tableAbbr = tlkko
+columnheaderAbbr = sarakeotsikko
+rowheaderAbbr = riviotsikko
+columnAbbr = sarake
+rowAbbr = rivi
+cellAbbr = solu
+linkAbbr = lnk
+listAbbr = lista
+listitemAbbr = listamerkintä
+outlineAbbr = otsikkolista
+outlineitemAbbr = otsikko
+pagetabAbbr = välilehti
+propertypageAbbr = ominaisuussivu
+graphicAbbr = grafiikka
+pushbuttonAbbr = pnike
+checkbuttonAbbr = monivalintanappi
+radiobuttonAbbr = valintanappi
+comboboxAbbr = valintalaatikko
+progressbarAbbr = edistymispalkki
+sliderAbbr = vedin
+spinbuttonAbbr = kiertopainike
+diagramAbbr = kuvaaja
+animationAbbr = animaatio
+equationAbbr = yhtälö
+buttonmenuAbbr = painikevalikko
+whitespaceAbbr = tyhjä tila
+pagetablistAbbr = välilehtilista
+canvasAbbr = piirtoalue
+checkmenuitemAbbr = monivalintavalikon kohta
+labelAbbr = nimi
+passwordtextAbbr = salasntksti
+radiomenuitemAbbr = valintavalikon kohta
+textcontainerAbbr = tekstilaatikko
+togglebuttonAbbr = joko-tai -painike
+treetableAbbr = puutaulukko
+headerAbbr = yläotsake
+footerAbbr = alaotsake
+paragraphAbbr = kappale
+entryAbbr = merkintä
+captionAbbr = kuvateksti
+headingAbbr = otsikko
+sectionAbbr = osio
+formAbbr = lomake
+comboboxlistAbbr = valintalaatikkolista
+comboboxoptionAbbr = valintalaatikon vaihtoehto
+imagemapAbbr = kuvakrt
+listboxoptionAbbr = vaihtoehto
+listboxAbbr = listalaatikko
+flatequationAbbr = tasoyhtälö
+gridcellAbbr = ruudukkosolu
+noteAbbr = merkintä
+figureAbbr = kuva
+definitionlistAbbr = määrittelylista
+termAbbr = termi
+definitionAbbr = määrittely
+textareaAbbr = tkstalue
+
+# LOCALIZATION NOTE (tblColumnInfoAbbr): Semi-colon list of plural forms.
+# Number of columns within the table.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+tblColumnInfoAbbr = #1s;#1s
+# LOCALIZATION NOTE (tblRowInfoAbbr): Semi-colon list of plural forms.
+# Number of rows within the table or grid.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+tblRowInfoAbbr = #1r;#1r
+cellInfoAbbr = s%Sr%S
+
+stateCheckedAbbr = (x)
+stateUncheckedAbbr = ( )
+statePressedAbbr = (x)
+stateUnpressedAbbr = ( )
+
+mathmlenclosedAbbr = sisällytetty
+mathmltableAbbr = taul
+mathmlcellAbbr = solu
+mathmlfractionAbbr = murto
+mathmlfractionwithoutbarAbbr = murto ilman jakajaa
+mathmlrootAbbr = juuri
+mathmlscriptedAbbr = sarja
+mathmlsquarerootAbbr = neliöjuuri
+
+baseAbbr = perusta
+close-fenceAbbr = close
+denominatorAbbr = den
+numeratorAbbr = num
+open-fenceAbbr = open
+overscriptAbbr = over
+presubscriptAbbr = presub
+presuperscriptAbbr = presup
+root-indexAbbr = index
+subscriptAbbr = sub
+superscriptAbbr = sup
+underscriptAbbr = under
+
+notation-longdivAbbr = longdiv
+notation-actuarialAbbr = act
+notation-phasorangleAbbr = phasang
+notation-radicalAbbr = rad
+notation-boxAbbr = box
+notation-roundedboxAbbr = rndbox
+notation-circleAbbr = circ
+notation-leftAbbr = lft
+notation-rightAbbr = rght
+notation-topAbbr = top
+notation-bottomAbbr = bot
+notation-updiagonalstrikeAbbr = updiagstrike
+notation-downdiagonalstrikeAbbr = dwndiagstrike
+notation-verticalstrikeAbbr = vstrike
+notation-horizontalstrikeAbbr = hstrike
+notation-updiagonalarrowAbbr = updiagarrow
+notation-madruwbAbbr = madruwb
diff --git a/l10n-fi/dom/chrome/accessibility/mac/accessible.properties b/l10n-fi/dom/chrome/accessibility/mac/accessible.properties
new file mode 100644
index 0000000000..003fc2f40e
--- /dev/null
+++ b/l10n-fi/dom/chrome/accessibility/mac/accessible.properties
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Siirry
+press = Paina
+check = Valitse
+uncheck = Poista valinta
+select = Valitse
+open = Avaa
+close = Sulje
+switch = Vaihda
+click = Osoita
+collapse= Kutista
+expand = Laajenna
+activate= Aktivoi
+cycle = Kelaa
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = HTML-sisältö
+# The Role Description for the Tab button.
+tab = välilehti
+# The Role Description for definition list dl, dt and dd
+term = termi
+definition = määritelmä
+# The Role Description for an input type="search" text field
+searchTextField = haun tekstikenttä
+# The Role Description for WAI-ARIA Landmarks
+application = ohjelma
+search = haku
+banner = palkki
+navigation = siirtyminen
+complementary = ylimääräinen
+content = sisältö
+main = keskus
+# The (spoken) role description for various WAI-ARIA roles
+alert = hälytys
+alertDialog = hälytysikkuna
+dialog = ikkuna
+article = artikkeli
+document = dokumentti
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = kuva
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = otsikko
+log = loki
+marquee = rullaava tekstikenttä
+math = matemaatiikka
+note = muistiinpano
+region = alue
+status = ohjelman tila
+timer = ajastin
+tooltip = työkaluvihje
+separator = erotin
+tabPanel = välilehtipaneeli
+# The roleDescription for the html:mark element
+highlight = korostus
+# The roleDescription for the details element
+details = lisätiedot
+# The roleDescription for the summary element
+summary = yhteenveto
diff --git a/l10n-fi/dom/chrome/accessibility/unix/accessible.properties b/l10n-fi/dom/chrome/accessibility/unix/accessible.properties
new file mode 100644
index 0000000000..afaaabcbab
--- /dev/null
+++ b/l10n-fi/dom/chrome/accessibility/unix/accessible.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump =Siirry
+press =Paina
+check =Valitse
+uncheck =Poista valinta
+select =Valitse
+open =Avaa
+close =Sulje
+switch =Vaihda
+click =Napsauta
+collapse=Kutista
+expand =Laajenna
+activate=Aktivoi
+cycle =Kelaa
diff --git a/l10n-fi/dom/chrome/accessibility/win/accessible.properties b/l10n-fi/dom/chrome/accessibility/win/accessible.properties
new file mode 100644
index 0000000000..afaaabcbab
--- /dev/null
+++ b/l10n-fi/dom/chrome/accessibility/win/accessible.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump =Siirry
+press =Paina
+check =Valitse
+uncheck =Poista valinta
+select =Valitse
+open =Avaa
+close =Sulje
+switch =Vaihda
+click =Napsauta
+collapse=Kutista
+expand =Laajenna
+activate=Aktivoi
+cycle =Kelaa
diff --git a/l10n-fi/dom/chrome/appstrings.properties b/l10n-fi/dom/chrome/appstrings.properties
new file mode 100644
index 0000000000..bc34a31885
--- /dev/null
+++ b/l10n-fi/dom/chrome/appstrings.properties
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Tarkista, että osoite on oikea ja yritä uudestaan.
+fileNotFound=Tiedostoa %S ei löytynyt. Tarkista sen sijainti ja yritä uudelleen.
+fileAccessDenied=Tiedosto %S ei ole luettavissa.
+dnsNotFound2=Osoitetta %S ei löytynyt. Tarkista osoite ja yritä uudelleen.
+unknownProtocolFound=Jokin seuraavista (%S) ei ole rekisteröity yhteyskäytäntö tai sitä ei ole sallittu käyttää tällä tavalla.
+connectionFailure=Yhteyden muodostus osoitteeseen %S epäonnistui.
+netInterrupt=Yhteys sivulle %S katkesi yllättäen. Voi olla, että tietoa siirrettiin.
+netTimeout=Yhteyden muodostus osoitteeseen %S aikakatkaistiin.
+redirectLoop=Uudelleenohjausraja osoitteelle ylittyi. Pyydettyä sivua ei voida ladata. Tämä voi johtua estetyistä evästeistä.
+confirmRepostPrompt=Sivu voidaan näyttää vain lähettämällä jo aikaisemmin lähetetyt tiedot. Tietojen lähettäminen toistaa aikaisemmin suoritetun toiminnon (kuten haun tai tuotteen tilauksen verkkokaupasta).
+resendButton.label=Lähetä uudestaan
+unknownSocketType=Tätä dokumenttia ei voida avata, ellet asenna Henkilökohtaista turvallisuuden hallintaa (PSM). Lataa ja asenna PSM ja yritä uudelleen tai ota yhteyttä järjestelmänvalvojaasi.
+netReset=Tiedosto on tyhjä.
+notCached=Tämä dokumentti ei ole enää saatavilla.
+netOffline=Sivua ei voida näyttää yhteydettömässä tilassa. Siirry yhteystilaan poistamalla valinta Tiedosto-valikon kohdasta Työskentele yhteydettömässä tilassa.
+isprinting=Sivu ei voi muuttua, kun sitä tulostetaan tai tulostusta esikatsellaan.
+deniedPortAccess=Pääsy pyydettyyn porttiin on estetty turvallisuussyistä.
+proxyResolveFailure=Välityspalvelinta ei löytynyt. Tarkista välityspalvelinasetukset ja yritä uudelleen.
+proxyConnectFailure=Välityspalvelin kieltäytyi yhteydestä. Tarkista välityspalvelinasetukset ja yritä uudelleen.
+contentEncodingError=Avattava sivu on pakattu virheellisesti tai tuntemattomalla tavalla, eikä sivua voida näyttää.
+unsafeContentType=Avattava sivu lähetettiin tiedostomuodossa, joka ei aina ole turvallinen eikä sivua siksi voida näyttää. Ilmoita tästä ongelmasta sivuston omistajalle.
+malwareBlocked=Sivuston %S on ilmoitettu olevan hyökkäyssivusto ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+harmfulBlocked=Sivuston %S on ilmoitettu olevan mahdollisesti haitallinen ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+unwantedBlocked=Sivuston %S on ilmoitettu yrittävän asentaa sovelluksia pyytämättä ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+deceptiveBlocked=Sivuston %S on ilmoitettu olevan petollinen sivusto ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+cspBlocked=Tällä sivulla on sisällön tietosuojakäytäntö, joka estää sen sisällyttämisen toiseen sivuun tällä tavalla.
+xfoBlocked=Tällä sivulla on X-Frame-Options-käytäntö, joka estää sen lataamisen tässä yhteydessä.
+corruptedContentErrorv2=Sivusto osoitteessa %S on kohdannut yhteyskäytäntövirheen, josta ei voi toipua.
+remoteXUL=Tämä sivu käyttää teknologiaa, jota ei enää oletuksena tueta.
+sslv3Used=Tietojesi turvallisuutta palvelimella %S ei voida taata, koska se käyttää rikkoutunutta turvallisuuskäytäntöä SSLv3.
+weakCryptoUsed=Sivuston %S omistaja on määrittänyt sivustonsa asetukset väärin. Sivustoon ei muodostettu yhteyttä suojellaksemme tietojasi varkaudelta.
+inadequateSecurityError=Sivusto yritti neuvotella riittämättömän tasoisen turvallisuuden.
+blockedByPolicy=Organisaatiosi on estänyt pääsyn tälle sivulle tai sivustolle.
+networkProtocolError=Firefox kohtasi verkkoyhteyskäytäntöä koskevan rikkomuksen, josta ei voi toipua.
diff --git a/l10n-fi/dom/chrome/dom/dom.properties b/l10n-fi/dom/chrome/dom/dom.properties
new file mode 100644
index 0000000000..334da94a29
--- /dev/null
+++ b/l10n-fi/dom/chrome/dom/dom.properties
@@ -0,0 +1,431 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Varoitus: komentosarja ei vastaa kutsuihin
+KillScriptMessage=Tällä sivulla oleva komentosarja on varattuna tai ei enää vastaa kutsuihin. Voit pysäyttää komentosarjan suorittamisen tai odottaa sen suorituksen valmistumista.
+KillScriptWithDebugMessage=Tällä sivulla oleva komentosarja on varattuna tai ei enää vastaa kutsuihin. Voit pysäyttää komentosarjan suorittamisen, tutkia sitä debug-ohjelmalla tai odottaa sen suorituksen valmistumista.
+KillScriptLocation=Komentosarja: %S
+
+KillAddonScriptTitle=Varoitus: lisäosan komentosarja ei vastaa kutsuihin
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Komentosarja laajennuksesta ”%1$S” on käynnissä tällä sivulla ja saa %2$Sin olemaan vastaamatta kutsuihin.\n\nKomentosarja voi olla varattuna tai se voi olla pysyvästi lakannut vastaamasta. Voit pysäyttää komentosarjan nyt tai odottaa ja katsoa, valmistuuko se.
+KillAddonScriptGlobalMessage=Estä laajennuksen komentosarjan suoritus tällä sivulla ennen sen uudelleenlatausta
+
+StopScriptButton=Pysäytä komentosarja
+DebugScriptButton=Tutki komentosarjaa
+WaitForScriptButton=Jatka
+DontAskAgain=&Älä kysy uudestaan
+WindowCloseBlockedWarning=Komentosarjat eivät voi sulkea ikkunoita, joita ne eivät ole avanneet.
+OnBeforeUnloadTitle=Sivulta poistumisen vahvistus
+OnBeforeUnloadMessage=Tämä sivu haluaa sinun vahvistavan, että tarkoituksesi on poistua sivulta. Sivulle antamiasi tietoja ei välttämättä tallenneta.
+OnBeforeUnloadStayButton=Jää sivulle
+OnBeforeUnloadLeaveButton=Poistu sivulta
+EmptyGetElementByIdParam=Empty string passed to getElementById().
+SpeculationFailed=An unbalanced tree was written using document.write() causing data from the network to be reparsed. For more information https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing
+DocumentWriteIgnored=A call to document.write() from an asynchronously-loaded external script was ignored.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Dropping a file into a contenteditable element failed: %S.
+FormValidationTextTooLong=Lyhennä kentän teksti %S merkkiin tai vähempään (nyt käytössä %S merkkiä).
+FormValidationTextTooShort=Käytä vähintään %S merkkiä (nyt käytössä %S merkkiä).
+FormValidationValueMissing=Täytä tämä kenttä.
+FormValidationCheckboxMissing=Valitse tämä kohta jos haluat jatkaa.
+FormValidationRadioMissing=Valitse yksi vaihtoehdoista.
+FormValidationFileMissing=Valitse tiedosto.
+FormValidationSelectMissing=Valitse kohta listalta.
+FormValidationInvalidEmail=Kirjoita kelvollinen sähköpostiosoite.
+FormValidationInvalidURL=Kirjoita osoite.
+FormValidationInvalidDate =Anna kelvollinen päiväys.
+FormValidationPatternMismatch=Anna arvo pyydetyssä muodossa.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Anna arvo pyydetyssä muodossa: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Valitse arvo, joka on enintään %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Valitse arvo, joka ei ole myöhempi kuin %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Valitse arvo, joka vähintään %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Valitse arvo, joka ei ole aikaisempi kuin %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Valitse kelvollinen arvo. Kaksi lähintä kelvollista arvoa ovat %S ja %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Valitse kelvollinen arvo. Lähin kelvollinen arvo on %S.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Valitse arvo väliltä %1$S ja %2$S.
+FormValidationBadInputNumber=Kirjoita luku.
+FullscreenDeniedDisabled=Request for fullscreen was denied because Fullscreen API is disabled by user preference.
+FullscreenDeniedFocusedPlugin=Request for fullscreen was denied because a windowed plugin is focused.
+FullscreenDeniedHidden=Request for fullscreen was denied because the document is no longer visible.
+FullscreenDeniedHTMLDialog=Request for fullscreen was denied because requesting element is a <dialog> element.
+FullscreenDeniedContainerNotAllowed=Request for fullscreen was denied because at least one of the document's containing elements is not an iframe or does not have an "allowfullscreen" attribute.
+FullscreenDeniedNotInputDriven=Request for fullscreen was denied because Element.requestFullscreen() was not called from inside a short running user-generated event handler.
+FullscreenDeniedMouseEventOnlyLeftBtn=Request for fullscreen was denied because Element.requestFullscreen() was called from inside a mouse event handler not triggered by left mouse button.
+FullscreenDeniedNotHTMLSVGOrMathML=Request for fullscreen was denied because requesting element is not <svg>, <math>, or an HTML element.
+FullscreenDeniedNotInDocument=Request for fullscreen was denied because requesting element is no longer in its document.
+FullscreenDeniedMovedDocument=Request for fullscreen was denied because requesting element has moved document.
+FullscreenDeniedLostWindow=Request for fullscreen was denied because we no longer have a window.
+FullscreenDeniedSubDocFullscreen=Request for fullscreen was denied because a subdocument of the document requesting fullscreen is already fullscreen.
+FullscreenDeniedNotDescendant=Request for fullscreen was denied because requesting element is not a descendant of the current fullscreen element.
+FullscreenDeniedNotFocusedTab=Request for fullscreen was denied because requesting element is not in the currently focused tab.
+FullscreenDeniedFeaturePolicy=Request for fullscreen was denied because of FeaturePolicy directives.
+FullscreenExitWindowFocus=Poistuttiin kokoruututilasta, koska ikkunaan kohdistettiin.
+RemovedFullscreenElement=Exited fullscreen because fullscreen element was removed from document.
+FocusedWindowedPluginWhileFullscreen=Exited fullscreen because windowed plugin was focused.
+PointerLockDeniedDisabled=Request for pointer lock was denied because Pointer Lock API is disabled by user preference.
+PointerLockDeniedInUse=Request for pointer lock was denied because the pointer is currently controlled by a different document.
+PointerLockDeniedNotInDocument=Request for pointer lock was denied because the requesting element is not in a document.
+PointerLockDeniedSandboxed=Request for pointer lock was denied because Pointer Lock API is restricted via sandbox.
+PointerLockDeniedHidden=Request for pointer lock was denied because the document is not visible.
+PointerLockDeniedNotFocused=Request for pointer lock was denied because the document is not focused.
+PointerLockDeniedMovedDocument=Request for pointer lock was denied because the requesting element has moved document.
+PointerLockDeniedNotInputDriven=Request for pointer lock was denied because Element.requestPointerLock() was not called from inside a short running user-generated event handler, and the document is not in full screen.
+PointerLockDeniedFailedToLock=Request for pointer lock was denied because the browser failed to lock the pointer.
+HTMLSyncXHRWarning=HTML parsing in XMLHttpRequest is not supported in the synchronous mode.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Attempt to set a forbidden header was denied: %S
+ResponseTypeSyncXHRWarning=Use of XMLHttpRequest's responseType attribute is no longer supported in the synchronous mode in window context.
+TimeoutSyncXHRWarning=Use of XMLHttpRequest's timeout attribute is not supported in the synchronous mode in window context.
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=Use of navigator.sendBeacon instead of synchronous XMLHttpRequest during unload and pagehide improves user experience.
+JSONCharsetWarning=An attempt was made to declare a non-UTF-8 encoding for JSON retrieved using XMLHttpRequest. Only UTF-8 is supported for decoding JSON.
+# LOCALIZATION NOTE: Do not translate decodeAudioData.
+MediaDecodeAudioDataUnknownContentType=The buffer passed to decodeAudioData contains an unknown content type.
+# LOCALIZATION NOTE: Do not translate decodeAudioData.
+MediaDecodeAudioDataUnknownError=An unknown error occured while processing decodeAudioData.
+# LOCALIZATION NOTE: Do not translate decodeAudioData.
+MediaDecodeAudioDataInvalidContent=The buffer passed to decodeAudioData contains invalid content which cannot be decoded successfully.
+# LOCALIZATION NOTE: Do not translate decodeAudioData.
+MediaDecodeAudioDataNoAudio=The buffer passed to decodeAudioData does not contain any audio.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=The HTMLMediaElement passed to createMediaElementSource has a cross-origin resource, the node will output silence.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=The MediaStream passed to createMediaStreamSource has a cross-origin resource, the node will output silence.
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=The MediaStreamTrack passed to createMediaStreamTrackSource is a cross-origin resource, the node will output silence.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=The captured HTMLMediaElement is playing a MediaStream. Applying volume or mute status is not currently supported.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementStreamCaptureCycle=The MediaStream assigned to srcObject comes from a capture of this HTMLMediaElement, forming a cycle, assignment ignored.
+MediaLoadExhaustedCandidates=All candidate resources failed to load. Media load paused.
+MediaLoadSourceMissingSrc=<source> element has no "src" attribute. Media resource load failed.
+MediaStreamAudioSourceNodeDifferentRate=Connecting AudioNodes from AudioContexts with different sample-rate is currently not supported.
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=HTTP load failed with status %1$S. Load of media resource %2$S failed.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=Invalid URI. Load of media resource %S failed.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=Specified "type" attribute of "%1$S" is not supported. Load of media resource %2$S failed.
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=Specified “type” attribute of “%1$S” is not supported. Load of media resource %2$S failed. Trying to load from next <source> element.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=HTTP "Content-Type" of "%1$S" is not supported. Load of media resource %2$S failed.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=Media resource %S could not be decoded.
+MediaWidevineNoWMF=Yritetään toistaa Widevineä ilman Windows Media Foundationia. Katso https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=Jotta voit toistaa videotiedostomuotoja %S, sinun tarvitsee asentaa Microsoftin lisäohjelmistoja. Katso https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=Tällä sivulla olevaa videota ei voida toistaa. Järjestelmässä ei välttämättä ole tarvittavia koodekkeja tiedostomuodoille %S.
+MediaUnsupportedLibavcodec=Tällä sivulla olevaa videota ei voida toistaa. Järjestelmässä on libavcodec-versio, jota ei tueta
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Mediaresurssin %1$S purkaminen epäonnistui virheellä: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Mediaresurssin %1$S purkaminen onnistui, mutta virheellä: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Mediaa ei voida toistaa. Ei purkajia pyydetyille tiedostomuodoille: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Ei purkajia joillekin pyydetyistä tiedostomuodoista: %S
+MediaCannotInitializePulseAudio=PulseAudion käyttäminen ei onnistu
+# LOCALIZATION NOTE: Do not translate "MediaRecorder".
+MediaRecorderMultiTracksNotSupported=MediaRecorder ei tällä hetkellä tue useamman samantyyppisen raidan äänittämistä.
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=Using Encrypted Media Extensions at %S on an insecure (i.e. non-HTTPS) context is deprecated and will soon be removed. You should consider switching to a secure origin such as HTTPS.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) without passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities without a contentType with a “codecs” string is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=Use of Mutation Events is deprecated. Use MutationObserver instead.
+BlockAutoplayError=Automaattinen toisto sallitaan vain, kun käyttäjä on antanut suostumuksen, käyttäjä on aktivoinut sivuston tai median äänet on vaimennettu.
+BlockAutoplayWebAudioStartError=An AudioContext was prevented from starting automatically. It must be created or resumed after a user gesture on the page.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=The Components object is deprecated. It will soon be removed.
+PluginHangUITitle=Varoitus: Liitännäinen ei vastaa kutsuihin
+PluginHangUIMessage=Liitännäinen %S on varattuna tai ei enää vastaa kutsuihin. Voit pysäyttää liitännäisen suorittamisen tai odottaa sen suorituksen valmistumista.
+PluginHangUIWaitButton=Jatka
+PluginHangUIStopButton=Pysäytä liitännäinen
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Calling detach() on a NodeIterator no longer has an effect.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Ignoring get or set of property that has [LenientThis] because the "this" object is incorrect.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=Use of captureEvents() is deprecated. To upgrade your code, use the DOM 2 addEventListener() method. For more help http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=Use of releaseEvents() is deprecated. To upgrade your code, use the DOM 2 removeEventListener() method. For more help http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers is deprecated. Do not use it for UA detection.
+ImportXULIntoContentWarning=Importing XUL nodes into a content document is deprecated. This functionality may be removed soon.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=An IndexedDB transaction that was not yet complete has been aborted due to page navigation.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Will-change memory consumption is too high. Budget limit is the document surface area multiplied by %1$S (%2$S px). Occurrences of will-change over the budget will be ignored.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=A Worker could not be started immediately because other documents in the same origin are already using the maximum number of workers. The Worker is now queued and will be started after some of the other workers have completed.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=Application Cache API (AppCache) on vanhentunut ja se tullaan poistamaan tulevaisuudessa. Harkitse ServiceWorkerin käyttöä offline-tuen saavuttamiseksi.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Attempting to create a Worker from an empty source. This is probably unintentional.
+WebrtcDeprecatedPrefixWarning=WebRTC interfaces with the "moz" prefix (mozRTCPeerConnection, mozRTCSessionDescription, mozRTCIceCandidate) have been deprecated.
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia has been replaced by navigator.mediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams are deprecated. Use RTCPeerConnection.getSenders/getReceivers instead.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Failed to load '%S'. A ServiceWorker intercepted the request and encountered an unexpected error.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Failed to load ‘%1$S’ by responding ‘%2$S’. A ServiceWorker is not allowed to synthesize a cors Response for a same-origin Request.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Failed to load '%1$S'. A ServiceWorker passed an opaque Response to FetchEvent.respondWith() while handling a '%2$S' FetchEvent. Opaque Response objects are only valid when the RequestMode is 'no-cors'.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Failed to load '%S'. A ServiceWorker passed an Error Response to FetchEvent.respondWith(). This typically means the ServiceWorker performed an invalid fetch() call.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Failed to load '%S'. A ServiceWorker passed a used Response to FetchEvent.respondWith(). The body of a Response may only be read once. Use Response.clone() to access the body multiple times.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
+BadOpaqueRedirectInterceptionWithURL=Failed to load '%S'. A ServiceWorker passed an opaqueredirect Response to FetchEvent.respondWith() while handling a non-navigation FetchEvent.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Failed to load ‘%S’. A ServiceWorker passed a redirected Response to FetchEvent.respondWith() while RedirectMode is not ‘follow’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Kohteen '%S' lataaminen epäonnistui. ServiceWorker peruutti latauksen kutsumalla FetchEvent.preventDefault()-metodia.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Failed to load '%1$S'. A ServiceWorker passed a promise to FetchEvent.respondWith() that rejected with '%2$S'.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Failed to load '%1$S'. A ServiceWorker passed a promise to FetchEvent.respondWith() that resolved with non-Response value '%2$S'.
+# LOCALIZATION NOTE: Do not translate "mozImageSmoothingEnabled", or "imageSmoothingEnabled"
+PrefixedImageSmoothingEnabledWarning=Use of mozImageSmoothingEnabled is deprecated. Please use the unprefixed imageSmoothingEnabled property instead.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Failed to register a ServiceWorker: The path of the provided scope ‘%1$S’ is not under the max scope allowed ‘%2$S’. Adjust the scope, move the Service Worker script, or use the Service-Worker-Allowed HTTP header to allow the scope.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL.
+ServiceWorkerRegisterNetworkError=Failed to register/update a ServiceWorker for scope ‘%1$S’: Load failed with status %2$S for script ‘%3$S’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL.
+ServiceWorkerRegisterMimeTypeError2=Failed to register/update a ServiceWorker for scope ‘%1$S’: Bad Content-Type of ‘%2$S’ received for script ‘%3$S’. Must be a JavaScript MIME type.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Failed to register/update a ServiceWorker for scope ‘%S’: Storage access is restricted in this context due to user settings or private browsing mode.
+ServiceWorkerGetRegistrationStorageError=Failed to get service worker registration(s): Storage access is restricted in this context due to user settings or private browsing mode.
+ServiceWorkerGetClientStorageError=Failed to get service worker’s client(s): Storage access is restricted in this context due to user settings or private browsing mode.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=The ServiceWorker for scope ‘%S’ failed to execute ‘postMessage‘ because storage access is restricted in this context due to user settings or private browsing mode.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Terminating ServiceWorker for scope ‘%1$S’ with pending waitUntil/respondWith promises because of grace timeout.
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=Fetch event handlers must be added during the worker script’s initial evaluation.
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand('cut'/'copy') was denied because it was not called from inside a short running user-generated event handler.
+ManifestShouldBeObject=Manifest should be an object.
+ManifestScopeURLInvalid=The scope URL is invalid.
+ManifestScopeNotSameOrigin=The scope URL must be same origin as document.
+ManifestStartURLOutsideScope=The start URL is outside the scope, so the scope is invalid.
+ManifestStartURLInvalid=The start URL is invalid.
+ManifestStartURLShouldBeSameOrigin=The start URL must be same origin as document.
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+ManifestInvalidType=Expected the %1$S's %2$S member to be a %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S is not a valid CSS color.
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+ManifestLangIsInvalid=%1$S: %2$S is not a valid language code.
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+ManifestImageURLIsInvalid=%1$S item at index %2$S is invalid. The %3$S member is an invalid URL %4$S
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+ManifestImageUnusable=%1$S item at index %2$S lacks a usable purpose. It will be ignored.
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+ManifestImageUnsupportedPurposes=%1$S item at index %2$S includes unsupported purpose(s): %3$S.
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+ManifestImageRepeatedPurposes=%1$S item at index %2$S includes repeated purpose(s): %3$S.
+PatternAttributeCompileFailure=Unable to check <input pattern='%S'> because the pattern is not a valid regexp: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('%S') does not match the recipient window's origin ('%S').
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=Rewriting old-style YouTube Flash embed (%S) to iframe embed (%S). Please update page to use iframe instead of embed/object, if possible.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=Rewriting old-style YouTube Flash embed (%S) to iframe embed (%S). Params were unsupported by iframe embeds and converted. Please update page to use iframe instead of embed/object, if possible.
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘Encryption’ header must include a unique ‘salt‘ parameter for each message. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 for more information.
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘Crypto-Key‘ header must include a ‘dh‘ parameter containing the app server’s public key. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 for more information.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘Encryption-Key’ header must include a ‘dh‘ parameter. This header is deprecated and will soon be removed. Please use ‘Crypto-Key‘ with ‘Content-Encoding: aesgcm‘ instead. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 for more information.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘Content-Encoding‘ header must be ‘aesgcm‘. ‘aesgcm128‘ is allowed, but deprecated and will soon be removed. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 for more information.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘dh‘ parameter in the ‘Crypto-Key‘ header must be the app server’s Diffie-Hellman public key, base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C) and in “uncompressed” or “raw” form (65 bytes before encoding). See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 for more information.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘salt‘ parameter in the ‘Encryption‘ header must be base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C), and be at least 16 bytes before encoding. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 for more information.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘rs‘ parameter of the ‘Encryption‘ header must be between %2$S and 2^36-31, or omitted entirely. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 for more information.
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. A record in the encrypted message was not padded correctly. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 for more information.
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. For help with encryption, please see https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption
+# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec.
+PreventDefaultFromPassiveListenerWarning=Ignoring ‘preventDefault()’ call on event of type ‘%1$S’ from a listener registered as ‘passive’.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap is deprecated and will be removed soon. Use ImageBitmapRenderingContext.transferFromImageBitmap instead.
+IIRFilterChannelCountChangeWarning=IIRFilterNode channel count changes may produce audio glitches.
+BiquadFilterChannelCountChangeWarning=BiquadFilterNode channel count changes may produce audio glitches.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=kuva.png
+GenericFileName=tiedosto
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name
+LargeAllocationSuccess=This page was loaded in a new process due to a Large-Allocation header.
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name. Do not translate GET.
+LargeAllocationNonGetRequest=A Large-Allocation header was ignored due to the load being triggered by a non-GET request.
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name. Do not translate `window.opener`.
+LargeAllocationNotOnlyToplevelInTabGroup=A Large-Allocation header was ignored due to the presence of windows which have a reference to this browsing context through the frame hierarchy or window.opener.
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name
+LargeAllocationNonE10S=A Large-Allocation header was ignored due to the document not being loaded out of process.
+GeolocationInsecureRequestIsForbidden=A Geolocation request can only be fulfilled in a secure context.
+NotificationsInsecureRequestIsForbidden=The Notification permission may only be requested in a secure context.
+NotificationsCrossOriginIframeRequestIsForbidden=The Notification permission may only be requested in a top-level document or same-origin iframe.
+NotificationsRequireUserGesture=The Notification permission may only be requested from inside a short running user-generated event handler.
+NotificationsRequireUserGestureDeprecationWarning=Requesting Notification permission outside a short running user-generated event handler is deprecated and will not be supported in the future.
+# LOCALIZATION NOTE: Do not translate "Large-Allocation", as it is a literal header name.
+LargeAllocationNonWin32=This page would be loaded in a new process due to a Large-Allocation header, however Large-Allocation process creation is disabled on non-Win32 platforms.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=The ‘content’ attribute of Window objects is deprecated. Please use ‘window.top’ instead.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=The SVG <%S> with ID “%S” has a reference loop.
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=An SVG <%S> reference chain which is too long was abandoned at the element with ID “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=‘%S’ attribute of <script> element is empty.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=‘%S’ attribute of <script> element is not a valid URI: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Loading failed for the <script> with source “%S”.
+ModuleSourceLoadFailed=Loading failed for the module with source “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=<script> source URI is malformed: “%S”.
+ModuleSourceMalformed=Module source URI is malformed: “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=<script> source URI is not allowed in this document: “%S”.
+ModuleSourceNotAllowed=Module source URI is not allowed in this document: “%S”.
+ModuleResolveFailure=Error resolving module specifier “%S”. Relative module specifiers must start with “./”, “../” or “/”.
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=Keyframe property value “%1$S” is invalid according to the syntax for “%2$S”.
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Failed to read data from the ReadableStream: “%S”.
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=Can’t use registerProtocolHandler inside private browsing mode.
+MotionEventWarning=Use of the motion sensor is deprecated.
+OrientationEventWarning=Use of the orientation sensor is deprecated.
+ProximityEventWarning=Use of the proximity sensor is deprecated.
+AmbientLightEventWarning=Use of the ambient light sensor is deprecated.
+# LOCALIZATION NOTE: Do not translate "storage", "indexedDB.open" and "navigator.storage.persist()".
+IDBOpenDBOptions_StorageTypeWarning=The ‘storage’ attribute in options passed to indexedDB.open is deprecated and will soon be removed. To get persistent storage, please use navigator.storage.persist() instead.
+UnsupportedEntryTypesIgnored=Ignoring unsupported entryTypes: %S.
+AllEntryTypesIgnored=No valid entryTypes; aborting registration.
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+GTK2Conflict2=Key event not available on GTK2: key=“%S” modifiers=“%S” id=“%S”
+WinConflict2=Key event not available on some keyboard layouts: key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not trnaslated "document.domain"
+DocumentSetDomainNotAllowedWarning=Setting document.domain in a cross-origin isolated environment is not allowed.
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface is a testing-only interface and this is its testing deprecation message.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() is a testing-only method and this is its testing deprecation message.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute is a testing-only attribute and this is its testing deprecation message.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=Use of CanvasRenderingContext2D in createImageBitmap is deprecated.
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() is deprecated.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange is deprecated.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror is deprecated.
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=AddSearchProvider is deprecated.
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead.
+# LOCALIZATION NOTE: Do not translate MathML, align, numalign and denomalign.
+MathML_DeprecatedAlignmentAttributesWarning=MathML attributes “align”, “numalign” and “denomalign” are deprecated values and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML and bevelled.
+MathML_DeprecatedBevelledAttribute=MathML attribute “bevelled” is deprecated and may be removed at a future date.
+# LOCALIZATION NOTE: Do not translate thin, medium, thick and linethickness.
+MathML_DeprecatedLineThicknessValueWarning=“thin”, “medium” and “thick” are deprecated values for the linethickness attribute and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=“small”, “normal” and “big” are deprecated values for the mathsize attribute and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=“veryverythinmathspace”, “verythinmathspace”, “thinmathspace”, “mediummathspace”, “thickmathspace”, “verythickmathspace” and “veryverythickmathspace” are deprecated values for MathML lengths and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate radical, notation and menclose.
+MathML_DeprecatedMencloseNotationRadical=The “radical” value is deprecated for the “notation” attribute of the <menclose> element and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML or mfenced.
+MathML_DeprecatedMfencedElement=MathML element mfenced is deprecated and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML, subscriptshift and superscriptshift.
+MathML_DeprecatedScriptShiftAttributes=MathML attributes “subscriptshift” and “superscriptshift” are deprecated and may be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=MathML attributes “background”, “color”, “fontfamily”, “fontsize”, “fontstyle” and “fontweight” are deprecated and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML and XLink.
+MathML_DeprecatedXLinkAttributeWarning=XLink attributes “href”, “type”, “show” and “actuate” are deprecated on MathML elements and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=Support for rendering stretched MathML operators with STIXGeneral fonts is deprecated and may be removed at a future date. For details about newer fonts that will continue to be supported, see %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=MathML attribute “scriptminsize” is deprecated and will be removed at a future date.
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=MathML attribute “scriptsizemultiplier” is deprecated and will be removed at a future date.
+FormSubmissionUntrustedEventWarning=Form submission via untrusted submit event is deprecated and will be removed at a future date.
+WebShareAPI_Failed=Jakamisoperaatio on epäonnistunut.
+WebShareAPI_Aborted=Jakamisoperaatio keskeytettiin.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Estettiin siirtyminen osoitteeseen “%1$S” tuntemattoman protokollan takia.
+PostMessageSharedMemoryObjectToCrossOriginWarning=Cannot post message containing a shared memory object to a cross-origin window.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+UnusedLinkPreloadPending=The resource at “%S” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly.
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+RequestStorageAccessNullPrincipal=document.requestStorageAccess() may not be called on a document with an opaque origin, such as a sandboxed iframe without allow-same-origin in its sandbox attribute.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+RequestStorageAccessSandboxed=document.requestStorageAccess() may not be called in a sandboxed iframe without allow-storage-access-by-user-activation in its sandbox attribute.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() may not be called in a nested iframe.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+RequestStorageAccessUserGesture=document.requestStorageAccess() may only be requested from inside a short running user-generated event handler.
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=Too many calls to Location or History APIs within a short timeframe.
+FolderUploadPrompt.title = Vahvista lähetys
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = Haluatko varmasti lähettää kaikki tiedostot kansiosta ”%S”? Tee tämä vain, jos luotat sivustoon.
+FolderUploadPrompt.acceptButtonLabel = Lähetä
+InputPickerBlockedNoUserActivation=<input> picker was blocked due to lack of user activation.
+ExternalProtocolFrameBlockedNoUserActivation=Iframe with external protocol was blocked due to lack of user activation, or because not enough time has passed since the last such iframe was loaded.
+MultiplePopupsBlockedNoUserActivation=Opening multiple popups was blocked due to lack of user activation.
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=Preload of %S was ignored due to unknown “as” or “type” values, or non-matching “media” attribute.
diff --git a/l10n-fi/dom/chrome/global-strres.properties b/l10n-fi/dom/chrome/global-strres.properties
new file mode 100644
index 0000000000..a9dc991328
--- /dev/null
+++ b/l10n-fi/dom/chrome/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Tuntematon virhe tapahtui (%1$S)
diff --git a/l10n-fi/dom/chrome/global.dtd b/l10n-fi/dom/chrome/global.dtd
new file mode 100644
index 0000000000..661fb351f4
--- /dev/null
+++ b/l10n-fi/dom/chrome/global.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY locale.dir "ltr">
diff --git a/l10n-fi/dom/chrome/layout/HtmlForm.properties b/l10n-fi/dom/chrome/layout/HtmlForm.properties
new file mode 100644
index 0000000000..b7cf86435b
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/HtmlForm.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Reset=Palauta oletusarvot
+Submit=Lähetä
+Browse=Selaa…
+FileUpload=Lähetä tiedosto
+DirectoryUpload=Valitse lähetettävä kansio
+DirectoryPickerOkButtonLabel=Lähetä
+ForgotPostWarning=Lomakkeessa on määre enctype=%S, mutta siitä puuttuu määre method=post. Lähetetään sen sijaan normaalisti attribuutilla method=GET ilman enctype-tietoa.
+ForgotFileEnctypeWarning=Lomakkeessa on tiedoston syöttökenttä, mutta siitä puuttuu määreet method=POST ja enctype=multipart/form-data. Tiedostoa ei lähetetä.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Lomake lähetetty %Sista
+CannotEncodeAllUnicode=Lomake lähetettiin %S-koodauksella, joka ei kata kaikkia Unicode-merkkejä. Käyttäjän viesti voi välittyä virheellisesti. Ongelman voi välttää muuttamalla sivua niin, että lomake lähetetään UTF-8 -merkistökoodauksella. Tämän voi tehdä joko muuttamalla itse sivun merkistökoodauksen UTF-8:ksi tai määrittämällä "accept-charset=utf-8" lomake-elementtiin.
+AllSupportedTypes=Kaikki tuetut tyypit
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Ei valittua tiedostoa.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Ei valittuja tiedostoja.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Ei valittua kansiota.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S tiedostoa valittu.
+ColorPicker=Valitse väri
+# LOCALIZATION NOTE (AndNMoreFiles): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This string is shown at the end of the tooltip text for <input type='file'
+# multiple> when there are more than 21 files selected (when we will only list
+# the first 20, plus an "and X more" line). #1 represents the number of files
+# minus 20 and will always be a number equal to or greater than 2. So the
+# singular case will never be used.
+AndNMoreFiles=ja yksi muu;ja #1 muuta
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Yksityiskohdat
diff --git a/l10n-fi/dom/chrome/layout/MediaDocument.properties b/l10n-fi/dom/chrome/layout/MediaDocument.properties
new file mode 100644
index 0000000000..bbe3e7270e
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/MediaDocument.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height
+#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type
+#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height
+#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type
+#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type
+#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type
+ImageTitleWithDimensions2AndFile=%S (%S-kuva, %S\u00A0\u00D7\u00A0%S kuvapistettä)
+ImageTitleWithoutDimensions=%S (%S-kuva)
+ImageTitleWithDimensions2=(%S-kuva, %S\u00A0\u00D7\u00A0%S kuvapistettä)
+ImageTitleWithNeitherDimensionsNorFile=(%S-kuva)
+MediaTitleWithFile=%S (%S-tiedosto)
+MediaTitleWithNoInfo=(%S-tiedosto)
+
+InvalidImage=Kuvaa %S ei voida näyttää, koska se sisältää virheitä.
+ScaledImage=Pienennetty (%S %% alkuperäisestä)
+
+TitleWithStatus=%S — %S
diff --git a/l10n-fi/dom/chrome/layout/css.properties b/l10n-fi/dom/chrome/layout/css.properties
new file mode 100644
index 0000000000..2a0a0f669e
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/css.properties
@@ -0,0 +1,46 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=The stylesheet %1$S was not loaded because its MIME type, "%2$S", is not "text/css".
+MimeNotCssWarn=The stylesheet %1$S was loaded as CSS even though its MIME type, "%2$S", is not "text/css".
+
+PEDeclDropped=Declaration dropped.
+PEDeclSkipped=Skipped to next declaration.
+PEUnknownProperty=Unknown property '%1$S'.
+PEValueParsingError=Error in parsing value for '%1$S'.
+PEUnknownAtRule=Unrecognized at-rule or error parsing at-rule '%1$S'.
+PEMQUnexpectedOperator=Unexpected operator in media list.
+PEMQUnexpectedToken=Unexpected token ‘%1$S’ in media list.
+PEAtNSUnexpected=Unexpected token within @namespace: '%1$S'.
+PEKeyframeBadName=Expected identifier for name of @keyframes rule.
+PEBadSelectorRSIgnored=Ruleset ignored due to bad selector.
+PEBadSelectorKeyframeRuleIgnored=Keyframe rule ignored due to bad selector.
+PESelectorGroupNoSelector=Selector expected.
+PESelectorGroupExtraCombinator=Dangling combinator.
+PEClassSelNotIdent=Expected identifier for class selector but found '%1$S'.
+PETypeSelNotType=Expected element name or '*' but found '%1$S'.
+PEUnknownNamespacePrefix=Unknown namespace prefix '%1$S'.
+PEAttributeNameExpected=Expected identifier for attribute name but found '%1$S'.
+PEAttributeNameOrNamespaceExpected=Expected attribute name or namespace but found '%1$S'.
+PEAttSelNoBar=Expected '|' but found '%1$S'.
+PEAttSelUnexpected=Unexpected token in attribute selector: '%1$S'.
+PEAttSelBadValue=Expected identifier or string for value in attribute selector but found '%1$S'.
+PEPseudoSelBadName=Expected identifier for pseudo-class or pseudo-element but found '%1$S'.
+PEPseudoSelEndOrUserActionPC=Expected end of selector or a user action pseudo-class after pseudo-element but found '%1$S'.
+PEPseudoSelUnknown=Unknown pseudo-class or pseudo-element '%1$S'.
+PENegationBadArg=Missing argument in negation pseudo-class '%1$S'.
+PEPseudoClassArgNotIdent=Expected identifier for pseudo-class parameter but found '%1$S'.
+PEColorNotColor=Expected color but found '%1$S'.
+PEParseDeclarationDeclExpected=Expected declaration but found '%1$S'.
+PEUnknownFontDesc=Unknown descriptor '%1$S' in @font-face rule.
+PEMQExpectedFeatureName=Expected media feature name but found '%1$S'.
+PEMQNoMinMaxWithoutValue=Media features with min- or max- must have a value.
+PEMQExpectedFeatureValue=Found invalid value for media feature.
+PEExpectedNoneOrURL=Expected 'none' or URL but found '%1$S'.
+PEExpectedNoneOrURLOrFilterFunction=Expected 'none', URL, or filter function but found '%1$S'.
+
+PEDisallowedImportRule=@import rules are not yet valid in constructed stylesheets.
+
+TooLargeDashedRadius=Border radius is too large for ‘dashed’ style (the limit is 100000px). Rendering as solid.
+TooLargeDottedRadius=Border radius is too large for ‘dotted’ style (the limit is 100000px). Rendering as solid.
diff --git a/l10n-fi/dom/chrome/layout/htmlparser.properties b/l10n-fi/dom/chrome/layout/htmlparser.properties
new file mode 100644
index 0000000000..bfcc70fd7b
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/htmlparser.properties
@@ -0,0 +1,134 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=Kehystetyn dokumentin käyttämää merkistökoodausta ei määritelty. Dokumentti voi näyttää erilaiselta jos se ei ole kehystetty.
+EncNoDeclarationPlain=Pelkkä teksti dokumentin käyttämää merkistökoodausta ei määritelty. Dokumentti voi näyttää sisältävän roskamerkkejä joillain selainasetuksilla jos dokumentti sisältää merkkejä, jotka eivät kuul US-ASCII -merkistöön. Tiedoston merkistökoodaus pitää määritellä tiedonsiirtokäytännössä tai tiedoston täytää käyttää tavujärjestysmerkkiä koodauksen merkkinä.
+EncNoDeclaration=HTML-dokumentin käyttämää merkistökoodausta ei määritelty. Dokumentti voi näyttää sisältävän roskamerkkejä joillain selainasetuksilla jos dokumentti sisältää merkkejä, jotka eivät kuul US-ASCII -merkistöön. Sivun merkistökoodaus pitää määritellä dokumentissa tai tiedonsiirtokäytännössä.
+EncLateMetaFrame=Kehystetyn HTML-dokumentin käyttämää merkistökoodausta ei löytynyt haettaessa tiedoston ensimmäisestä 1024-tavusta. Jos dokumenttia katsellaan ilman kehystä sivu latautuu uudestaan automaattisesti. Merkistökoodausmääritys täytyy siirtää tiedoston 1024 ensimmäisen tavuun.
+EncLateMeta=HTML-dokumentin käyttämää merkistökoodausta ei löytynyt haettaessa tiedoston ensimmäisestä 1024-tavusta. Jos dokumenttia katsellaan selaimella, jossa on eri asetukset, sivu latautuu uudestaan automaattisesti. Merkistökoodausmääritys täytyy siirtää tiedoston 1024 ensimmäisen tavuun.
+EncLateMetaReload=Sivu ladattiin uudestaan, koska HTML-dokumentin merkistökoodausmääritystä ei löytynyt haettaessa tiedoston ensimmäisestä 1024-tavusta. Merkistökoodausmääritys täytyy siirtää tiedoston 1024 ensimmäisen tavuun.
+EncLateMetaTooLate=Merkistökoodausmääritys löytyy liian myöhään tiedostosta, jotta se voitaisiin huomioida. Merkistökoodausmääritys täytyy siirtää tiedoston 1024 ensimmäisen tavuun.
+EncMetaUnsupported=HTML-dokumentille on määritelty ei tuettu merkistökoodaus meta-tunnisteella. Määrittelyä ei huomioitu.
+EncProtocolUnsupported=Ei tuettu merkistökoodaus määritelty tiedonsiirtotasolla. Määrittelyä ei huomioitu.
+EncBomlessUtf16=Tunnistettiin UTF-16-koodattu normaali vain latinalaisia merkkejä ilman tavujärjestysmerkkiä ja ilman tiedonsiirtokäytäntötason määrittelyä. Tämän sisällön koodaus UTF-16:a ei ole tehokasta ja merkistökoodaus olisi joka tapauksessa tullut määritellä.
+EncMetaUtf16=Meta-tunnisteella määriteltiin merkistökoodaukseksi UTF-16. Tämän tulkittiin tarkoittavan UTF-8:a.
+EncMetaUserDefined=Meta-tunnisteella määriteltiin merkistökoodaukseksi x-user-defined. Tämän tulkittiin tarkoittavan windows-1252:a, jotta varmistettaisiin yhteensopivuus tarkoituksella väärin koodattujen vanhojen kirjasinlajien kanssa. Tämän sivuston pitäisi ruveta käyttämään Unicode-koodausta.
+
+# The bulk of the messages below are derived from
+# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+# which is available under the MIT license.
+
+# Tokenizer errors
+errGarbageAfterLtSlash=Garbage after “</”.
+errLtSlashGt=Saw “</>”. Probable causes: Unescaped “<” (escape as “&lt;”) or mistyped end tag.
+errCharRefLacksSemicolon=Character reference was not terminated by a semicolon.
+errNoDigitsInNCR=No digits in numeric character reference.
+errGtInSystemId=“>” in system identifier.
+errGtInPublicId=“>” in public identifier.
+errNamelessDoctype=Nameless doctype.
+errConsecutiveHyphens=Consecutive hyphens did not terminate a comment. “--” is not permitted inside a comment, but e.g. “- -” is.
+errPrematureEndOfComment=Premature end of comment. Use “-->” to end a comment properly.
+errBogusComment=Bogus comment.
+errUnquotedAttributeLt=“<” in an unquoted attribute value. Probable cause: Missing “>” immediately before.
+errUnquotedAttributeGrave=“`” in an unquoted attribute value. Probable cause: Using the wrong character as a quote.
+errUnquotedAttributeQuote=Quote in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.
+errUnquotedAttributeEquals=“=” in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.
+errSlashNotFollowedByGt=A slash was not immediately followed by “>”.
+errNoSpaceBetweenAttributes=No space between attributes.
+errUnquotedAttributeStartLt=“<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before.
+errUnquotedAttributeStartGrave=“`” at the start of an unquoted attribute value. Probable cause: Using the wrong character as a quote.
+errUnquotedAttributeStartEquals=“=” at the start of an unquoted attribute value. Probable cause: Stray duplicate equals sign.
+errAttributeValueMissing=Attribute value missing.
+errBadCharBeforeAttributeNameLt=Saw “<” when expecting an attribute name. Probable cause: Missing “>” immediately before.
+errEqualsSignBeforeAttributeName=Saw “=” when expecting an attribute name. Probable cause: Attribute name missing.
+errBadCharAfterLt=Bad character after “<”. Probable cause: Unescaped “<”. Try escaping it as “&lt;”.
+errLtGt=Saw “<>”. Probable causes: Unescaped “<” (escape as “&lt;”) or mistyped start tag.
+errProcessingInstruction=Saw “<?”. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
+errUnescapedAmpersandInterpretedAsCharacterReference=The string following “&” was interpreted as a character reference. (“&” probably should have been escaped as “&amp;”.)
+errNotSemicolonTerminated=Named character reference was not terminated by a semicolon. (Or “&” should have been escaped as “&amp;”.)
+errNoNamedCharacterMatch=“&” did not start a character reference. (“&” probably should have been escaped as “&amp;”.)
+errQuoteBeforeAttributeName=Saw a quote when expecting an attribute name. Probable cause: “=” missing immediately before.
+errLtInAttributeName=“<” in attribute name. Probable cause: “>” missing immediately before.
+errQuoteInAttributeName=Quote in attribute name. Probable cause: Matching quote missing somewhere earlier.
+errExpectedPublicId=Expected a public identifier but the doctype ended.
+errBogusDoctype=Bogus doctype.
+maybeErrAttributesOnEndTag=End tag had attributes.
+maybeErrSlashInEndTag=Stray “/” at the end of an end tag.
+errNcrNonCharacter=Character reference expands to a non-character.
+errNcrSurrogate=Character reference expands to a surrogate.
+errNcrControlChar=Character reference expands to a control character.
+errNcrCr=A numeric character reference expanded to carriage return.
+errNcrInC1Range=A numeric character reference expanded to the C1 controls range.
+errEofInPublicId=End of file inside public identifier.
+errEofInComment=End of file inside comment.
+errEofInDoctype=End of file inside doctype.
+errEofInAttributeValue=End of file reached when inside an attribute value. Ignoring tag.
+errEofInAttributeName=End of file occurred in an attribute name. Ignoring tag.
+errEofWithoutGt=Saw end of file without the previous tag ending with “>”. Ignoring tag.
+errEofInTagName=End of file seen when looking for tag name. Ignoring tag.
+errEofInEndTag=End of file inside end tag. Ignoring tag.
+errEofAfterLt=End of file after “<”.
+errNcrOutOfRange=Character reference outside the permissible Unicode range.
+errNcrUnassigned=Character reference expands to a permanently unassigned code point.
+errDuplicateAttribute=Duplicate attribute.
+errEofInSystemId=End of file inside system identifier.
+errExpectedSystemId=Expected a system identifier but the doctype ended.
+errMissingSpaceBeforeDoctypeName=Missing space before doctype name.
+errHyphenHyphenBang=“--!” found in comment.
+errNcrZero=Character reference expands to zero.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=No space between the doctype “SYSTEM” keyword and the quote.
+errNoSpaceBetweenPublicAndSystemIds=No space between the doctype public and system identifiers.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=No space between the doctype “PUBLIC” keyword and the quote.
+
+# Tree builder errors
+errDeepTree=The document tree is too deep. The tree will be flattened to be 513 elements deep.
+errStrayStartTag2=Stray start tag “%1$S”.
+errStrayEndTag=Stray end tag “%1$S”.
+errUnclosedElements=End tag “%1$S” seen, but there were open elements.
+errUnclosedElementsImplied=End tag “%1$S” implied, but there were open elements.
+errUnclosedElementsCell=A table cell was implicitly closed, but there were open elements.
+errStrayDoctype=Stray doctype.
+errAlmostStandardsDoctype=Almost standards mode doctype. Expected “<!DOCTYPE html>”.
+errQuirkyDoctype=Quirky doctype. Expected “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Non-space character in page trailer.
+errNonSpaceAfterFrameset=Non-space after “frameset”.
+errNonSpaceInFrameset=Non-space in “frameset”.
+errNonSpaceAfterBody=Non-space character after body.
+errNonSpaceInColgroupInFragment=Non-space in “colgroup” when parsing fragment.
+errNonSpaceInNoscriptInHead=Non-space character inside “noscript” inside “head”.
+errFooBetweenHeadAndBody=“%1$S” element between “head” and “body”.
+errStartTagWithoutDoctype=Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+errNoSelectInTableScope=No “select” in table scope.
+errStartSelectWhereEndSelectExpected=“select” start tag where end tag expected.
+errStartTagWithSelectOpen=“%1$S” start tag with “select” open.
+errBadStartTagInHead2=Bad start tag “%1$S” in “head”.
+errBadStartTagInNoscriptInHead=Bad start tag “%1$S” in “noscript” in “head”.
+errImage=Saw a start tag “image”.
+errFooSeenWhenFooOpen=An “%1$S” start tag seen but an element of the same type was already open.
+errFooSeenWhenFooOpen2=Start tag “%1$S” seen but an element of the same type was already open.
+errHeadingWhenHeadingOpen=Heading cannot be a child of another heading.
+errFramesetStart=“frameset” start tag seen.
+errNoCellToClose=No cell to close.
+errStartTagInTable=Start tag “%1$S” seen in “table”.
+errFormWhenFormOpen=Saw a “form” start tag, but there was already an active “form” element. Nested forms are not allowed. Ignoring the tag.
+errTableSeenWhileTableOpen=Start tag for “table” seen but the previous “table” is still open.
+errStartTagInTableBody=“%1$S” start tag in table body.
+errEndTagSeenWithoutDoctype=End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+errEndTagAfterBody=Saw an end tag after “body” had been closed.
+errEndTagSeenWithSelectOpen=“%1$S” end tag with “select” open.
+errGarbageInColgroup=Garbage in “colgroup” fragment.
+errEndTagBr=End tag “br”.
+errNoElementToCloseButEndTagSeen=No “%1$S” element in scope but a “%1$S” end tag seen.
+errHtmlStartTagInForeignContext=HTML start tag “%1$S” in a foreign namespace context.
+errTableClosedWhileCaptionOpen=“table” closed but “caption” was still open.
+errNoTableRowToClose=No table row to close.
+errNonSpaceInTable=Misplaced non-space characters inside a table.
+errUnclosedChildrenInRuby=Unclosed children in “ruby”.
+errStartTagSeenWithoutRuby=Start tag “%1$S” seen without a “ruby” element being open.
+errSelfClosing=Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
+errNoCheckUnclosedElementsOnStack=Unclosed elements on stack.
+errEndTagDidNotMatchCurrentOpenElement=End tag “%1$S” did not match the name of the current open element (“%2$S”).
+errEndTagViolatesNestingRules=End tag “%1$S” violates nesting rules.
+errEndWithUnclosedElements=End tag for “%1$S” seen, but there were unclosed elements.
diff --git a/l10n-fi/dom/chrome/layout/layout_errors.properties b/l10n-fi/dom/chrome/layout/layout_errors.properties
new file mode 100644
index 0000000000..c71c668f3e
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/layout_errors.properties
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImageMapRectBoundsError=The "coords" attribute of the <area shape="rect"> tag is not in the "left,top,right,bottom" format.
+ImageMapCircleWrongNumberOfCoords=The "coords" attribute of the <area shape="circle"> tag is not in the "center-x,center-y,radius" format.
+ImageMapCircleNegativeRadius=The "coords" attribute of the <area shape="circle"> tag has a negative radius.
+ImageMapPolyWrongNumberOfCoords=The "coords" attribute of the <area shape="poly"> tag is not in the "x1,y1,x2,y2 …" format.
+ImageMapPolyOddNumberOfCoords=The "coords" attribute of the <area shape="poly"> tag is missing the last "y" coordinate (the correct format is "x1,y1,x2,y2 …").
+
+TablePartRelPosWarning=Relative positioning of table rows and row groups is now supported. This site may need to be updated because it may depend on this feature having no effect.
+ScrollLinkedEffectFound2=This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects for further details and to join the discussion on related tools and features!
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=Animation cannot be run on the compositor because the area of the frame (%1$S) is too large relative to the viewport (larger than %2$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=Animation cannot be run on the compositor because the frame size (%1$S, %2$S) is too large relative to the viewport (larger than (%3$S, %4$S)) or larger than the maximum allowed value (%5$S, %6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Animations of ‘backface-visibility: hidden’ transforms cannot be run on the compositor
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Animations of ‘transform’ on elements with SVG transforms cannot be run on the compositor
+CompositorAnimationWarningTransformWithGeometricProperties=Animations of ‘transform’ cannot be run on the compositor when geometric properties are animated on the same element at the same time
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=Animation of ‘transform’ cannot be run on the compositor because it should be synchronized with animations of geometric properties that started at the same time
+CompositorAnimationWarningTransformFrameInactive=Animation cannot be run on the compositor because the frame was not marked active for ‘transform’ animation
+CompositorAnimationWarningTransformIsBlockedByImportantRules=Transform animation cannot be run on the compositor because transform-related properties are overridden by !important rules
+CompositorAnimationWarningOpacityFrameInactive=Animation cannot be run on the compositor because the frame was not marked active for ‘opacity’ animation
+CompositorAnimationWarningHasRenderingObserver=Animation cannot be run on the compositor because the element has rendering observers (-moz-element or SVG clipping/masking)
+CompositorAnimationWarningHasCurrentColor=Animations of ‘background-color’ cannot be run on the compositor with ‘current-color’ keyframe.
+
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”.
+
+## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning):
+## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms.
+PrincipalWritingModePropagationWarning=When rendering the <html> element, the used values of CSS properties “writing-mode”, “direction”, and “text-orientation” on the <html> element are taken from the computed values of the <body> element, not from the <html> element’s own values. Consider setting these properties on the :root CSS pseudo-class. For more information see “The Principal Writing Mode” in https://www.w3.org/TR/css-writing-modes-3/#principal-flow
+
+## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer):
+## %1$S is an integer value with the total number of adjustments
+## %2$S is a floating point value with the average distance adjusted
+## %3$S is a floating point value with the total adjusted distance
+ScrollAnchoringDisabledInContainer=Scroll anchoring was disabled in a scroll container because of too many consecutive adjustments (%1$S) with too little total distance (%2$S px average, %3$S px total).
+
+ForcedLayoutStart=Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content.
diff --git a/l10n-fi/dom/chrome/layout/printing.properties b/l10n-fi/dom/chrome/layout/printing.properties
new file mode 100644
index 0000000000..b0b6a5a8fd
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formating
+## @page_number The current page number
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formating
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d / %2$d
+
+PrintToFile=Tulosta tiedostoon
+print_error_dialog_title=Tulostin ei toimi
+printpreview_error_dialog_title=Tulosteen esikatselussa tapahtui virhe
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Tulostaessa tapahtui virhe.
+
+PERR_ABORT=Tulostustyö keskeytettin tai peruutettiin.
+PERR_NOT_AVAILABLE=Kaikki tulostustoiminnot eivät ole käytettävissä tällä hetkellä.
+PERR_NOT_IMPLEMENTED=Kaikki tulostustoiminnot eivät ole vielä käytettävissä.
+PERR_OUT_OF_MEMORY=Tulostus ei onnistunut. Muisti ei riitä tulostamiseen.
+PERR_UNEXPECTED=Tulostettaessa tapahtui odottamaton virhe.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Tulostimia ei löytynyt.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Ei voida näyttää tulostuksen esikatselua, koska tulostimia ei löytynyt.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Valittua tulostinta ei löytynyt.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Tulostetiedostoa ei voitu avata tulostusta varten.
+PERR_GFX_PRINTER_STARTDOC=Tulostustyö epäonnistui aloitettaessa tulostusta.
+PERR_GFX_PRINTER_ENDDOC=Tulostustyö epäonnistui lopetettaessa tulostusta.
+PERR_GFX_PRINTER_STARTPAGE=Tulostustyö epäonnistui aloitettaessa uuden sivun tulostusta.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Ei voida tulostaa sivua, koska sitä ladataan vielä.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Ei voida näyttää tulostuksen esikatselua, ksoka sivua ladataan vielä.
diff --git a/l10n-fi/dom/chrome/layout/xmlparser.properties b/l10n-fi/dom/chrome/layout/xmlparser.properties
new file mode 100644
index 0000000000..d77bb4c6d7
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = muisti ei riitä
+2 = syntaksivirhe
+3 = juurielementtiä ei löytynyt
+4 = XML ei ole hyvämuotoista
+5 = sulkematon poletti
+6 = vaillinainen merkki
+7 = elementin alku- ja loppumerkintä eivät täsmää
+8 = elementillä on sama attribuutti kahdesti
+9 = ylimääräistä sisältöä juurielementin jälkeen
+10 = virheellinen parametrientiteettiviittaus
+11 = määrittelemätön entiteetti
+12 = rekursiivinen entiteettiviittaus
+13 = asynkroninen entiteetti
+14 = viittaus virheelliseen merkistönumeroon
+15 = viittaus binäärientiteettiin
+16 = attribuutissa on viittaus ulkoiseen entiteettiin
+17 = XML- tai tekstimäärittely ei ole entiteetin alussa
+18 = tuntematon merkistö
+19 = XML-määrittelyssä määritetty koodaus on väärä
+20 = avoin CDATA-lohko
+21 = virhe ulkoisen entiteettiviittauksen käsittelyssä
+22 = dokumentti on muista tiedostoista riippuvainen
+23 = jäsennin päätyi odottamattomaan tilaan
+24 = entiteetti määriteltiin parametrientiteetissä
+27 = etuliitettä ei ole sidottu nimiavaruuteen
+28 = etuliitteen määrittelyä ei saa poistaa
+29 = puutteellinen merkintä parametrientiteetissä
+30 = XML-määrittely on virheellisesti muotoiltu
+31 = tekstimäärittely on virheellisesti muotoiltu
+32 = julkisessa tunnisteeessa on kiellettyjä merkkejä
+38 = varatun etuliitteen (xml) määrittelyä ei saa poistaa tai sitoa toiseen nimiavaruus-URI:in
+39 = varattua etuliitettä (xmlns) ei saa määritellä tai poistaa määrittelyä
+40 = etuliitettä ei saa sitoa varattuun nimiavaruus-URI:in
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = XML-jäsennysvirhe: %1$S\nURL: %2$S\nRivinumero %3$u, sarake %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Odotettu elementtimerkintä: </%S>.
diff --git a/l10n-fi/dom/chrome/layout/xul.properties b/l10n-fi/dom/chrome/layout/xul.properties
new file mode 100644
index 0000000000..7a9417333b
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=<?%1$S?> käsittelykomennolla ei ole enään mitään vaikutusta prologin ulkopuolella (kts. bugi 360119).
diff --git a/l10n-fi/dom/chrome/mathml/mathml.properties b/l10n-fi/dom/chrome/mathml/mathml.properties
new file mode 100644
index 0000000000..f5ebdbd4eb
--- /dev/null
+++ b/l10n-fi/dom/chrome/mathml/mathml.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+InvalidChild=Invalid markup: <%1$S> is not allowed as a child of <%2$S>.
+ChildCountIncorrect=Invalid markup: Incorrect number of children for <%1$S/> tag.
+DuplicateMprescripts=Invalid markup: More than one <mprescripts/> in <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Invalid markup: Expected exactly one Base element in <mmultiscripts/>. Found none.
+SubSupMismatch=Invalid markup: Incomplete subscript/superscript pair in <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Error in parsing the value '%1$S' for '%2$S' attribute of <%3$S/>. Attribute ignored.
+AttributeParsingErrorNoTag=Error in parsing the value '%1$S' for '%2$S' attribute. Attribute ignored.
+LengthParsingError=Error in parsing MathML attribute value '%1$S' as length. Attribute ignored.
+UnitlessValuesAreDeprecated=Unitless values are deprecated in MathML 3.
diff --git a/l10n-fi/dom/chrome/netError.dtd b/l10n-fi/dom/chrome/netError.dtd
new file mode 100644
index 0000000000..a1e00fffad
--- /dev/null
+++ b/l10n-fi/dom/chrome/netError.dtd
@@ -0,0 +1,107 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY loadError.label "Sivun lataamisvirhe">
+<!ENTITY retry.label "Yritä uudestaan">
+
+<!-- Specific error messages -->
+
+<!ENTITY connectionFailure.title "Yhteyden muodostus epäonnistui">
+<!ENTITY connectionFailure.longDesc "<p>Selain ei onnistunut muodostamaan yhteyttä, vaikka sivusto vaikuttaakin olevan oikea.</p><ul><li>Sivusto voi olla väliaikaisesti pois toiminnasta. Yritä myöhemmin uudelleen.</li><li>Jos muutkaan sivustot eivät toimi, tarkista tietokoneen verkkoasetukset.</li><li>Onko tietokone tai verkko suojattu palomuurilla tai käytetäänkö välityspalvelinta? Virheelliset asetukset voivat haitata selaamista.</li></ul>">
+
+<!ENTITY deniedPortAccess.title "Portti estetty turvallisuussyistä">
+<!ENTITY deniedPortAccess.longDesc "<p>Pyydetty osoite sisältää käytettävän portin (esim. <q>mozilla.org:80</q> ottaa yhteyden mozilla.orgin porttiin 80), joka ei normaalisti ole tarpeen selatessa verkkosivuja. Selain on perunut verkkopyynnön turvallisuussyistä.</p>">
+
+<!ENTITY dnsNotFound.title "Osoitetta ei löytynyt">
+<!ENTITY dnsNotFound.longDesc "<p>Selain ei löytänyt osoitteessa annettua palvelinta.</p><ul><li>Tarkista osoite kirjoitusvirheiden varalta. (esim. <q><strong>ww</strong>.mozilla.org</q> oikean muodon sijaan: <q><strong>www</strong>.mozilla.org</q>)</li><li>Onko palvelinosoite varmasti olemassa? Palvelinosoitteen rekisteröinti on voinut raueta.</li><li>Jos muutkaan sivustot eivät toimi, tarkista tietokoneen verkkoasetukset ja nimipalvelinasetukset.</li><li>Onko tietokone tai verkko suojattu palomuurilla tai käytetäänkö välityspalvelinta? Virheelliset asetukset voivat haitata selaamista.</li></ul>">
+
+<!ENTITY fileNotFound.title "Tiedostoa ei löytynyt">
+<!ENTITY fileNotFound.longDesc "<ul><li>Tiedosto voi olla poistettu, siirretty tai nimetty uudelleen.</li><li>Onko tiedoston nimi ja sijainti kirjoitettu virheettömästi ja oikealla kirjainkoolla?</li><li>Onko käyttäjällä lukuoikeudet tiedostoon?</li></ul>">
+
+<!ENTITY fileAccessDenied.title "Tiedoston käyttö estettiin">
+<!ENTITY fileAccessDenied.longDesc "<ul><li>Tiedosto on voitu poistaa tai siirtää, tai ehkä siihen ei ole käyttöoikeutta.</li></ul>">
+
+<!ENTITY generic.title "Verkkopyyntöä ei kyetä toteuttamaan">
+<!ENTITY generic.longDesc "<p>Tästä ongelmasta tai virheestä ei ole saatavilla lisätietoja.</p>">
+
+<!ENTITY malformedURI.title "Virheellinen osoite">
+<!ENTITY malformedURI.longDesc "<p>Annettu osoite ei ole tunnetussa muodossa. Tarkista osoitteen muoto osoitepalkista ja yritä uudelleen.</p>">
+
+<!ENTITY netInterrupt.title "Tiedonsiirto keskeytyi">
+<!ENTITY netInterrupt.longDesc "<p>Selain muodosti yhteyden onnistuneesti, mutta yhteys katkesi siirrettäessä tietoa. Yritä myöhemmin uudestaan.</p><ul><li>Jos muutkaan sivustot eivät toimi, tarkista tietokoneen verkkoasetukset.</li><li>Jos ongelmat jatkuvat, ota yhteyttä verkon ylläpitoon tai verkkoyhteyden palveluntarjoajaan.</li></ul>">
+
+<!ENTITY notCached.title "Dokumentti on vanhentunut">
+<!ENTITY notCached.longDesc "<p>Pyydettyä dokumenttia ei ole tallennettu selaimen väliaikaistiedostoihin.</p><ul><li>Turvallisuusvarotoimena selain ei automaattisesti lataa uudelleen luottamuksellisia dokumentteja.</li><li>Napsauta alta Yritä uudestaan ladataksesi dokumentin sivustolta uudestaan.</li></ul>">
+
+<!ENTITY netOffline.title "Yhteydettömässä tilassa">
+<!ENTITY netOffline.longDesc2 "<p>Selain on verkkoyhteydettömässä tilassa eikä voi muodostaa yhteyttä pyydettyyn kohteeseen.</p><ul><li>Onko tietokoneen verkkoyhteys toiminnassa?</li><li>Aseta selain yhteystilaan ja yritä uudelleen.</li></ul>">
+
+<!ENTITY contentEncodingError.title "Sisällön koodausvirhe">
+<!ENTITY contentEncodingError.longDesc "<p>Avattavaa sivua ei voida näyttää, koska se on pakattu virheellisesti tai muodossa, joka ei ole tuettu.</p><ul><li>Ilmoitathan sivuston omistajalle tästä ongelmasta.</li></ul>">
+
+<!ENTITY unsafeContentType.title "Vaarallinen tiedostotyyppi">
+<!ENTITY unsafeContentType.longDesc "
+<ul>
+ <li>Ilmoitathan ongelmasta sivuston omistajalle.</li>
+</ul>
+">
+
+<!ENTITY netReset.title "Yhteys keskeytyi">
+<!ENTITY netReset.longDesc "<p>Verkkoyhteys katkesi muodostettaessa yhteyttä. Yritä uudestaan.</p>">
+
+<!ENTITY netTimeout.title "Yhteyden aikakatkaisu">
+<!ENTITY netTimeout.longDesc "<p>Palvelin ei vastannut yhteyspyyntöön, ja selain lopetti vastauksen odottamisen.</p><ul><li>Palvelin voi olla kovan rasituksen alainen tai väliaikaisesti huollettavana. Yritä myöhemmin uudestaan.</li><li>Jos muutkaan sivustot eivät toimi, tarkista tietokoneen verkkoasetukset.</li><li>Onko tietokone tai verkko suojattu palomuurilla tai käytetäänkö välityspalvelinta? Virheelliset asetukset voivat haitata selaamista.</li><li>Jos ongelmat jatkuvat, ota yhteyttä verkon ylläpitoon tai verkkoyhteyden palveluntarjoajaan.</li></ul>">
+
+<!ENTITY unknownProtocolFound.title "Tuntematon yhteyskäytäntö">
+<!ENTITY unknownProtocolFound.longDesc "<p>Selain ei tunnistanut osoitteessa käytettyä yhteyskäytäntöä (esim. <q>wxyz://</q>), minkä takia yhteyttä palvelimeen ei voida muodostaa.</p><ul><li>Jos yhteyttä muodostetaan multimediaa tai jotain muuta kuin tekstiä tarjoavaan palveluun, tarkista palvelimen lisävaatimukset asiakasohjelmille.</li><li>Toimiakseen selaimessa jotkin yhteyskäytännöt vaativat kolmannen osapuolen tekemän ohjelman tai liitännäisen.</li></ul>">
+
+<!ENTITY proxyConnectFailure.title "Välityspalvelin kieltäytyi yhteydestä">
+<!ENTITY proxyConnectFailure.longDesc "<p>Selain on asetettu käyttämään välityspalvelinta, mutta välityspalvelin ei hyväksynyt yhteyttä.</p><ul><li>Ovatko selaimen välityspalvelinasetukset oikeat? Tarkista asetukset ja yritä uudelleen.</li><li>Tulisiko välityspalvelimen hyväksyä yhteydet tästä verkkoyhteydestä?</li><li>Jos ongelmat jatkuvat, ota yhteyttä verkon ylläpitoon tai verkkoyhteyden palveluntarjoajaan.</li></ul>">
+
+<!ENTITY proxyResolveFailure.title "Välityspalvelinta ei löytynyt">
+<!ENTITY proxyResolveFailure.longDesc "<p>Selain on asetettu käyttämään välityspalvelinta, mutta siihen ei saatu yhteyttä.</p><ul><li>Ovatko selaimen välityspalvelinasetukset oikeat? Tarkista asetukset ja yritä uudelleen.</li><li>Onko tietokoneen verkkoyhteys toimintakykyinen?</li><li>Jos ongelmat jatkuvat, ota yhteyttä verkon ylläpitoon tai verkkoyhteyden palveluntarjoajaan.</li></ul>">
+
+<!ENTITY redirectLoop.title "Uudelleenohjaussilmukka">
+<!ENTITY redirectLoop.longDesc "<p>Selain on lopettanut pyydetyn kohteen lataamisen. Palvelin uudelleenohjaa yhteyspyyntöjä loputtomasti.</p><ul><li>Onko kaikki tai sivuston tarvitsemat evästeet estetty?</li><li><em>HUOM</em>: Jos sivuston evästeiden salliminen ei korjaa ongelmaa, vika on luultavasti palvelimen asetuksissa, eikä tässä tietokoneessa.</li></ul>">
+
+<!ENTITY unknownSocketType.title "Virheellinen vastaus">
+<!ENTITY unknownSocketType.longDesc "<p>Palvelin vastasi verkkopyyntöön odottamattomalla tavalla ja selain joutui keskeyttämään toiminnon.</p>">
+
+<!ENTITY nssFailure2.title "Suojatun yhteyden muodostaminen epäonnistui">
+<!ENTITY nssFailure2.longDesc2 "<p>Avattavaa sivua ei voida näyttää, koska vastaanotetun datan alkuperää ei kyetty varmentamaan.</p><ul><li>Ilmoitathan ongelmasta sivuston omistajalle.</li></ul>">
+
+<!ENTITY nssBadCert.title "Suojatun yhteyden muodostaminen epäonnistui">
+<!ENTITY nssBadCert.longDesc2 "<ul>
+<li>Ongelma voi johtua palvelimen asetuksista tai jonkin toisen palvelimen vilpillisestä yrityksestä tekeytyä palvelimeksi.</li>
+<li>Jos yhteyden muodostuminen palvelimeen on aiemmin onnistunut, vika voi olla väliaikainen. Yritä tällöin myöhemmin uudestaan.</li>
+</ul>
+">
+
+<!ENTITY securityOverride.linkText "Tai lisää poikkeussääntö…">
+<!ENTITY securityOverride.warningContent "
+<p>Älä lisää poikkeussääntöä, jos et ole aivan varma käyttämäsi Internet-yhteyden turvallisuudesta tai jos et ole aikaisemmin nähnyt vastaavaa varoitusta tälle palvelimelle.</p>
+<p>Sivustolle voi lisätä poikkeussäännön salauksen lisäasetuksista.</p>
+">
+
+<!ENTITY cspBlocked.title "Sisällön tietosuojakäytännön estämä">
+<!ENTITY cspBlocked.longDesc "<p>Selain esti tämän sivun latautumisen tässä yhteydessä, koska sivun sisällön tietosuojakäytäntö kieltää sen.</p>">
+
+<!ENTITY xfoBlocked.title "Estetty X-Frame-Options-käytännön perusteella">
+<!ENTITY xfoBlocked.longDesc "<p>Selain esti tätä sivua latautumasta tässä yhteydessä, koska sivu sisältää latauksen estävän X-Frame-Options-käytännön.</p>">
+
+<!ENTITY corruptedContentErrorv2.title "Sisältö vioittunut -virhe">
+<!ENTITY corruptedContentErrorv2.longDesc "<p>Avattavaa sivua ei voida näyttää, koska tiedonsiirrossa tapahtui virhe.</p><ul><li>Ilmoitathan ongelmasta sivuston omistajalle.</li></ul>">
+
+<!ENTITY remoteXUL.title "XUL-koodia etänä">
+<!ENTITY remoteXUL.longDesc "<p><ul><li>Ilmoitathan ongelmasta sivuston omistajalle.</li></ul></p>">
+
+<!ENTITY inadequateSecurityError.title "Yhteys ei ole suojattu">
+<!-- LOCALIZATION NOTE (inadequateSecurityError.longDesc) - Do not translate
+ "NS_ERROR_NET_INADEQUATE_SECURITY". -->
+<!ENTITY inadequateSecurityError.longDesc "<p><span class='hostname'></span> käyttää suojaustekniikkaa, joka on vanhentunut ja haavoittuvainen hyökkäyksille. Hyökkääjä voisi helposti lukea tietoja, joiden luulit olevan suojattuja. Sivuston ylläpitäjän täytyy korjata tämä ongelma ennen kuin voit käydä sivustolla.</p><p>Virhekoodi: NS_ERROR_NET_INADEQUATE_SECURITY</p>">
+
+<!ENTITY blockedByPolicy.title "Estetty sivu">
+
+<!ENTITY networkProtocolError.title "Verkkoyhteyskäytännön virhe">
+<!ENTITY networkProtocolError.longDesc "<p>Avattavaa sivua ei voida näyttää havaitun verkkoyhteyskäytännön virheen vuoksi.</p><ul><li>Ilmoitathan ongelmasta sivuston omistajalle.</li></ul>">
diff --git a/l10n-fi/dom/chrome/netErrorApp.dtd b/l10n-fi/dom/chrome/netErrorApp.dtd
new file mode 100644
index 0000000000..d245555380
--- /dev/null
+++ b/l10n-fi/dom/chrome/netErrorApp.dtd
@@ -0,0 +1,23 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- This file exists to allow applications to override one or more messages
+ from netError.dtd; Applications which want to do this should override
+ this file with their own version of netErrorApp.dtd -->
+
+<!-- An example (from Firefox):
+
+<!ENTITY securityOverride.linkText "Or you can add an exception…">
+<!ENTITY securityOverride.getMeOutOfHereButton "Get me out of here!">
+<!ENTITY securityOverride.exceptionButtonLabel "Add Exception…">
+
+<!ENTITY securityOverride.warningContent "
+<p>You should not add an exception if you are using an internet connection that you do not trust completely or if you are not used to seeing a warning for this server.</p>
+<p>If you still wish to add an exception for this site, you can do so in your advanced encryption settings.</p>
+
+<button id='getMeOutOfHereButton'>&securityOverride.getMeOutOfHereButton;</button>
+<button id='exceptionDialogButton'>&securityOverride.exceptionButtonLabel;</button>
+">
+
+-->
diff --git a/l10n-fi/dom/chrome/nsWebBrowserPersist.properties b/l10n-fi/dom/chrome/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..7b70cb3afd
--- /dev/null
+++ b/l10n-fi/dom/chrome/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=Tiedostoa %S ei voitu tallentaa, koska lähdetiedostoa ei voitu lukea.\n\nYritä myöhemmin uudelleen tai ota yhteyttä palvelimen ylläpitäjään.
+writeError=Tiedostoa %S ei voitu tallentaa tuntemattoman virheen vuoksi.\n\nPahoittelumme. Yritä tallentaa toiseen kansioon.
+launchError=Tiedostoa %S ei voitu avata tuntemattoman virheen vuoksi.\n\nMozilla.org pahoittelee. Yritä ensin tallentaa tiedosto levylle ja vasta sitten avata tiedosto.
+diskFull=Levyllä ei ole tarpeeksi tilaa, jotta %S voitaisiin tallentaa.\n\nPoista tarpeettomia tiedostoja ja yritä uudelleen tai yritä tallentaa muualle.
+readOnly=Tiedostoa %S ei voitu tallentaa, koska levylle, kansioon tai tiedostoon ei ole kirjoitusoikeuksia.\n\nPoista kirjoitussuojaus tai koita tallentaa muualle.
+accessError=Kohdetta %S ei voitu tallentaa, koska et voi muuttaa sen kansion sisältöä.\n\nMuuta kansion oikeuksia ja yritä uudelleen tai koita tallentaa muualle.
+SDAccessErrorCardReadOnly=Ei voitu ladata tiedostoa, koska SD-korttia on käytössä.
+SDAccessErrorCardMissing=Ei voitu ladata tiedostoa, koska SD-korttia ei löydy.
+helperAppNotFound=Tiedostoa %S ei voitu avata, koska tiedostotyyppiin liitettyä apuohjelmaa ei löydy. Muuta tiedostotyypin asetuksia.
+noMemory=Muisti ei riitä pyytämäsi toiminnon suorittamiseen.\n\nSulje joitain ohjelmia ja yritä uudestaan.
+title=Ladataan: %S
+fileAlreadyExistsError=Tiedostoa %S ei voitu tallentaa, koska samanniminen tiedosto on jo olemassa "_tiedostot"-kansiona.\n\nTallenna tiedosto toiseen kansioon.
+fileNameTooLongError=Tiedostoa %S ei voitu tallentaa, koska tiedostonimi on liian pitkä.\n\nTallenna tiedosto lyhyemmällä nimellä.
diff --git a/l10n-fi/dom/chrome/plugins.properties b/l10n-fi/dom/chrome/plugins.properties
new file mode 100644
index 0000000000..72dc534188
--- /dev/null
+++ b/l10n-fi/dom/chrome/plugins.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+# Those strings are inserted into an HTML page, so all HTML characters
+# have to be escaped in a way that they show up correctly in HTML!
+
+# GMP Plugins
+gmp_license_info=Lisenssitiedot
+gmp_privacy_info=Tietosuojatiedot
+
+openH264_name=OpenH264 Video Codec, toimittaja Cisco Systems, Inc.
+openH264_description2=Mozilla asensi tämän liitännäisen automaattisesti WebRTC-rajapinnan määritelmän mukaisesti ja jotta WebRTC-puhelut olisivat mahdollisia laitteisiin, jotka vaativat H.264-videokoodekin. Lue lisää koodekin toteutustavasta ja tarkastele lähdekoodia osoitteesta http://www.openh264.org/.
+
+cdm_description2=Tämä liitännäinen mahdollistaa Encrypted Media Extensions -määrittelyn mukaisen salatun sisällön toistamisen. Sivustot käyttävät salattua mediasisältöä tyypillisesti estämään maksullisen sisällön kopiointi. Lue lisää Encrypted Media Extensions -määrittelystä osoitteessa https://www.w3.org/TR/encrypted-media/.
+
+widevine_description=Widevine Content Decryption Module, toimittaja Google Inc.
diff --git a/l10n-fi/dom/chrome/security/caps.properties b/l10n-fi/dom/chrome/security/caps.properties
new file mode 100644
index 0000000000..c259db1502
--- /dev/null
+++ b/l10n-fi/dom/chrome/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = Turvallisuusvirhe: Sisältö kohteessa %S ei voi ladata tai linkittää kohteeseen %S.
+CheckSameOriginError = Turvallisuusvirhe: Sisältö kohteessa %S ei voi ladata dataa kohteesta %S.
+ExternalDataError = Turvallisuusvirhe: Sisältö kohteessa %S yritti ladata kohdetta %S, mutta sen ei ole sallittua ladata ulkoista dataa kun sitä käytetään kuvana
+
+CreateWrapperDenied = Ei lupaa luoda pakettia luokan %S objektille
+CreateWrapperDeniedForOrigin = <%2$S>:lla ei ole lupaa luoda pakettia luokan %1$S objektille
diff --git a/l10n-fi/dom/chrome/security/csp.properties b/l10n-fi/dom/chrome/security/csp.properties
new file mode 100644
index 0000000000..5510984533
--- /dev/null
+++ b/l10n-fi/dom/chrome/security/csp.properties
@@ -0,0 +1,107 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Sivuston asetukset estivät resurssin lataamisen: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Sivuston asetukset estivät resurssin lataamisen osoitteesta %2$S ("%1$S").
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Tapahtui virhe CSP-raportointikäytännössä ("%1$S"). Käytös oli sallittua ja CSP-raportti lähetettiin.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Havaittiin resurssin lataaminen osoitteesta %2$S ("%1$S"). CSP-raportti lähetetään.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Yritettiin lähettää raportti virheelliseen osoitteeseen: "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = raportointiosoitteen jäsennys epäonnistui: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Tuntemattoman direktiivin '%1$S' suoritus ei onnistunut
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Ohitetaan tuntematon valinta %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Ohitetaan toistettu lähde %1$S
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Ohitetaan lähde '%1$S' (Ei tuettu meta-elementin kautta toimitettaessa).
+# LOCALIZATION NOTE (ignoringSrcWithinScriptStyleSrc):
+# %1$S is the ignored src
+# script-src and style-src are directive names and should not be localized
+ignoringSrcWithinScriptStyleSrc = Ohitetaan "%1$S" script-src:ssä tai style-src:ssä: nonce-source tai hash-source määritetty
+# LOCALIZATION NOTE (ignoringSrcForStrictDynamic):
+# %1$S is the ignored src
+# script-src, as well as 'strict-dynamic' should not be localized
+ignoringSrcForStrictDynamic = Ohitetaan ”%1$S” script-src:ssä: ”strict-dynamic” määritetty
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Ohitetaan lähde ”%1$S” (Tuetaan vain script-src:ssä).
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Avainsana ”strict-dynamic” ”%1$S”:ssä ilman kelvollista nonce- tai hash-arvoa voi estää kaikkia komentosarjoja latautumasta
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = Raportointiosoitteen (%1$S) pitäisi olla HTTP- tai HTTPS-osoite.
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Sivustolla (%1$S) on raportointikäytäntö ilman raportointiosoitetta. CSP ei estä eikä voi raportoida tämän käytännön rikkomisia.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Ei kyetty jäsentämään tuntematonta lähdettä %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Päivitetään turvatonta pyyntöä '%1$S' käyttämään '%2$S'
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Ohitetaan srcs direktiiville '%1$S'
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Tulkitaan %1$S palvelimen nimeksi, ei hakusanaksi. Jos halusit kirjoittaa hakusanan, kirjoita '%2$S' (heittomerkeillä ympyröitynä).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Ei tueta direktiiviä '%1$S'. Direktiivi ja arvo ohitetaan.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Estetään turvaton pyyntö '%1$S'.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = Ohitetaan ’%1$S’, koska se ei sisällä yhtään parametria.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Ignoring sandbox directive when delivered in a report-only policy ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Ohitetaan ’%1$S’ direktiivin ’%2$S’ takia.
+
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = Ohitetaan lähde ”%1$S” (Ei tueta ”%2$S” sisällä).
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Ei voitu jäsentää virheellistä lähdettä %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Ei voitu jäsentää virheellistä palvelintietoa %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Ei voitu jäsentää porttitietoa osoitteessa %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Kopioita %1$S direktiivistä löydettiin. Vain ensimmäinen versio direktiivistä huomioidaan.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Couldn’t parse invalid sandbox flag ‘%1$S’
diff --git a/l10n-fi/dom/chrome/security/security.properties b/l10n-fi/dom/chrome/security/security.properties
new file mode 100644
index 0000000000..4d30aa81fd
--- /dev/null
+++ b/l10n-fi/dom/chrome/security/security.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Estettiin osittain suojaamattoman, näytettävän sisällön lataus "%1$S"
+BlockMixedActiveContent = Estettiin osittain suojaamattoman, interaktiivisen sisällön lataus "%1$S"
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS disabled).
+CORSDidNotSucceed=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request did not succeed).
+CORSOriginHeaderNotAdded=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header ‘Origin’ cannot be added).
+CORSExternalRedirectNotAllowed=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request external redirect not allowed).
+CORSRequestNotHttp=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request not http).
+CORSMissingAllowOrigin=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
+CORSMultipleAllowOriginNotAllowed=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: Multiple CORS header ‘Access-Control-Allow-Origin’ not allowed).
+CORSAllowOriginNotMatchingOrigin=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header 'Access-Control-Allow-Origin' does not match '%2$S').
+CORSNotSupportingCredentials=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at ‘%1$S’. (Reason: Credential is not supported if the CORS header ‘Access-Control-Allow-Origin’ is ‘*’).
+CORSMethodNotFound=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: Did not find method in CORS header 'Access-Control-Allow-Methods').
+CORSMissingAllowCredentials=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: expected 'true' in CORS header 'Access-Control-Allow-Credentials').
+CORSPreflightDidNotSucceed2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS preflight response did not succeed).
+CORSInvalidAllowMethod=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: invalid token '%2$S' in CORS header 'Access-Control-Allow-Methods').
+CORSInvalidAllowHeader=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: invalid token '%2$S' in CORS header 'Access-Control-Allow-Headers').
+CORSMissingAllowHeaderFromPreflight2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: header ‘%2$S’ is not allowed according to header ‘Access-Control-Allow-Headers’ from CORS preflight response).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: An unknown error occurred processing the header specified by the site.
+STSUntrustworthyConnection=Strict-Transport-Security: The connection to the site is untrustworthy, so the specified header was ignored.
+STSCouldNotParseHeader=Strict-Transport-Security: The site specified a header that could not be parsed successfully.
+STSNoMaxAge=Strict-Transport-Security: The site specified a header that did not include a 'max-age' directive.
+STSMultipleMaxAges=Strict-Transport-Security: The site specified a header that included multiple 'max-age' directives.
+STSInvalidMaxAge=Strict-Transport-Security: The site specified a header that included an invalid 'max-age' directive.
+STSMultipleIncludeSubdomains=Strict-Transport-Security: The site specified a header that included multiple 'includeSubDomains' directives.
+STSInvalidIncludeSubdomains=Strict-Transport-Security: The site specified a header that included an invalid 'includeSubDomains' directive.
+STSCouldNotSaveState=Strict-Transport-Security: An error occurred noting the site as a Strict-Transport-Security host.
+
+# LOCALIZATION NOTE: Do not translate "SHA-1"
+SHA1Sig=Sivusto käyttää SHA-1 -varmennetta. On suositeltua käyttää varmenteita, joiden allekirjoitusalgoritmit käyttävät SHA-1:ä vahvempia tiivistefunktioita.
+InsecurePasswordsPresentOnPage=Salasanakenttiä suojaamattomalla (http://) sivulla. Tämä on turvallisuusriski, jonka avulla käyttäjän kirjautumistiedot voidaan varastaa.
+InsecureFormActionPasswordsPresent=Salasanakenttiä lomakkeessa suojaamattoman (http://) lomaketoiminnon yhteydessä. Tämä on turvallisuusriski, jonka avulla käyttäjän kirjautumistiedot voidaan varastaa.
+InsecurePasswordsPresentOnIframe=Salasanakenttiä suojaamattomassa (http://) iframessa. Tämä on turvallisuusriski, jonka avulla käyttäjän kirjautumistiedot voidaan varastaa.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Ladataan osittain suojaamaton interaktiivista sisältöä "%1$S" suojatulla sivulla
+LoadingMixedDisplayContent2=Ladataan osittain suojaamatonta näytettävää sisältöä "%1$S" suojatulla sivulla
+LoadingMixedDisplayObjectSubrequestDeprecation=Loading mixed (insecure) content “%1$S” within a plugin on a secure page is discouraged and will be blocked soon.
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = Blocked downloading insecure content “%S”.
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=iframe-kehyksellä, jolle on asetettu sekä allow-scripts, että allow-same-origin sen sandbox-ominaisuuksiin voi poistaa hiekkalaatikkotilan käytöstä.
+
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=An iframe which has both allow-top-navigation and allow-top-navigation-by-user-activation for its sandbox attribute will permit top navigations.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=The script element has a malformed hash in its integrity attribute: "%1$S". The correct format is "<hash algorithm>-<hash value>".
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=The hash contained in the integrity attribute has the wrong length.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=The hash contained in the integrity attribute could not be decoded.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256").
+IntegrityMismatch=None of the "%1$S" hashes in the integrity attribute match the content of the subresource.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource="%1$S" is not eligible for integrity checks since it's neither CORS-enabled nor same-origin.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Unsupported hash algorithm in the integrity attribute: "%1$S"
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=The integrity attribute does not contain any valid metadata.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Tämä sivusto on suojattu RC4-salausavaimella, joka on vanhentunut ja turvaton.
+
+DeprecatedTLSVersion2=Tämä sivusto käyttää TLS:n käytöstä poistuvaa versiota. Päivitä TLS-versioon 1.2 tai 1.3.
+
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=The resource from “%1$S” was blocked due to MIME type (“%2$S”) mismatch (X-Content-Type-Options: nosniff).
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XCTOHeaderValueMissing=X-Content-Type-Options header warning: value was “%1$S”; did you mean to send “nosniff”?
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=The resource from “%1$S” was not rendered due to an unknown, incorrect or missing MIME type (X-Content-Type-Options: nosniff).
+
+BlockScriptWithWrongMimeType2=Script from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+WarnScriptWithWrongMimeType=The script from “%1$S” was loaded even though its MIME type (“%2$S”) is not a valid JavaScript MIME type.
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=Loading script from “%1$S” with importScripts() was blocked because of a disallowed MIME type (“%2$S”).
+BlockWorkerWithWrongMimeType=Loading Worker from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+BlockModuleWithWrongMimeType=Loading module from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Navigation to toplevel data: URI not allowed (Blocked loading of: “%1$S”)
+BlockSubresourceRedirectToData=Redirecting to insecure data: URI not allowed (Blocked loading of: “%1$S”)
+
+BlockSubresourceFTP=Loading FTP subresource within http(s) page not allowed (Blocked loading of: “%1$S”)
+
+RestrictBrowserEvalUsage=eval() and eval-like uses are not allowed in the Parent Process or in System Contexts (Blocked usage in “%1$S”)
+
+# LOCALIZATION NOTE (BrowserUpgradeInsecureDisplayRequest):
+# %1$S is the browser name "brandShortName"; %2$S is the URL of the upgraded request; %1$S is the upgraded scheme.
+BrowserUpgradeInsecureDisplayRequest = %1$S is upgrading an insecure display request ‘%2$S’ to use ‘%3$S’
+
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=Upgrading insecure display request ‘%1$S’ to use ‘%2$S’
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=Clear-Site-Data header forced the clean up of “%S” data.
+UnknownClearSiteDataValue=Clear-Site-Data header found. Unknown value “%S”.
+
+# Reporting API
+ReportingHeaderInvalidJSON=Reporting Header: invalid JSON value received.
+ReportingHeaderInvalidNameItem=Reporting Header: invalid name for group.
+ReportingHeaderDuplicateGroup=Reporting Header: ignoring duplicated group named “%S”.
+ReportingHeaderInvalidItem=Reporting Header: ignoring invalid item named “%S”.
+ReportingHeaderInvalidEndpoint=Reporting Header: ignoring invalid endpoint for item named “%S”.
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=Reporting Header: ignoring invalid endpoint URL “%1$S” for item named “%2$S”.
+
+FeaturePolicyUnsupportedFeatureName=Feature Policy: Skipping unsupported feature name “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= Feature Policy: Skipping empty allow list for feature: “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=Feature Policy: Skipping unsupported allow value “%S”.
+
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=HTTP Referrer header: Length is over “%1$S” bytes limit - stripping referrer header down to origin: “%2$S”
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=HTTP Referrer header: Length of origin within referrer is over “%1$S” bytes limit - removing referrer with origin “%2$S”.
+
+# X-Frame-Options
+# LOCALIZATION NOTE(XFrameOptionsInvalid): %1$S is the header value, %2$S is frame URI. Do not translate "X-Frame-Options".
+XFrameOptionsInvalid = Invalid X-Frame-Options header was found when loading “%2$S”: “%1$S” is not a valid directive.
+# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options".
+XFrameOptionsDeny=The loading of “%2$S” in a frame is denied by “X-Frame-Options“ directive set to “%1$S“.
+
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = Päivitetään suojaamaton pyyntö “%1$S” käyttämään skeemaa “%2$S”.
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = Ei päivitetä suojaamatonta pyyntöä “%1$S”, koska se on vapautettu.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = Suojaamattoman pyynnön “%1$S” päivittäminen epäonnistui. (%2$S)
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = Download of “%S” was blocked because the triggering iframe has the sandbox flag set.
+
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = Received empty or no input. Returning an empty DocumentFragment.
+# LOCALIZATION NOTE: "Sanitizer" is the name of the API. Please do not localize.
+SanitizerOptionsDiscarded = Options for the Sanitizer constructor are not yet supported. Please note this is experimental behavior.
diff --git a/l10n-fi/dom/chrome/svg/svg.properties b/l10n-fi/dom/chrome/svg/svg.properties
new file mode 100644
index 0000000000..fd5df60b06
--- /dev/null
+++ b/l10n-fi/dom/chrome/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Odottamaton arvo %2$S jäsennettäessä attribuuttia %1$S.
diff --git a/l10n-fi/dom/chrome/xml/prettyprint.dtd b/l10n-fi/dom/chrome/xml/prettyprint.dtd
new file mode 100644
index 0000000000..0e2e690acd
--- /dev/null
+++ b/l10n-fi/dom/chrome/xml/prettyprint.dtd
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY xml.nostylesheet "Tämän XML-dokumentin mukana ei näytä olevan mitään tyyli- tai muotoilutietoa. Dokumentin hierarkia-puu on alla.">
diff --git a/l10n-fi/dom/chrome/xslt/xslt.properties b/l10n-fi/dom/chrome/xslt/xslt.properties
new file mode 100644
index 0000000000..010bbe13ef
--- /dev/null
+++ b/l10n-fi/dom/chrome/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 =XSLT-tyylitiedoston jäsennys epäonnistui.
+2 =XPath-lausekkeen jäsennys epäonnistui.
+3 =
+4 =XSLT-muunnos epäonnistui.
+5 =XSLT/XPath kutsui tuntematonta funktiota.
+6 =XSLT-tyylitiedosto sisältää (mahdollisesti) rekursion.
+7 =Attribuutin arvo ei ole sallittu XSLT 1.0:ssa.
+8 =XPath-lausekkeen odotettiin palauttavan solmujoukko.
+9 =<xsl:message> päätti XSLT-muunnoksen.
+10 =XSLT-tyylitiedostoa ladatessa tapahtui verkkovirhe:
+11 =XSLT-tyylitiedostolla ei ole XML MIME -tyyppiä:
+12 =XSLT-tyylitiedosto joko suoraan tai epäsuoraan tuo tai sisältää itsensä:
+13 =XPath-funktiota kutsuttiin väärällä lukumäärällä argumentteja.
+14 =Kutsuttiin tuntematonta XPath extension -funktiota.
+15 =XPath-jäsennysvirhe: odotettiin ")"-merkkiä:
+16 =XPath-jäsennysvirhe: virheellinen siirtymä (axis):
+17 =XPath-jäsennysvirhe: odotettiin kohteen nimeä tai solmutestiä:
+18 =XPath-jäsennysvirhe: odotettiin "]"-merkkiä:
+19 =XPath-jäsennysvirhe: virheellinen muuttujan nimi:
+20 =XPath-jäsennysvirhe: lauseke päättyi ennenaikaisesti:
+21 =XPath-jäsennysvirhe: odotettiin operaattoria:
+22 =XPath-jäsennysvirhe: sulkematon literaali:
+23 =XPath-jäsennysvirhe: odottamaton ":"-merkki:
+24 =XPath-jäsennysvirhe: odottamaton "!"-merkki, kielto-operaattori on not():
+25 =XPath-jäsennysvirhe: löydettiin kielletty merkki:
+26 =XPath-jäsennysvirhe: odotettiin kaksipaikkaista operaattoria:
+27 =XSLT-tyylitiedostoa ei ladattu turvallisuussyistä.
+28 =Suoritetaan virheellistä lauseketta.
+29 =Pariton aaltosulje.
+30 =Luodaan elementtiä virheellisellä QName:lla.
+31 =Muuttujan määrittely peittää toisen muuttujan määrittelyn samassa mallipohjassa.
+32 = Avainfunktion kutsu ei sallittu.
+
+LoadingError =Virhe ladattaessa tyylitiedostoa: %S
+TransformError =Virhe XSLT-muunnoksen aikana: %S