summaryrefslogtreecommitdiffstats
path: root/l10n-et/dom
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /l10n-et/dom
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'l10n-et/dom')
-rw-r--r--l10n-et/dom/chrome/accessibility/AccessFu.properties111
-rw-r--r--l10n-et/dom/chrome/accessibility/mac/accessible.properties70
-rw-r--r--l10n-et/dom/chrome/accessibility/unix/accessible.properties21
-rw-r--r--l10n-et/dom/chrome/accessibility/win/accessible.properties21
-rw-r--r--l10n-et/dom/chrome/appstrings.properties37
-rw-r--r--l10n-et/dom/chrome/dom/dom.properties435
-rw-r--r--l10n-et/dom/chrome/global-strres.properties5
-rw-r--r--l10n-et/dom/chrome/layout/HtmlForm.properties35
-rw-r--r--l10n-et/dom/chrome/layout/MediaDocument.properties22
-rw-r--r--l10n-et/dom/chrome/layout/css.properties45
-rw-r--r--l10n-et/dom/chrome/layout/htmlparser.properties145
-rw-r--r--l10n-et/dom/chrome/layout/layout_errors.properties53
-rw-r--r--l10n-et/dom/chrome/layout/printing.properties56
-rw-r--r--l10n-et/dom/chrome/layout/xmlparser.properties48
-rw-r--r--l10n-et/dom/chrome/layout/xul.properties5
-rw-r--r--l10n-et/dom/chrome/mathml/mathml.properties15
-rw-r--r--l10n-et/dom/chrome/nsWebBrowserPersist.properties17
-rw-r--r--l10n-et/dom/chrome/security/caps.properties9
-rw-r--r--l10n-et/dom/chrome/security/csp.properties113
-rw-r--r--l10n-et/dom/chrome/security/security.properties158
-rw-r--r--l10n-et/dom/chrome/svg/svg.properties5
-rw-r--r--l10n-et/dom/chrome/xslt/xslt.properties39
-rw-r--r--l10n-et/dom/dom/XMLPrettyPrint.ftl5
-rw-r--r--l10n-et/dom/dom/media.ftl5
24 files changed, 1475 insertions, 0 deletions
diff --git a/l10n-et/dom/chrome/accessibility/AccessFu.properties b/l10n-et/dom/chrome/accessibility/AccessFu.properties
new file mode 100644
index 0000000000..a7e78fee85
--- /dev/null
+++ b/l10n-et/dom/chrome/accessibility/AccessFu.properties
@@ -0,0 +1,111 @@
+# 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/.
+
+# Roles
+menubar = menüüriba
+scrollbar = kerimisriba
+grip = liugur
+alert = hoiatus
+menupopup = hüpikmenüü
+document = dokument
+pane = paneel
+dialog = dialoog
+separator = eraldaja
+toolbar = tööriistariba
+statusbar = olekuriba
+table = tabel
+columnheader = veeru päis
+rowheader = rea päis
+column = veerg
+row = rida
+cell = lahter
+link = link
+list = nimekiri
+listitem = nimekirja element
+outline = kontuur
+outlineitem = kontuuri element
+pagetab = kaart
+propertypage = omaduste leht
+graphic = graafika
+switch = lüliti
+pushbutton = nupp
+checkbutton = märkeruut
+radiobutton = raadionupp
+combobox = combo box
+progressbar = edenemisriba
+slider = liugur
+spinbutton = spin button
+diagram = diagramm
+animation = animatsioon
+equation = võrrand
+buttonmenu = nupumenüü
+whitespace = tühik
+pagetablist = kaartide nimekiri
+canvas = canvas
+checkmenuitem = valikumenüü element
+passwordtext = parooli tekst
+radiomenuitem = raadiomenüü element
+textcontainer = tekstikonteiner
+togglebutton = lüliti
+treetable = tree table
+header = päis
+footer = jalus
+paragraph = lõik
+entry = sissekanne
+caption = alapealkiri
+heading = pealkiri
+section = rubriik
+form = vorm
+comboboxlist = combo box list
+comboboxoption = combo box option
+imagemap = image map
+listboxoption = list box option
+listbox = list box
+flatequation = flat equation
+gridcell = gridcell
+note = märge
+figure = joonis
+definitionlist = definitsioonide nimekiri
+term = termin
+definition = definitsioon
+
+mathmltable = math table
+mathmlcell = cell
+mathmlenclosed = enclosed
+mathmlfraction = fraction
+mathmlfractionwithoutbar = fraction without bar
+mathmlroot = root
+mathmlscripted = scripted
+mathmlsquareroot = square root
+
+# More sophisticated roles which are not actual numeric roles
+textarea = tekstiala
+
+base = base
+close-fence = closing fence
+denominator = denominator
+numerator = numerator
+open-fence = opening fence
+overscript = overscript
+presubscript = presubscript
+presuperscript = presuperscript
+root-index = root index
+subscript = subscript
+superscript = superscript
+underscript = underscript
+
+# More sophisticated object descriptions
+headingLevel = pealkirja tase %S
+
+# Landmark announcements
+banner = bänner
+complementary = täiendav sisu
+contentinfo = sisu info
+main = põhisisu
+navigation = navigatsioon
+search = otsing
+region = piirkond
+
+stateRequired = nõutud
+
diff --git a/l10n-et/dom/chrome/accessibility/mac/accessible.properties b/l10n-et/dom/chrome/accessibility/mac/accessible.properties
new file mode 100644
index 0000000000..55c6ad47df
--- /dev/null
+++ b/l10n-et/dom/chrome/accessibility/mac/accessible.properties
@@ -0,0 +1,70 @@
+# 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 = Hüppa
+press = Vajuta
+check = Linnuke
+uncheck = Eemalda linnuke
+select = Vali
+open = Ava
+close = Sulge
+switch = Vaheta
+click = Klõpsa
+collapse= Ahenda
+expand = Laienda
+activate= Aktiveeri
+cycle = Ringle
+
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Klõpsa ülemal objektil
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = HTML sisu
+# The Role Description for the Tab button.
+tab = kaardi nupp
+# The Role Description for definition list dl, dt and dd
+term = termin
+definition = definitsioon
+# The Role Description for an input type="search" text field
+searchTextField = teksti otsimise väli
+# The Role Description for WAI-ARIA Landmarks
+application = rakendus
+search = otsing
+banner = päis
+navigation = navigatsioon
+complementary = täiendav sisu
+content = sisu
+main = põhisisu
+# The (spoken) role description for various WAI-ARIA roles
+alert = hoiatus
+alertDialog = hoiatuse dialoog
+dialog = dialoog
+article = artikkel
+document = dokument
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = kujund
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = päis
+log = logi
+marquee = marquee
+math = matemaatika
+note = märge
+region = piirkond
+status = rakenduse olek
+timer = taimer
+tooltip = vihje
+separator = eraldaja
+tabPanel = kaartide paneel
+# The roleDescription for the html:mark element
+highlight = esiletõstetud
+# The roleDescription for the details element
+details = üksikasjad
+# The roleDescription for the summary element
+summary = kokkuvõte
diff --git a/l10n-et/dom/chrome/accessibility/unix/accessible.properties b/l10n-et/dom/chrome/accessibility/unix/accessible.properties
new file mode 100644
index 0000000000..40929ee24d
--- /dev/null
+++ b/l10n-et/dom/chrome/accessibility/unix/accessible.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/.
+
+jump = Hüppa
+press = Vajuta
+check = Linnuke
+uncheck = Eemalda linnuke
+select = Vali
+open = Ava
+close = Sulge
+switch = Vaheta
+click = Klõpsa
+collapse= Ahenda
+expand = Laienda
+activate= Aktiveeri
+cycle = Ringle
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Klõpsa ülemal objektil
diff --git a/l10n-et/dom/chrome/accessibility/win/accessible.properties b/l10n-et/dom/chrome/accessibility/win/accessible.properties
new file mode 100644
index 0000000000..40929ee24d
--- /dev/null
+++ b/l10n-et/dom/chrome/accessibility/win/accessible.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/.
+
+jump = Hüppa
+press = Vajuta
+check = Linnuke
+uncheck = Eemalda linnuke
+select = Vali
+open = Ava
+close = Sulge
+switch = Vaheta
+click = Klõpsa
+collapse= Ahenda
+expand = Laienda
+activate= Aktiveeri
+cycle = Ringle
+# An action provided to accessibility clients such as screen readers to allow
+# them to click an element when the click will be handled by a container
+# (ancestor) element. This is not normally reported to users.
+click ancestor = Klõpsa ülemal objektil
diff --git a/l10n-et/dom/chrome/appstrings.properties b/l10n-et/dom/chrome/appstrings.properties
new file mode 100644
index 0000000000..ba5982a587
--- /dev/null
+++ b/l10n-et/dom/chrome/appstrings.properties
@@ -0,0 +1,37 @@
+# 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=Palun kontrolli URLi korrektsust ja proovi siis uuesti.
+fileNotFound=Faili %S ei leitud. Palun kontrolli asukohta ja proovi uuesti.
+fileAccessDenied=Fail asukohas %S pole loetav.
+dnsNotFound2=Aadressi %S ei leitud. Palun kontrolli nime ja proovi uuesti.
+unknownProtocolFound=Üks järgnevatest protokollidest (%S) pole registreeritud või pole antud kontekstis lubatud.
+connectionFailure=Ühendusest aadressiga %S keelduti.
+netInterrupt=Ühendus aadressiga %S katkestati ootamatult. Andmed võidi osaliselt üle kanda.
+netTimeout=Aegumine ühendumisel aadressiga %S.
+redirectLoop=Ümbersuunamiste limiit sellele URLile on ületatud. Pole võimalik nõutud lehte laadida. See võib olla põhjustatud küpsistest, mis on blokitud.
+confirmRepostPrompt=Et vaadata seda lehte, peab rakendus saatma uuesti andmed, mille abil sooritatakse uuesti kõik need tegevused (nagu otsing või ost internetist), mis sooritati selle lehe eelmisel laadimisel.
+resendButton.label=Saada uuesti
+unknownSocketType=Seda dokumenti pole võimalik kuvada, kui sa ei paigalda just Isiklikku Turvalisuse Haldurit (ITH). Laadi alla ja paigalda ITH ning proovi uuesti või võta ühendust oma süsteemiadministraatoriga.
+netReset=Dokument ei sisalda mingeid andmeid.
+notCached=Dokument pole enam saadaval.
+netOffline=Seda dokumenti pole võrguta režiimis võimalik näidata. Võrgurežiimi lülitamiseks eemalda linnuke Tööta võrguta kirjelt Fail menüüs.
+isprinting=Dokumenti pole võimalik printimise või väljatrüki eelvaate vaatamise ajal muuta.
+deniedPortAccess=Ligipääs sellele pordile on turvakaalutlustel keelatud.
+proxyResolveFailure=Seadistatud puhverserverit ei leitud. Palun kontrolli oma puhverserveri seadeid.
+proxyConnectFailure=Ühendusest puhverserveriga keelduti. Palun kontrolli oma puhverserveri seadeid.
+contentEncodingError=Lehte, mida üritad vaadata, pole võimalik kuvada, kuna see on pakitud vormingus, mida ei toetata.
+unsafeContentType=Lehte, mida üritad vaadata, pole võimalik kuvada, kuna see sisaldub failis, mille tüüpi on ohtlik avada. Palun võta ühendust veebilehe omanikuga, et informeerida teda probleemist.
+malwareBlocked=Aadressil %S asuv veebileht on teadete kohaselt ründav leht ja see blokiti vastavalt sinu turvasätetele.
+harmfulBlocked=Aadressil %S asuv veebileht on teadete kohaselt potentsiaalselt kahjulik ja see blokiti vastavalt sinu turvasätetele.
+unwantedBlocked=Aadressil %S asuv veebileht levitab teadete kohaselt soovimatut tarkvara ja see blokiti vastavalt sinu turvasätetele.
+deceptiveBlocked=Aadressil %S asuv veebileht on teadete kohaselt veebivõltsingut sisaldav leht ja see blokiti vastavalt sinu turvasätetele.
+cspBlocked=Vastavalt lehe turvareeglitele on selle kaasamine praegusel moel keelatud.
+xfoBlocked=Sellel lehel on rakendatud X-Frame-Options reeglistik, mis takistab selle laadimist antud kontekstis.
+corruptedContentErrorv2=Saidil %S esines võrguprotokolli rikkumine, mida polnud võimalik parandada.
+sslv3Used=Sinu andmete turvalisust saidil %S polnud võimalik tagada, sest see kasutab katkist turvaprotokolli SSLv3.
+weakCryptoUsed=Saidi %S omanik on oma veebilehe valesti häälestanud. Sinu andmete kaitsmiseks varastamise eest ei loodud selle veebilehega ühendust.
+inadequateSecurityError=Sait üritas luua ebapiisava turvalisusega ühendust.
+blockedByPolicy=Sinu organisatsioon on ligipääsu sellele lehele või saidile blokkinud.
+networkProtocolError=Firefoxi tabas võrguprotokolli rikkumine, mida polnud võimalik parandada.
diff --git a/l10n-et/dom/chrome/dom/dom.properties b/l10n-et/dom/chrome/dom/dom.properties
new file mode 100644
index 0000000000..48bbff4c40
--- /dev/null
+++ b/l10n-et/dom/chrome/dom/dom.properties
@@ -0,0 +1,435 @@
+# 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=Hoiatus: skript ei vasta
+KillScriptMessage=Skript sellel veebilehel võib olla hõivatud või ei vasta enam. Sa võid skripti kohe peatada või lasta sellel tööd jätkata, et näha, kas see suudab töö lõpetada.
+KillScriptWithDebugMessage=Skript sellel veebilehel võib olla hõivatud või ei vasta enam. Sa võid skripti kohe peatada, avada selle veajälitajas või lubada tööd jätkata.
+KillScriptLocation=Skript: %S
+
+KillAddonScriptTitle=Hoiatus: lisa skript ei vasta
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Lisa “%1$S” skript töötab sellel lehel ja muudab %2$Si aeglasemaks.\n\nSee võib olla hõivatud või ei vasta enam. Sa võid skripti kohe peatada või lasta sellel jätkata, et näha, kas see suudab töö lõpetada.
+KillAddonScriptGlobalMessage=Lisa skriptil keelatakse sellel lehel töötamine järgmise lehe uuesti laadimiseni
+
+StopScriptButton=Peata skript
+DebugScriptButton=Silu skripti
+WaitForScriptButton=Jätka
+DontAskAgain=&Rohkem ei küsita
+WindowCloseBlockedWarning=Skript ei pruugi sulgeda aknaid, mida see skript ei ole avanud.
+OnBeforeUnloadTitle=Kas oled kindel?
+OnBeforeUnloadMessage2=See leht palub sul lahkumise soovi kinnitada - sisestatud andmeid ei pruugita salvestada.
+OnBeforeUnloadStayButton=Jää lehele
+OnBeforeUnloadLeaveButton=Lahku lehelt
+EmptyGetElementByIdParam=getElementById() sai väärtuseks tühja stringi.
+SpeculationFailed2=An unbalanced tree was written using document.write() causing data from the network to be reparsed. More information: https://developer.mozilla.org/en-US/docs/Glossary/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=Palun lühenda seda teksti. Lubatud on kuni %S tähemärki (hetkel kasutad %S tähemärki).
+FormValidationTextTooShort=Palun kasuta vähemalt %S tähemärki (praegu kasutad %S tähemärki).
+FormValidationValueMissing=Palun täida see väli.
+FormValidationCheckboxMissing=Jätkamiseks märgista palun see märkeruut.
+FormValidationRadioMissing=Palun vali üks neist valikutest.
+FormValidationFileMissing=Palun määra fail.
+FormValidationSelectMissing=Palun tee nimekirjast oma valik.
+FormValidationInvalidEmail=Palun sisesta e-posti aadress.
+FormValidationInvalidURL=Palun sisesta URL.
+FormValidationInvalidDate=Palun sisesta korrektne kuupäev.
+FormValidationInvalidTime=Palun sisesta korrektne aeg.
+FormValidationInvalidDateTime=Palun sisesta korrektne kuupäev ja aeg.
+FormValidationInvalidDateMonth=Palun sisesta korrektne kuu.
+FormValidationInvalidDateWeek=Palun sisesta korrektne nädal.
+FormValidationPatternMismatch=Palun järgi nõutud vormingut.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Palun järgi nõutud vormingut: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Palun määra number, mis pole suurem kui %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Palun määra väärtus, mis pole hilisem kui %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Palun määra number, mis pole väiksem kui %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Palun määra väärtus, mis pole varasem kui %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Palun määra korrektne väärtus. Kaks lähimat korrektset väärtust on %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=Palun määra korrektne väärtus. Lähim korrektne väärtus on %S.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Palun vali väärtus vahemikus %1$S kuni %2$S.
+FormValidationBadInputNumber=Palun sisesta number.
+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.
+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=Exited fullscreen because a window was focused.
+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 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=Trying to play Widevine with no Windows Media Foundation. See 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=To play video formats %S, you need to install extra Microsoft software, see 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=The video on this page can’t be played. Your system may not have the required video codecs for: %S
+MediaUnsupportedLibavcodec=The video on this page can’t be played. Your system has an unsupported version of libavcodec
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Media resource %1$S could not be decoded, error: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Media resource %1$S could be decoded, but with error: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Cannot play media. No decoders for requested formats: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=No decoders for some of the requested formats: %S
+MediaCannotInitializePulseAudio=Unable to use PulseAudio
+# 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=Autoplay is only allowed when approved by the user, the site is activated by the user, or media is muted.
+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=Hoiatus: plugin ei reageeri
+PluginHangUIMessage=Plugin %S võib olla hõivatud või lihtsalt ei reageeri enam. Sa võid plugina töö kohe katkestada või jätkata ja vaadata, kas see lõpetab oma töö.
+PluginHangUIWaitButton=Jätka
+PluginHangUIStopButton=Katkesta plugina töö
+# 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=The Application Cache API (AppCache) is deprecated and will be removed at a future date. Please consider using ServiceWorker for offline support.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Attempting to create a Worker from an empty source. This is probably unintentional.
+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=Failed to load '%S'. A ServiceWorker canceled the load by calling FetchEvent.preventDefault().
+# 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 "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.
+ManifestIdIsInvalid=The id member did not resolve to a valid URL.
+ManifestIdNotSameOrigin=The id member must have the same origin as the start_url member.
+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=pilt.png
+GenericFileName=fail
+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 "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”.
+WebExtContentScriptModuleSourceNotAllowed=WebExtension content scripts may only load modules with moz-extension URLs and not: “%S”.
+ModuleResolveFailureNoWarn=Error resolving module specifier “%S”.
+ModuleResolveFailureWarnRelative=Error resolving module specifier “%S”. Relative module specifiers must start with “./”, “../” or “/”.
+ImportMapInvalidTopLevelKey=An invalid top-level key “%S” was present in the import map.
+ImportMapEmptySpecifierKeys=Specifier keys cannot be empty strings.
+ImportMapAddressesNotStrings=Addresses need to be strings.
+ImportMapInvalidAddress=Address “%S” was invalid.
+# %1$S is the specifier key, %2$S is the URL.
+ImportMapAddressNotEndsWithSlash=An invalid address was given for the specifier key “%1$S”; since “%1$S” ended in a slash, the address “%2$S” needs to as well.
+ImportMapScopePrefixNotParseable=The scope prefix URL “%S” was not parseable.
+ImportMapResolutionBlockedByNullEntry=Resolution of specifier “%S” was blocked by a null entry.
+ImportMapResolutionBlockedByAfterPrefix=Resolution of specifier “%S” was blocked since the substring after prefix could not be parsed as a URL relative to the address in the import map.
+ImportMapResolutionBlockedByBacktrackingPrefix=Resolution of specifier “%S” was blocked since the parsed URL does not start with the address in the import map.
+ImportMapResolveInvalidBareSpecifierWarnRelative=The specifier “%S” was a bare specifier, but was not remapped to anything. 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.
+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 (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+DrawWindowCanvasRenderingContext2DWarning=Use of drawWindow method from CanvasRenderingContext2D is deprecated. Use tabs.captureTab extensions API instead https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
+
+# 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 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 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 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=The share operation has failed.
+WebShareAPI_Aborted=The share operation was aborted.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Prevented navigation to “%1$S” due to an unknown protocol.
+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 = Üleslaadimise kinnitamine
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = Kas oled kindel, et soovid kõik failid kaustast “%S” üles laadida? Tee seda ainult siis, kui usaldad seda saiti.
+FolderUploadPrompt.acceptButtonLabel = Laadi üles
+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.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+BlobDifferentClusterError=Cannot access blob URL “%S” from a different agent cluster.
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+ElementSetCaptureWarning=Element.setCapture() is deprecated. Use Element.setPointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+ElementReleaseCaptureWarning=Element.releaseCapture() is deprecated. Use Element.releasePointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+DocumentReleaseCaptureWarning=Document.releaseCapture() is deprecated. Use Element.releasePointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+
+# LOCALIZATION NOTE: Don't translate browser.runtime.lastError, %S is the error message from the unchecked value set on browser.runtime.lastError.
+WebExtensionUncheckedLastError=browser.runtime.lastError value was not checked: %S
+
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() is deprecated. Use OffscreenCanvas.convertToBlob() instead.
+
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+InstallTriggerDeprecatedWarning=InstallTrigger is deprecated and will be removed in the future.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() is deprecated and will be removed in the future. For more help https://extensionworkshop.com/documentation/publish/self-distribution/
+
diff --git a/l10n-et/dom/chrome/global-strres.properties b/l10n-et/dom/chrome/global-strres.properties
new file mode 100644
index 0000000000..de778c6e1a
--- /dev/null
+++ b/l10n-et/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=Esines tundmatu viga (%1$S)
diff --git a/l10n-et/dom/chrome/layout/HtmlForm.properties b/l10n-et/dom/chrome/layout/HtmlForm.properties
new file mode 100644
index 0000000000..0816c1ab4a
--- /dev/null
+++ b/l10n-et/dom/chrome/layout/HtmlForm.properties
@@ -0,0 +1,35 @@
+# 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=Lähtesta
+Submit=Saada päring
+Browse=Lehitse...
+FileUpload=Faili üleslaadimine
+DirectoryUpload=Vali kaust üleslaadimiseks
+DirectoryPickerOkButtonLabel=Laadi üles
+ForgotPostWarning=Vorm sisaldab enctype=%S, kuid puudub method=post omadus. Fail saadetakse method=GET meetodiga ning ei kasutata enctype meetodit.
+ForgotFileEnctypeWarning=Vorm sisaldab faili lisamise võimalust, kuid vormil puuduvad method=post ja enctype=multipart/form-data omadused. Seega faili ei saadeta.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=%Si saadetud vorm
+CannotEncodeAllUnicode=Vorm sisestati kodeeringus %S, mis pole võimeline kodeerima kõiki Unicode märke, seega võib kasutaja sisestatu rikutud saada. Probleemi vältimiseks tuleks lehte muuta nii, et vormiga sisestatud andmed oleks kodeeringus UTF-8. Selleks tuleb muuta kas leht ise kodeeringusse UTF-8 või siis lisada elemendile form järgnev atribuut: accept-charset=utf-8.
+AllSupportedTypes=Kõik toetatud tüübid
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Faili pole valitud.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Faile pole valitud.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Kausta pole valitud.
+# 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=Valitud on %S faili.
+ColorPicker=Värvi valimine
+# 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=Üksikasjad
diff --git a/l10n-et/dom/chrome/layout/MediaDocument.properties b/l10n-et/dom/chrome/layout/MediaDocument.properties
new file mode 100644
index 0000000000..cf4375bad1
--- /dev/null
+++ b/l10n-et/dom/chrome/layout/MediaDocument.properties
@@ -0,0 +1,22 @@
+# 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 pilt, %S\u00A0\u00D7\u00A0%S pikslit)
+ImageTitleWithoutDimensions=%S (%S pilt)
+ImageTitleWithDimensions2=(%S pilt, %S\u00A0\u00D7\u00A0%S pikslit)
+ImageTitleWithNeitherDimensionsNorFile=(%S pilt)
+MediaTitleWithFile=%S (%S Objekt)
+MediaTitleWithNoInfo=(%S Objekt)
+
+InvalidImage=Pilti “%S” pole võimalik kuvada, sest see sisaldab vigu.
+UnsupportedImage=Pilti “%S” pole võimalik kuvada, sest see nõuab toetamate funktsionaalsust.
+ScaledImage=Skaleeritud (%S%%)
+
+TitleWithStatus=%S - %S
diff --git a/l10n-et/dom/chrome/layout/css.properties b/l10n-et/dom/chrome/layout/css.properties
new file mode 100644
index 0000000000..bcc2b33e4d
--- /dev/null
+++ b/l10n-et/dom/chrome/layout/css.properties
@@ -0,0 +1,45 @@
+# 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'.
+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.
+PENeverMatchingHostSelector=:host selector in ‘%S’ is not featureless and will never match. Maybe you intended to use :host()?
+
+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-et/dom/chrome/layout/htmlparser.properties b/l10n-et/dom/chrome/layout/htmlparser.properties
new file mode 100644
index 0000000000..0da05e82bc
--- /dev/null
+++ b/l10n-et/dom/chrome/layout/htmlparser.properties
@@ -0,0 +1,145 @@
+# 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=Paneelil oleva dokumendi kodeering pole määratud. Selle dokumendi sisu võib näida erinev vaadates seda paneeli sisaldava dokumendita.
+EncXmlDecl=The character encoding of an HTML document was declared using the XML declaration syntax. This is non-conforming, and declaring the encoding using a meta tag at the start of the head part is more efficient.
+EncMetaTooLate=A meta tag attempting to declare the character encoding declaration was found too late, and the encoding was guessed from content instead. The meta tag needs to be moved to the start of the head part of the document.
+EncMetaTooLateFrame=A meta tag attempting to declare the character encoding declaration was found too late, and the encoding of the parent document was used instead. The meta tag needs to be moved to the start of the head part of the document.
+EncMetaAfterHeadInKilobyte=The meta tag declaring the character encoding of the document should be moved to start of the head part of the document.
+EncNoDecl=The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncNoDeclPlain=The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncMetaUnsupported=HTML-dokumendi meta sildis määrati mittetoetatud kodeering. Määrangut ignoreeriti.
+EncProtocolUnsupported=Ülekandeprotokolli tasemel määrati mittetoetatud kodeering. Määrangut ignoreeriti.
+EncMetaUtf16=Kasutati meta silti, et määrata kodeeringuks UTF-16. See tõlgendati määranguna UTF-8.
+EncMetaUserDefined=A meta tag was used to declare the character encoding as x-user-defined. This was interpreted as a windows-1252 declaration instead for compatibility with intentionally mis-encoded legacy fonts. This site should migrate to Unicode.
+
+EncMetaReplacement=A meta tag was used to declare an encoding that is a cross-site scripting hazard. The replacement encoding was used instead.
+EncProtocolReplacement=An encoding that is a cross-site scripting hazard was declared on the transfer protocol level. The replacement encoding was used instead.
+EncDetectorReload=The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncDetectorReloadPlain=The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncError=The byte stream was erroneous according to the character encoding that was declared. The character encoding declaration may be incorrect.
+EncErrorFrame=The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark.
+EncErrorFramePlain=The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark.
+EncSpeculationFailMeta=The start of the document was reparsed, because there were non-ASCII characters before the meta tag that declared the encoding. The meta should be the first child of head without non-ASCII comments before.
+EncSpeculationFailXml=The start of the document was reparsed, because there were non-ASCII characters in the part of the document that was unsuccessfully searched for a meta tag before falling back to the XML declaration syntax. A meta tag at the start of the head part should be used instead of the XML declaration syntax.
+# The audience of the following message isn't the author of the document but other people debugging browser behavior.
+EncSpeculationFail2022=The start of the document was reparsed, because ISO-2022-JP is an ASCII-incompatible encoding.
+
+# 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=Prügi peale “</”.
+errLtSlashGt=Tuvastati “</>”. Tõenäoline põhjus: varjestamata “<” (varjesta kujul “&lt;”) või valesti sisestatud sulgev märgend.
+errCharRefLacksSemicolon=Märgiviidet ei lõpetatud semikooloniga.
+errNoDigitsInNCR=Märgi arvviites polnud ühtegi arvu.
+errGtInSystemId=“>” süsteemi identifikaatoris.
+errGtInPublicId=“>” avalikus identifikaatoris.
+errNamelessDoctype=Nimetu doctype.
+errConsecutiveHyphens=Järjestikkused sidekriipsud ei lõpetanud kommentaari. “--” pole kommentaaris lubatud, aga näiteks “- -” on.
+errPrematureEndOfComment=Ennatlik kommentaari lõpp. Kommentaari korrektseks lõpetamiseks kasuta “-->”.
+errBogusComment=Vigane kommentaar.
+errUnquotedAttributeLt=“<” jutumärkidesse panemata atribuudi väärtuses. Tõenäoline põhjus: vahetult eest puudub “>”.
+errUnquotedAttributeGrave=“`” jutumärkidesse panemata atribuudi väärtuses. Tõenäoline põhjus: jutumärgina kasutatakse vale märki.
+errUnquotedAttributeQuote=Jutumärk jutumärkidesse panemata atribuudi väärtuses. Tõenäoline põhjus: atribuudid on kokku kirjutatud või on tegemist URLi päringu stringiga jutumärkidesse panemata atribuudi väärtuses.
+errUnquotedAttributeEquals=“=” jutumärkidesse panemata atribuudi väärtuses. Tõenäoline põhjus: atribuudid on kokku kirjutatud või on tegemist URLi päringu stringiga jutumärkidesse panemata atribuudi väärtuses.
+errSlashNotFollowedByGt=Vahetult kaldkriipsu järelt puudub “>”.
+errNoSpaceBetweenAttributes=Atribuutide vahelt puudub tühik.
+errUnquotedAttributeStartLt=“<” jutumärkidesse panemata atribuudi väärtuse alguses. Tõenäoline põhjus: vahetult eest puudub “>”.
+errUnquotedAttributeStartGrave=“`” jutumärkidesse panemata atribuudi väärtuse alguses. Tõenäoline põhjus: jutumärgina kasutatakse vale märki.
+errUnquotedAttributeStartEquals=“=” jutumärkidesse panemata atribuudi väärtuse alguses. Tõenäoline põhjus: liigne korduv võrdusmärk.
+errAttributeValueMissing=Puudub atribuudi väärtus.
+errBadCharBeforeAttributeNameLt=Tuvastati “<”, kui oodati atribuudi nime. Tõenäoline põhjus: vahetult eest puudub “>”.
+errEqualsSignBeforeAttributeName=Tuvastati “=”, kui oodati atribuudi nime. Tõenäoline põhjus: puudub atribuudi nimi.
+errBadCharAfterLt=Halb märk peale “<”. Tõenäoline põhjus: varjestamata “<”. Proovi seda varjestada kujul “&lt;”.
+errLtGt=Tuvastati “<>”. Tõenäoline põhjus: varjestamata “<” (varjesta kujul “&lt;”) või valesti sisestatud alustav märgend.
+errProcessingInstruction=Tuvastati “<?”. Tõenäoline põhjus: HTMLis üritati kasutada XMLi töötlemise instruktsiooni. (XMLi töötlemise instruktsioonid pole HTMLis toetatud.)
+errUnescapedAmpersandInterpretedAsCharacterReference=Stringi, mis järgnes märgile “&”, tõlgendati märgiviitena. (“&” oleks tõenäoliselt tulnud varjestada kujul “&amp;”.)
+errNotSemicolonTerminated=Märgi nimeviidet ei lõpetatud semikooloniga. (Või oleks tulnud “&” varjestada kujul “&amp;”.)
+errNoNamedCharacterMatch=“&” ei alustanud märgiviidet. (“&” oleks tõenäoliselt tulnud varjestada kujul “&amp;”.)
+errQuoteBeforeAttributeName=Tuvastati jutumärk, kui oodati atribuudi nime. Tõenäoline põhjus: vahetult eest puudub “=”.
+errLtInAttributeName=“<” atribuudi nimes. Tõenäoline põhjus: vahetult eest puudub “>”.
+errQuoteInAttributeName=Jutumärk atribuudi nimes. Tõenäoline põhjus: eestpoolt puudub vajalik jutumärk.
+errExpectedPublicId=Oodati avalikku identifikaatorit, aga doctype lõppes.
+errBogusDoctype=Vigane doctype.
+maybeErrAttributesOnEndTag=Sulgev märgend omas atribuute.
+maybeErrSlashInEndTag=Liigne “/” sulgeva märgendi lõpus.
+errNcrNonCharacter=Märgiviide laieneb mittemärgiliseks.
+errNcrSurrogate=Märgiviide laieneb asendajaks.
+errNcrControlChar=Märgiviide laieneb kontrollmärgiks.
+errNcrCr=Märgi arvviide laienes reavahetuseks.
+errNcrInC1Range=Märgi arvviide laienes C1 kontrollkoodide vahemikku.
+errEofInPublicId=Faili lõpp avalikus identifikaatoris.
+errEofInComment=Faili lõpp kommentaaris.
+errEofInDoctype=Faili lõpp doctype-is.
+errEofInAttributeValue=Parsides atribuudi väärtust, jõuti faili lõppu. Märgendit ignoreeritakse.
+errEofInAttributeName=Parsides atribuudi nime, jõuti faili lõppu. Märgendit ignoreeritakse.
+errEofWithoutGt=Tuvastati faili lõpp enne eelmise märgendi lõppemist märgiga “>”. Märgendit ignoreeritakse.
+errEofInTagName=Märgendi nime otsimisel tuvastati faili lõpp. Märgendit ignoreeritakse.
+errEofInEndTag=Faili lõpp sulgevas märgendis. Märgendit ignoreeritakse.
+errEofAfterLt=Faili lõpp peale märki “<”.
+errNcrOutOfRange=Märgiviide on väljaspool lubatud Unicode-i vahemikku.
+errNcrUnassigned=Märgiviide laieneb püsivalt määramata koodipunkti.
+errDuplicateAttribute=Korduv atribuut.
+errEofInSystemId=Faili lõpp süsteemi identifikaatoris.
+errExpectedSystemId=Oodati süsteemi identifikaatorit, aga doctype lõppes.
+errMissingSpaceBeforeDoctypeName=Doctype-i nime eest puudub tühik.
+errNestedComment=Saw “<!--” within a comment. Probable cause: Nested comment (not allowed).
+errNcrZero=Märgiviide laieneb nulliks.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Doctype-i “SYSTEM” võtmesõna ja jutumärgi vahelt puudub tühik.
+errNoSpaceBetweenPublicAndSystemIds=Doctype-i avaliku ja süsteemi identifikaatori vahelt puudub tühik.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Doctype-i “PUBLIC” võtmesõna ja jutumärgi vahelt puudub tühik.
+
+# Tree builder errors
+errDeepTree=The document tree is too deep. The tree will be flattened to be 513 elements deep.
+errStrayStartTag2=Liigne alustav märgend “%1$S”.
+errStrayEndTag=Liigne lõpetav märgend “%1$S”.
+errUnclosedElements=Tuvastati lõpetav märgend “%1$S”, aga sellele eelneb avatud elemente.
+errUnclosedElementsImplied=Eeldati lõpetavat märgendit “%1$S”, aga sellele eelneb avatud elemente.
+errUnclosedElementsCell=Tabeli lahter küll suleti, aga selles esineb avatud elemente.
+errStrayDoctype=Liigne doctype.
+errAlmostStandardsDoctype=Peaaegu standardipõhise režiimi doctype. Oodati “<!DOCTYPE html>”.
+errQuirkyDoctype=Lodev doctype. Oodati “<!DOCTYPE html>”.
+errAlmostStandardsDoctypeVerbose=This page is in Almost Standards Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
+errQuirkyDoctypeVerbose=This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Mittetühiku märk lehe lõpus (page trailer).
+errNonSpaceAfterFrameset=Mittetühik peale “frameset”.
+errNonSpaceInFrameset=Mittetühik “frameset” sees.
+errNonSpaceAfterBody=Mittetühiku märk peale sisu.
+errNonSpaceInColgroupInFragment=Fragmendi parsimisel avastati mittetühik “colgroup” sees.
+errNonSpaceInNoscriptInHead=Mittetühiku märk päises asuva “noscript” sees.
+errFooBetweenHeadAndBody=“%1$S” element “head” ja “body” vahel.
+errStartTagWithoutDoctype=Tuvastati alustav märgend enne doctype-i. Oodati “<!DOCTYPE html>”.
+errNoSelectInTableScope=Tabeli skoobist puudub “select”.
+errStartSelectWhereEndSelectExpected=Alustav märgend “select” seal, kus oodati lõpetavat märgendit.
+errStartTagWithSelectOpen=Alustav märgend “%1$S” avatud märgendiga “select”.
+errBadStartTagInNoscriptInHead=Bad start tag “%1$S” in “noscript” in “head”.
+errImage=Tuvastati alustav märgend “image”.
+errFooSeenWhenFooOpen2=Start tag “%1$S” seen but an element of the same type was already open.
+errHeadingWhenHeadingOpen=Pealkiri ei saa olla teise pealkirja järglaseks.
+errFramesetStart=Tuvastati alustav märgend “frameset”.
+errNoCellToClose=Puudub lahter, mida sulgeda.
+errStartTagInTable=“table” sees tuvastati alustav märgend “%1$S”.
+errFormWhenFormOpen=Tuvastati elemendi “form” alustav märgend, aga aktiivne “form” element oli juba olemas. Vormi sisaldumine vormis pole lubatud. Märgendit ignoreeritakse.
+errTableSeenWhileTableOpen=Tuvastati elemendi “table” alustav märgend, aga eelmine element “table” on endiselt lahti.
+errStartTagInTableBody=Elemendi “%1$S” alustav märgend tabeli sisus.
+errEndTagSeenWithoutDoctype=Tuvastati lõpetav märgend enne doctype-i. Oodati “<!DOCTYPE html>”.
+errEndTagAfterBody=Tuvastati lõpetav märgend peale elemendi “body” sulgemist.
+errEndTagSeenWithSelectOpen=Elemendi “%1$S” lõpetav märgend koos avatud “select” elemendiga.
+errGarbageInColgroup=Prügi “colgroup” fragmendis.
+errEndTagBr=Lõpetav märgend “br”.
+errNoElementToCloseButEndTagSeen=Skoobist puudub “%1$S” element, aga tuvastati elemendi “%1$S” lõpetav märgend.
+errHtmlStartTagInForeignContext=HTMLi alustav märgend “%1$S” võõra nimeruumi kontekstis.
+errNoTableRowToClose=Puudub tabeli rida, mida sulgeda.
+errNonSpaceInTable=Valesse kohta pandud mittetühiku märk tabeli sees.
+errUnclosedChildrenInRuby=Sulgemata järglased “ruby” sees.
+errStartTagSeenWithoutRuby=Tuvastati alustav märgend “%1$S”, ilma et element “ruby” oleks avatud.
+errSelfClosing=Kasutati isesulguvat süntaksit (“/>”) mittetühja HTML elemendi puhul. Kaldkriipsu ignoreeritakse ja koheldakse kui alustavat märgendit.
+errNoCheckUnclosedElementsOnStack=Pinust leiti sulgemata elemente.
+errEndTagDidNotMatchCurrentOpenElement=Lõpetav märgend “%1$S” ei klappinud hetkel lahti oleva elemendi (“%2$S”) nimega.
+errEndTagViolatesNestingRules=Lõpetav märgend “%1$S” rikub pesastamise reegleid.
+errEndWithUnclosedElements=End tag for “%1$S” seen, but there were unclosed elements.
+errListUnclosedStartTags=Unclosed element or elements.
diff --git a/l10n-et/dom/chrome/layout/layout_errors.properties b/l10n-et/dom/chrome/layout/layout_errors.properties
new file mode 100644
index 0000000000..de7c726605
--- /dev/null
+++ b/l10n-et/dom/chrome/layout/layout_errors.properties
@@ -0,0 +1,53 @@
+# 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 …").
+
+ScrollLinkedEffectFound3=This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html 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-et/dom/chrome/layout/printing.properties b/l10n-et/dom/chrome/layout/printing.properties
new file mode 100644
index 0000000000..7e3fca5c6e
--- /dev/null
+++ b/l10n-et/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=Lehekülg %1$d/%2$d
+
+PrintToFile=Printimine faili
+print_error_dialog_title=Printeri viga
+printpreview_error_dialog_title=Viga lehekülje eelvaates
+
+# 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=Printimisel esines viga.
+
+PERR_ABORT=Printimine katkestati või sellest loobuti.
+PERR_NOT_AVAILABLE=Teatud printimise funktsionaalsus ei ole praegu saadaval.
+PERR_NOT_IMPLEMENTED=Teatud printimise funktsionaalsus ei ole veel implementeeritud
+PERR_OUT_OF_MEMORY=Printimiseks pole piisavalt vaba mälu.
+PERR_UNEXPECTED=Printimisel esines ootamatu probleem.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Ühtki printerit pole saadaval.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Ühtki printerit pole saadaval, eelvaate näitamine pole võimalik.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Valitud printerit polnud võimalik leida.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Faili printimiseks vajaliku väljundi avamine ebaõnnestus.
+PERR_GFX_PRINTER_STARTDOC=Printimine ebaõnnestus printimistöö käivitamisel.
+PERR_GFX_PRINTER_ENDDOC=Printimine ebaõnnestus printimistöö lõpetamisel.
+PERR_GFX_PRINTER_STARTPAGE=Printimine ebaõnnestus uue lehekülje alguses.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Dokumendi printimine pole veel võimalik, sest seda alles laaditakse.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Dokumendi printimise eelvaate avamine pole veel võimalik, sest dokumenti alles laaditakse.
diff --git a/l10n-et/dom/chrome/layout/xmlparser.properties b/l10n-et/dom/chrome/layout/xmlparser.properties
new file mode 100644
index 0000000000..3dccedaf38
--- /dev/null
+++ b/l10n-et/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 = liiga vähe mälu (out of memory)
+2 = viga süntaksis (syntax error)
+3 = elementi ei leitud (no element found)
+4 = pole hästi vormistatud (not well-formed)
+5 = sulgemata märk (unclosed token)
+6 = katkendlik tähemärk (partial character)
+7 = sobimatu märgend (mismatched tag)
+8 = atribuuti esineb topelt (duplicate attribute)
+9 = rämps peale dokumendi elementi (junk after document element)
+10 = lubamatu parameetri olemi viide (illegal parameter entity reference)
+11 = defineerimata olem (undefined entity)
+12 = rekursiivne olemi viide (recursive entity reference)
+13 = asünkroonne olem (asynchronous entity)
+14 = viide valele tähemärgi numbrile (reference to invalid character number)
+15 = viide binaarsele olemile (reference to binary entity)
+16 = viide välisele olemile atribuudis (reference to external entity in attribute)
+17 = välise olemi algusest puudub xml-i deklaratsioon (xml declaration not at start of external entity)
+18 = tundmatu kodeering (unknown encoding)
+19 = XML-i deklaratsioonis määratletud kodeering on vale (encoding specified in XML declaration is incorrect)
+20 = sulgemata CDATA sektsioon (unclosed CDATA section)
+21 = viga välise olemi viite käitlemisel (error in processing external entity reference)
+22 = dokument ei ole iseseisev (document is not stantalone)
+23 = ootamatu parseri seisund (unexpected parser state)
+24 = olem deklareeritud parameetri olemis (entity declared in parameter entity)
+27 = prefiks pole namespace'iga seotud (prefix not bound to a namespace)
+28 = prefiksi deklaratsiooni ei tohi eemaldada (must not undeclare prefix)
+29 = reserved prefix (xml) must not be undeclared or bound to another namespace URI
+30 = reserved prefix (xmlns) must not be declared or undeclared
+31 = prefix must not be bound to one of the reserved namespace URIs
+32 = illegal character(s) in public id
+38 = reserved prefix (xml) must not be undeclared or bound to another namespace name
+39 = reserved prefix (xmlns) must not be declared or undeclared
+40 = prefix must not be bound to one of the reserved namespace names
+
+# %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-i parsimise viga: %1$S\nAsukoht: %2$S\nRida number %3$u, veerg %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Eeldatav: </%S>.
diff --git a/l10n-et/dom/chrome/layout/xul.properties b/l10n-et/dom/chrome/layout/xul.properties
new file mode 100644
index 0000000000..9d3379e12f
--- /dev/null
+++ b/l10n-et/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?> processing instruction does not have any effect outside the prolog anymore (see bug 360119).
diff --git a/l10n-et/dom/chrome/mathml/mathml.properties b/l10n-et/dom/chrome/mathml/mathml.properties
new file mode 100644
index 0000000000..28793b66d0
--- /dev/null
+++ b/l10n-et/dom/chrome/mathml/mathml.properties
@@ -0,0 +1,15 @@
+# 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.
diff --git a/l10n-et/dom/chrome/nsWebBrowserPersist.properties b/l10n-et/dom/chrome/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..5df4ebff84
--- /dev/null
+++ b/l10n-et/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=Faili %S pole võimalik salvestada, kuna allikfaili ei saanud lugeda.\n\nProovi hiljem uuesti või võta ühendust serveri administraatoriga.
+writeError=Faili %S pole võimalik salvestada, sest esines tundmatu viga.\n\nProovi salvestada mõnda teise kohta.
+launchError=Faili %S pole võimalik avada, sest esines tundmatu viga.\n\nProovi fail kõigepealt kettale salvestada ja alles siis avada.
+diskFull=Faili %S salvestamiseks pole kettal piisavalt vaba ruumi.\n\nEemalda kettalt tarbetud failid ja proovi uuesti või proovi salvestada mõnda muusse kohta.
+readOnly=Faili %S pole võimalik salvestada, sest ketas, kaust või fail on kirjutamise vastu kaitstud.\n\nEemalda kettalt kirjutuskaitse ja proovi uuesti või ürita salvestada mõnda muusse kohta.
+accessError=Faili %S pole võimalik salvestada, kuna selle kausta sisu pole võimalik muuta.\n\nMuuda kausta omadusi ja proovi uuesti või ürita salvestada mõnda muusse kohta.
+SDAccessErrorCardReadOnly=Faili allalaadimine pole võimalik, sest SD-kaart on kasutuses.
+SDAccessErrorCardMissing=Faili allalaadimine pole võimalik, sest SD-kaart puudub.
+helperAppNotFound=Faili %S pole võimalik avada, kuna failiga seotud rakendust ei leitud. Muuda vastavaid sätteid oma eelistustes.
+noMemory=Sinu poolt soovitud toimingu täitmiseks pole piisaval hulgal vaba mälu.\n\nSulge mõned rakendused ja proovi uuesti.
+title=Faili %S allalaadimine
+fileAlreadyExistsError=%S salvestamine nurjus, sest kataloogi '_failid' nime kandev fail on juba olemas.\n\nProovi salvestada muusse asukohta.
+fileNameTooLongError=Faili %S pole võimalik salvestada, kuna faili nimi on liiga pikk.\n\nProovi salvestada lühema nimega.
diff --git a/l10n-et/dom/chrome/security/caps.properties b/l10n-et/dom/chrome/security/caps.properties
new file mode 100644
index 0000000000..96e16b78fb
--- /dev/null
+++ b/l10n-et/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 = Turvaviga: sisu aadressil %S ei tohi laadida ega linkida aadressile %S.
+CheckSameOriginError = Turvaviga: sisu aadressil %S ei tohi laadida andmeid aadressilt %S.
+ExternalDataError = Turvaviga: sisu aadressil %S üritas laadida andmeid aadressilt %S, kuid ei tohi seda teha, kui teda kasutatakse pildina.
+
+CreateWrapperDenied = Klassi %S objektile ei ole lubatud käivitajat luua
+CreateWrapperDeniedForOrigin = <%2$S> jaoks keelati käivitaja loomine klassi %1$S objektile
diff --git a/l10n-et/dom/chrome/security/csp.properties b/l10n-et/dom/chrome/security/csp.properties
new file mode 100644
index 0000000000..221aa9f785
--- /dev/null
+++ b/l10n-et/dom/chrome/security/csp.properties
@@ -0,0 +1,113 @@
+# 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 = The page's settings blocked the loading of a resource: %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 = The page's settings blocked the loading of a resource at %2$S ("%1$S").
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = A violation occurred for a report-only CSP policy ("%1$S"). The behavior was allowed, and a CSP report was sent.
+# 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 = The page's settings observed the loading of a resource at %2$S ("%1$S"). A CSP report is being sent.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Tried to send report to invalid URI: "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = couldn't parse report URI: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Couldn't process unknown directive '%1$S'
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Ignoring unknown option %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Ignoring duplicate source %1$S
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Ignoring source '%1$S' (Not supported when delivered via meta element).
+# LOCALIZATION NOTE (ignoringSrcWithinNonceOrHashDirective):
+# %1$S is the ignored src (e.g. "unsafe-inline")
+# %2$S is the directive (e.g. "script-src-elem")
+ignoringSrcWithinNonceOrHashDirective = Ignoring “%1$S” within %2$S: nonce-source or hash-source specified
+# LOCALIZATION NOTE (ignoringScriptSrcForStrictDynamic):
+# %1$S is the ignored src
+# %1$S is the directive src (e.g. "script-src-elem")
+# 'strict-dynamic' should not be localized
+ignoringScriptSrcForStrictDynamic = Ignoring “%1$S” within %2$S: ‘strict-dynamic’ specified
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Ignoring source “%1$S” (Only supported within script-src).
+# LOCALIZATION NOTE (ignoringUnsafeEval):
+# %1$S is the csp directive (e.g. script-src-elem)
+# 'unsafe-eval' and 'wasm-unsafe-eval' should not be localized
+ignoringUnsafeEval = Ignoring ‘unsafe-eval’ or ‘wasm-unsafe-eval’ inside “%1$S”.
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Keyword ‘strict-dynamic’ within “%1$S” with no valid nonce or hash might block all scripts from loading
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = The report URI (%1$S) should be an HTTP or HTTPS URI.
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = This site (%1$S) has a Report-Only policy without a report URI. CSP will not block and cannot report violations of this policy.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Failed to parse unrecognized source %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Upgrading insecure request '%1$S' to use '%2$S'
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Ignoring srcs for directive '%1$S'
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Interpreting %1$S as a hostname, not a keyword. If you intended this to be a keyword, use '%2$S' (wrapped in single quotes).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Not supporting directive '%1$S'. Directive and values will be ignored.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Blocking insecure request ‘%1$S’.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = Ignoring ‘%1$S’ since it does not contain any parameters.
+# 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=Ignoring ‘%1$S’ because of ‘%2$S’ directive.
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = Ignoring source “%1$S” (Not supported within ‘%2$S’).
+
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Couldn't parse invalid source %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Couldn't parse invalid host %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Couldn't parse port in %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Duplicate %1$S directives detected. All but the first instance will be ignored.
+# 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-et/dom/chrome/security/security.properties b/l10n-et/dom/chrome/security/security.properties
new file mode 100644
index 0000000000..ff2312f378
--- /dev/null
+++ b/l10n-et/dom/chrome/security/security.properties
@@ -0,0 +1,158 @@
+# 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 = Blocked loading mixed display content "%1$S"
+BlockMixedActiveContent = Blocked loading mixed active content "%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).
+CORSDidNotSucceed2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request did not succeed). Status code: %2$S.
+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).
+CORSMissingAllowOrigin2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: %2$S.
+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').
+CORSPreflightDidNotSucceed3=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS preflight response did not succeed). Status code: %2$S.
+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.
+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.
+
+InsecurePasswordsPresentOnPage=Password fields present on an insecure (http://) page. This is a security risk that allows user login credentials to be stolen.
+InsecureFormActionPasswordsPresent=Password fields present in a form with an insecure (http://) form action. This is a security risk that allows user login credentials to be stolen.
+InsecurePasswordsPresentOnIframe=Password fields present on an insecure (http://) iframe. This is a security risk that allows user login credentials to be stolen.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Loading mixed (insecure) active content "%1$S" on a secure page
+LoadingMixedDisplayContent2=Loading mixed (insecure) display content "%1$S" on a secure page
+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=An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can remove its sandboxing.
+# 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: "%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=This site uses the cipher RC4 for encryption, which is deprecated and insecure.
+
+DeprecatedTLSVersion2=This site uses a deprecated version of TLS. Please upgrade to TLS 1.2 or 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”)
+
+# LOCALIZATION NOTE: Do not translate "file: URI". “%1$S” is the whole URI of the loaded file. “%2$S” is the MIME type e.g. "text/plain".
+BlockFileScriptWithWrongMimeType=Loading script from file: URI (“%1$S”) was blocked because its MIME type (“%2$S”) is not a valid JavaScript MIME type.
+
+RestrictBrowserEvalUsage=eval() and eval-like uses are not allowed in the Parent Process or in System Contexts (Blocked usage in “%1$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”.
+
+# LOCALIZATION NOTE: Do not translate "no-referrer-when-downgrade", "origin-when-cross-origin" and "unsafe-url". %S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingWarning=Referrer Policy: Less restricted policies, including ‘no-referrer-when-downgrade’, ‘origin-when-cross-origin’ and ‘unsafe-url’, will be ignored soon for the cross-site request: %S
+# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingMessage=Referrer Policy: Ignoring the less restricted referrer policy “%1$S” for the cross-site request: %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 = Upgrading insecure request “%1$S” to use “%2$S”.
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = Not upgrading insecure request “%1$S” because it is exempt.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = Upgrading insecure request “%1$S” failed. (%2$S)
+# LOCALIZATION NOTE: %S is the URL of the failed request;
+HTTPSOnlyFailedDowngradeAgain = Upgrading insecure request “%S” failed. Downgrading to “http” again.
+# LOCALIZATION NOTE: Hints or indicates a new transaction for a URL is likely coming soon. We use
+# a speculative connection to start a TCP connection so that the resource is immediately ready
+# when the transaction is actually submitted. HTTPS-Only and HTTPS-First will upgrade such
+# speculative TCP connections from http to https.
+# %1$S is the URL of the upgraded speculative TCP connection; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeSpeculativeConnection = Upgrading insecure speculative TCP connection “%1$S” to use “%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.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+SandboxBlockedCustomProtocols = Blocked navigation to custom protocol “%S” from a sandboxed context.
+
+# 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.
diff --git a/l10n-et/dom/chrome/svg/svg.properties b/l10n-et/dom/chrome/svg/svg.properties
new file mode 100644
index 0000000000..3ae4ffd49f
--- /dev/null
+++ b/l10n-et/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=Esines ootamatu väärtus %2$S, kui parsiti atribuuti %1$S.
diff --git a/l10n-et/dom/chrome/xslt/xslt.properties b/l10n-et/dom/chrome/xslt/xslt.properties
new file mode 100644
index 0000000000..0fad5351bf
--- /dev/null
+++ b/l10n-et/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 laaditabeli parsimine ebaõnnestus.
+2 = XPathi avaldise parsimine ebaõnnestus.
+3 =
+4 = XSLT transformatsioon ebaõnnestus.
+5 = Vigane XSLT/XPath'i funktsioon.
+6 = XSLT laaditabel sisaldab (tõenäoliselt) rekursiooni.
+7 = Atribuudi väärtus vale XSTL 1.0-s.
+8 = XPathi avaldis oleks pidanud tagastama NodeSet'i
+9 = XSLT transformatsiooni katkestas <xsl:message>.
+10 = XSLT laaditabeli laadimisel esines viga võrgus:
+11 = XSLT laaditabelis puudub XML-i mime tüüp:
+12 = XSLT laaditabel soovib kas kaudselt või otseselt iseennast importida.
+13 = XPathi funktsioon kutsuti välja vale arvu argumentidega.
+14 = Välja kutsuti tundmatut XPathi laiendust.
+15 = XPathi parsimise viga: eeldati ')':
+16 = XPathi parsimise viga: invalid axis:
+17 = XPathi parsimise viga: Eeldati Name'i või Nodetype'i testi:
+18 = XPathi parsimise viga: eeldati ']':
+19 = XPathi parsimise viga: vigane muutujanimi:
+20 = XPathi parsimise viga: unexpected end of expression:
+21 = XPathi parsimise viga: operator expected:
+22 = XPathi parsimise viga: unclosed literal:
+23 = XPathi parsimise viga: ':' unexpected:
+24 = XPathi parismise viga: '!' unexpected, negation is not():
+25 = XPathi parsimise viga: illegal character found:
+26 = XPathi parsimise viga: binary operator expected:
+27 = XSLT laaditabeli laadimine blokiti turvakaalutlustel.
+28 = Evaluating an invalid expression.
+29 = Unbalanced curly brace.
+30 = Creating an element with an invalid QName.
+31 = Variable binding shadows variable binding within the same template.
+32 = Call to the key function not allowed.
+
+LoadingError = Viga laaditabeli laadimisel: %S
+TransformError = XSLT transformatsioonil tekkis viga: %S
diff --git a/l10n-et/dom/dom/XMLPrettyPrint.ftl b/l10n-et/dom/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..4d3d562656
--- /dev/null
+++ b/l10n-et/dom/dom/XMLPrettyPrint.ftl
@@ -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/.
+
+xml-nostylesheet = Selle XML-failiga ei paista olevat seotud ühtegi laadifaili. Dokumendipuu on kuvatud allpool.
diff --git a/l10n-et/dom/dom/media.ftl b/l10n-et/dom/dom/media.ftl
new file mode 100644
index 0000000000..779a103cbd
--- /dev/null
+++ b/l10n-et/dom/dom/media.ftl
@@ -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/.
+
+mediastatus-fallback-title = { -brand-short-name } esitab meediat