summaryrefslogtreecommitdiffstats
path: root/l10n-fi
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-fi
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-fi')
-rw-r--r--l10n-fi/browser/branding/official/brand.ftl81
-rw-r--r--l10n-fi/browser/branding/official/brand.properties8
-rw-r--r--l10n-fi/browser/browser/aboutDialog.ftl86
-rw-r--r--l10n-fi/browser/browser/aboutLogins.ftl447
-rw-r--r--l10n-fi/browser/browser/aboutPocket.ftl75
-rw-r--r--l10n-fi/browser/browser/aboutPolicies.ftl17
-rw-r--r--l10n-fi/browser/browser/aboutPrivateBrowsing.ftl76
-rw-r--r--l10n-fi/browser/browser/aboutRestartRequired.ftl10
-rw-r--r--l10n-fi/browser/browser/aboutRobots.ftl29
-rw-r--r--l10n-fi/browser/browser/aboutSessionRestore.ftl51
-rw-r--r--l10n-fi/browser/browser/aboutTabCrashed.ftl22
-rw-r--r--l10n-fi/browser/browser/aboutUnloads.ftl43
-rw-r--r--l10n-fi/browser/browser/accounts.ftl106
-rw-r--r--l10n-fi/browser/browser/addonNotifications.ftl132
-rw-r--r--l10n-fi/browser/browser/allTabsMenu.ftl17
-rw-r--r--l10n-fi/browser/browser/appExtensionFields.ftl31
-rw-r--r--l10n-fi/browser/browser/appMenuNotifications.ftl66
-rw-r--r--l10n-fi/browser/browser/appmenu.ftl259
-rw-r--r--l10n-fi/browser/browser/backgroundtasks/defaultagent.ftl9
-rw-r--r--l10n-fi/browser/browser/browser.ftl994
-rw-r--r--l10n-fi/browser/browser/browserContext.ftl385
-rw-r--r--l10n-fi/browser/browser/browserSets.ftl218
-rw-r--r--l10n-fi/browser/browser/colorways.ftl26
-rw-r--r--l10n-fi/browser/browser/components/mozSupportLink.ftl5
-rw-r--r--l10n-fi/browser/browser/confirmationHints.ftl24
-rw-r--r--l10n-fi/browser/browser/contentCrash.ftl34
-rw-r--r--l10n-fi/browser/browser/customizeMode.ftl38
-rw-r--r--l10n-fi/browser/browser/defaultBrowserNotification.ftl23
-rw-r--r--l10n-fi/browser/browser/downloads.ftl254
-rw-r--r--l10n-fi/browser/browser/editBookmarkOverlay.ftl49
-rw-r--r--l10n-fi/browser/browser/extensionsUI.ftl33
-rw-r--r--l10n-fi/browser/browser/featureCallout.ftl56
-rw-r--r--l10n-fi/browser/browser/firefoxRelay.ftl35
-rw-r--r--l10n-fi/browser/browser/firefoxView.ftl248
-rw-r--r--l10n-fi/browser/browser/firefoxWebAuthn.ftl3
-rw-r--r--l10n-fi/browser/browser/fxviewTabList.ftl57
-rw-r--r--l10n-fi/browser/browser/identityCredentialNotification.ftl29
-rw-r--r--l10n-fi/browser/browser/linuxDesktopEntry.ftl27
-rw-r--r--l10n-fi/browser/browser/menubar.ftl351
-rw-r--r--l10n-fi/browser/browser/migration.ftl174
-rw-r--r--l10n-fi/browser/browser/migrationWizard.ftl286
-rw-r--r--l10n-fi/browser/browser/newtab/asrouter.ftl274
-rw-r--r--l10n-fi/browser/browser/newtab/newtab.ftl272
-rw-r--r--l10n-fi/browser/browser/newtab/onboarding.ftl346
-rw-r--r--l10n-fi/browser/browser/originControls.ftl64
-rw-r--r--l10n-fi/browser/browser/pageInfo.ftl264
-rw-r--r--l10n-fi/browser/browser/panelUI.ftl25
-rw-r--r--l10n-fi/browser/browser/panicButton.ftl31
-rw-r--r--l10n-fi/browser/browser/places.ftl268
-rw-r--r--l10n-fi/browser/browser/placesPrompts.ftl20
-rw-r--r--l10n-fi/browser/browser/policies/policies-descriptions.ftl128
-rw-r--r--l10n-fi/browser/browser/preferences/addEngine.ftl22
-rw-r--r--l10n-fi/browser/browser/preferences/applicationManager.ftl25
-rw-r--r--l10n-fi/browser/browser/preferences/blocklists.ftl33
-rw-r--r--l10n-fi/browser/browser/preferences/clearSiteData.ftl56
-rw-r--r--l10n-fi/browser/browser/preferences/colors.ftl44
-rw-r--r--l10n-fi/browser/browser/preferences/connection.ftl99
-rw-r--r--l10n-fi/browser/browser/preferences/containers.ftl93
-rw-r--r--l10n-fi/browser/browser/preferences/fonts.ftl121
-rw-r--r--l10n-fi/browser/browser/preferences/formAutofill.ftl156
-rw-r--r--l10n-fi/browser/browser/preferences/fxaPairDevice.ftl17
-rw-r--r--l10n-fi/browser/browser/preferences/languages.ftl73
-rw-r--r--l10n-fi/browser/browser/preferences/moreFromMozilla.ftl33
-rw-r--r--l10n-fi/browser/browser/preferences/permissions.ftl205
-rw-r--r--l10n-fi/browser/browser/preferences/preferences.ftl1386
-rw-r--r--l10n-fi/browser/browser/preferences/selectBookmark.ftl9
-rw-r--r--l10n-fi/browser/browser/preferences/siteDataSettings.ftl67
-rw-r--r--l10n-fi/browser/browser/preferences/translation.ftl40
-rw-r--r--l10n-fi/browser/browser/profile/default-bookmarks.ftl53
-rw-r--r--l10n-fi/browser/browser/protections.ftl233
-rw-r--r--l10n-fi/browser/browser/protectionsPanel.ftl164
-rw-r--r--l10n-fi/browser/browser/recentlyClosed.ftl30
-rw-r--r--l10n-fi/browser/browser/reportBrokenSite.ftl43
-rw-r--r--l10n-fi/browser/browser/safeMode.ftl15
-rw-r--r--l10n-fi/browser/browser/safebrowsing/blockedSite.ftl58
-rw-r--r--l10n-fi/browser/browser/sanitize.ftl110
-rw-r--r--l10n-fi/browser/browser/screenshots.ftl60
-rw-r--r--l10n-fi/browser/browser/screenshotsOverlay.ftl14
-rw-r--r--l10n-fi/browser/browser/search.ftl38
-rw-r--r--l10n-fi/browser/browser/setDesktopBackground.ftl40
-rw-r--r--l10n-fi/browser/browser/shopping.ftl173
-rw-r--r--l10n-fi/browser/browser/sidebarMenu.ftl18
-rw-r--r--l10n-fi/browser/browser/sitePermissions.ftl12
-rw-r--r--l10n-fi/browser/browser/siteProtections.ftl100
-rw-r--r--l10n-fi/browser/browser/speechDispatcher.ftl16
-rw-r--r--l10n-fi/browser/browser/spotlight.ftl22
-rw-r--r--l10n-fi/browser/browser/sync.ftl35
-rw-r--r--l10n-fi/browser/browser/syncedTabs.ftl61
-rw-r--r--l10n-fi/browser/browser/tabContextMenu.ftl110
-rw-r--r--l10n-fi/browser/browser/tabbrowser.ftl160
-rw-r--r--l10n-fi/browser/browser/textRecognition.ftl15
-rw-r--r--l10n-fi/browser/browser/toolbarContextMenu.ftl88
-rw-r--r--l10n-fi/browser/browser/touchbar/touchbar.ftl38
-rw-r--r--l10n-fi/browser/browser/translations.ftl167
-rw-r--r--l10n-fi/browser/browser/unifiedExtensions.ftl50
-rw-r--r--l10n-fi/browser/browser/webProtocolHandler.ftl19
-rw-r--r--l10n-fi/browser/browser/webauthnDialog.ftl27
-rw-r--r--l10n-fi/browser/browser/webrtcIndicator.ftl227
-rw-r--r--l10n-fi/browser/chrome/browser/browser.properties530
-rw-r--r--l10n-fi/browser/chrome/browser/customizableui/customizableWidgets.properties54
-rw-r--r--l10n-fi/browser/chrome/browser/downloads/downloads.properties82
-rw-r--r--l10n-fi/browser/chrome/browser/feeds/subscribe.properties10
-rw-r--r--l10n-fi/browser/chrome/browser/places/bookmarkProperties.properties24
-rw-r--r--l10n-fi/browser/chrome/browser/safebrowsing/safebrowsing.properties6
-rw-r--r--l10n-fi/browser/chrome/browser/search.properties33
-rw-r--r--l10n-fi/browser/chrome/browser/shellservice.properties16
-rw-r--r--l10n-fi/browser/chrome/browser/siteData.properties8
-rw-r--r--l10n-fi/browser/chrome/browser/sitePermissions.properties55
-rw-r--r--l10n-fi/browser/chrome/browser/syncSetup.properties14
-rw-r--r--l10n-fi/browser/chrome/browser/taskbar.properties12
-rw-r--r--l10n-fi/browser/chrome/browser/uiDensity.properties5
-rw-r--r--l10n-fi/browser/chrome/overrides/appstrings.properties44
-rw-r--r--l10n-fi/browser/crashreporter/crashreporter-override.ini9
-rw-r--r--l10n-fi/browser/defaultagent/defaultagent_localized.ini15
-rw-r--r--l10n-fi/browser/extensions/formautofill/formautofill.properties135
-rw-r--r--l10n-fi/browser/extensions/report-site-issue/webcompat.properties10
-rw-r--r--l10n-fi/browser/firefox-l10n.js6
-rw-r--r--l10n-fi/browser/installer/custom.properties93
-rw-r--r--l10n-fi/browser/installer/mui.properties61
-rw-r--r--l10n-fi/browser/installer/nsisstrings.properties50
-rw-r--r--l10n-fi/browser/installer/override.properties86
-rw-r--r--l10n-fi/browser/langpack-metadata.ftl13
-rw-r--r--l10n-fi/browser/pdfviewer/chrome.properties20
-rw-r--r--l10n-fi/browser/pdfviewer/viewer.properties302
-rw-r--r--l10n-fi/browser/updater/updater.ini10
-rw-r--r--l10n-fi/devtools/client/aboutdebugging.ftl400
-rw-r--r--l10n-fi/devtools/client/accessibility.ftl99
-rw-r--r--l10n-fi/devtools/client/accessibility.properties314
-rw-r--r--l10n-fi/devtools/client/animationinspector.properties182
-rw-r--r--l10n-fi/devtools/client/application.ftl151
-rw-r--r--l10n-fi/devtools/client/boxmodel.properties48
-rw-r--r--l10n-fi/devtools/client/changes.properties64
-rw-r--r--l10n-fi/devtools/client/compatibility.ftl54
-rw-r--r--l10n-fi/devtools/client/components.properties61
-rw-r--r--l10n-fi/devtools/client/debugger.properties1132
-rw-r--r--l10n-fi/devtools/client/device.properties21
-rw-r--r--l10n-fi/devtools/client/dom.properties27
-rw-r--r--l10n-fi/devtools/client/filterwidget.properties61
-rw-r--r--l10n-fi/devtools/client/font-inspector.properties69
-rw-r--r--l10n-fi/devtools/client/har.properties30
-rw-r--r--l10n-fi/devtools/client/inspector.properties602
-rw-r--r--l10n-fi/devtools/client/jsonview.properties47
-rw-r--r--l10n-fi/devtools/client/layout.properties138
-rw-r--r--l10n-fi/devtools/client/memory.properties434
-rw-r--r--l10n-fi/devtools/client/menus.properties29
-rw-r--r--l10n-fi/devtools/client/netmonitor.properties1679
-rw-r--r--l10n-fi/devtools/client/network-throttling.properties27
-rw-r--r--l10n-fi/devtools/client/perftools.ftl161
-rw-r--r--l10n-fi/devtools/client/responsive.properties182
-rw-r--r--l10n-fi/devtools/client/shared.properties26
-rw-r--r--l10n-fi/devtools/client/sourceeditor.properties117
-rw-r--r--l10n-fi/devtools/client/startup.properties248
-rw-r--r--l10n-fi/devtools/client/storage.ftl132
-rw-r--r--l10n-fi/devtools/client/styleeditor.ftl56
-rw-r--r--l10n-fi/devtools/client/styleeditor.properties74
-rw-r--r--l10n-fi/devtools/client/toolbox-options.ftl154
-rw-r--r--l10n-fi/devtools/client/toolbox.ftl55
-rw-r--r--l10n-fi/devtools/client/toolbox.properties267
-rw-r--r--l10n-fi/devtools/client/tooltips.ftl101
-rw-r--r--l10n-fi/devtools/client/webconsole.properties601
-rw-r--r--l10n-fi/devtools/shared/accessibility.properties142
-rw-r--r--l10n-fi/devtools/shared/debugger-paused-reasons.ftl87
-rw-r--r--l10n-fi/devtools/shared/debugger.properties67
-rw-r--r--l10n-fi/devtools/shared/eyedropper.properties14
-rw-r--r--l10n-fi/devtools/shared/highlighters.ftl67
-rw-r--r--l10n-fi/devtools/shared/screenshot.properties148
-rw-r--r--l10n-fi/devtools/shared/shared.properties6
-rw-r--r--l10n-fi/devtools/shared/styleinspector.properties267
-rw-r--r--l10n-fi/devtools/shared/webconsole-commands.ftl34
-rw-r--r--l10n-fi/devtools/startup/key-shortcuts.ftl38
-rw-r--r--l10n-fi/dom/chrome/accessibility/AccessFu.properties112
-rw-r--r--l10n-fi/dom/chrome/accessibility/mac/accessible.properties71
-rw-r--r--l10n-fi/dom/chrome/accessibility/unix/accessible.properties21
-rw-r--r--l10n-fi/dom/chrome/accessibility/win/accessible.properties21
-rw-r--r--l10n-fi/dom/chrome/appstrings.properties37
-rw-r--r--l10n-fi/dom/chrome/dom/dom.properties427
-rw-r--r--l10n-fi/dom/chrome/global-strres.properties5
-rw-r--r--l10n-fi/dom/chrome/layout/HtmlForm.properties35
-rw-r--r--l10n-fi/dom/chrome/layout/MediaDocument.properties22
-rw-r--r--l10n-fi/dom/chrome/layout/css.properties52
-rw-r--r--l10n-fi/dom/chrome/layout/htmlparser.properties145
-rw-r--r--l10n-fi/dom/chrome/layout/layout_errors.properties53
-rw-r--r--l10n-fi/dom/chrome/layout/printing.properties56
-rw-r--r--l10n-fi/dom/chrome/layout/xmlparser.properties48
-rw-r--r--l10n-fi/dom/chrome/layout/xul.properties5
-rw-r--r--l10n-fi/dom/chrome/mathml/mathml.properties15
-rw-r--r--l10n-fi/dom/chrome/nsWebBrowserPersist.properties17
-rw-r--r--l10n-fi/dom/chrome/security/caps.properties9
-rw-r--r--l10n-fi/dom/chrome/security/csp.properties100
-rw-r--r--l10n-fi/dom/chrome/security/security.properties153
-rw-r--r--l10n-fi/dom/chrome/svg/svg.properties5
-rw-r--r--l10n-fi/dom/chrome/xslt/xslt.properties39
-rw-r--r--l10n-fi/dom/dom/XMLPrettyPrint.ftl5
-rw-r--r--l10n-fi/dom/dom/media.ftl6
-rw-r--r--l10n-fi/mobile/android/chrome/browser.properties44
-rw-r--r--l10n-fi/mobile/android/chrome/passwordmgr.properties20
-rw-r--r--l10n-fi/mobile/android/mobile/android/aboutConfig.ftl28
-rw-r--r--l10n-fi/mobile/android/mobile/android/geckoViewConsole.ftl22
-rw-r--r--l10n-fi/mobile/chrome/region.properties51
-rw-r--r--l10n-fi/netwerk/necko.properties91
-rw-r--r--l10n-fi/security/manager/chrome/pipnss/nsserrors.properties331
-rw-r--r--l10n-fi/security/manager/chrome/pipnss/pipnss.properties136
-rw-r--r--l10n-fi/security/manager/chrome/pippki/pippki.properties75
-rw-r--r--l10n-fi/security/manager/security/certificates/certManager.ftl228
-rw-r--r--l10n-fi/security/manager/security/certificates/deviceManager.ftl133
-rw-r--r--l10n-fi/security/manager/security/pippki/pippki.ftl103
-rw-r--r--l10n-fi/toolkit/chrome/alerts/alert.properties23
-rw-r--r--l10n-fi/toolkit/chrome/autoconfig/autoconfig.properties12
-rw-r--r--l10n-fi/toolkit/chrome/global-platform/mac/intl.properties7
-rw-r--r--l10n-fi/toolkit/chrome/global-platform/mac/platformKeys.properties33
-rw-r--r--l10n-fi/toolkit/chrome/global-platform/unix/intl.properties7
-rw-r--r--l10n-fi/toolkit/chrome/global-platform/unix/platformKeys.properties33
-rw-r--r--l10n-fi/toolkit/chrome/global-platform/win/intl.properties7
-rw-r--r--l10n-fi/toolkit/chrome/global-platform/win/platformKeys.properties33
-rw-r--r--l10n-fi/toolkit/chrome/global/aboutStudies.properties33
-rw-r--r--l10n-fi/toolkit/chrome/global/autocomplete.properties9
-rw-r--r--l10n-fi/toolkit/chrome/global/browser.properties7
-rw-r--r--l10n-fi/toolkit/chrome/global/commonDialogs.properties46
-rw-r--r--l10n-fi/toolkit/chrome/global/contentAreaCommands.properties28
-rw-r--r--l10n-fi/toolkit/chrome/global/dialog.properties12
-rw-r--r--l10n-fi/toolkit/chrome/global/extensions.properties27
-rw-r--r--l10n-fi/toolkit/chrome/global/fallbackMenubar.properties8
-rw-r--r--l10n-fi/toolkit/chrome/global/filepicker.properties20
-rw-r--r--l10n-fi/toolkit/chrome/global/intl.css11
-rw-r--r--l10n-fi/toolkit/chrome/global/intl.properties43
-rw-r--r--l10n-fi/toolkit/chrome/global/keys.properties78
-rw-r--r--l10n-fi/toolkit/chrome/global/narrate.properties25
-rw-r--r--l10n-fi/toolkit/chrome/global/printdialog.properties52
-rw-r--r--l10n-fi/toolkit/chrome/global/resetProfile.properties14
-rw-r--r--l10n-fi/toolkit/chrome/global/viewSource.properties16
-rw-r--r--l10n-fi/toolkit/chrome/global/wizard.properties8
-rw-r--r--l10n-fi/toolkit/chrome/mozapps/downloads/downloads.properties6
-rw-r--r--l10n-fi/toolkit/chrome/mozapps/downloads/unknownContentType.properties23
-rw-r--r--l10n-fi/toolkit/chrome/mozapps/profile/profileSelection.properties55
-rw-r--r--l10n-fi/toolkit/chrome/mozapps/update/updates.properties45
-rw-r--r--l10n-fi/toolkit/chrome/passwordmgr/passwordmgr.properties79
-rw-r--r--l10n-fi/toolkit/chrome/places/places.properties33
-rw-r--r--l10n-fi/toolkit/crashreporter/aboutcrashes.ftl31
-rw-r--r--l10n-fi/toolkit/crashreporter/crashreporter.ini60
-rw-r--r--l10n-fi/toolkit/services/accounts.ftl8
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutAbout.ftl9
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutAddons.ftl492
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutCompat.ftl22
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutGlean.ftl22
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutHttpsOnlyError.ftl30
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutLogging.ftl41
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutMozilla.ftl11
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutNetworking.ftl68
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutPerformance.ftl67
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutPlugins.ftl43
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutProcesses.ftl194
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutProfiles.ftl74
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutReader.ftl52
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutRights.ftl36
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutSupport.ftl411
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutTelemetry.ftl136
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutThirdParty.ftl69
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutWebauthn.ftl105
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutWebrtc.ftl312
-rw-r--r--l10n-fi/toolkit/toolkit/about/aboutWindowsMessages.ftl19
-rw-r--r--l10n-fi/toolkit/toolkit/about/abuseReports.ftl111
-rw-r--r--l10n-fi/toolkit/toolkit/about/certviewer.ftl122
-rw-r--r--l10n-fi/toolkit/toolkit/about/config.ftl55
-rw-r--r--l10n-fi/toolkit/toolkit/about/url-classifier.ftl58
-rw-r--r--l10n-fi/toolkit/toolkit/branding/accounts.ftl16
-rw-r--r--l10n-fi/toolkit/toolkit/branding/brandings.ftl45
-rw-r--r--l10n-fi/toolkit/toolkit/contentanalysis/contentanalysis.ftl25
-rw-r--r--l10n-fi/toolkit/toolkit/downloads/downloadUI.ftl51
-rw-r--r--l10n-fi/toolkit/toolkit/downloads/downloadUtils.ftl106
-rw-r--r--l10n-fi/toolkit/toolkit/featuregates/features.ftl58
-rw-r--r--l10n-fi/toolkit/toolkit/formautofill/formAutofill.ftl26
-rw-r--r--l10n-fi/toolkit/toolkit/global/alert.ftl12
-rw-r--r--l10n-fi/toolkit/toolkit/global/appPicker.ftl10
-rw-r--r--l10n-fi/toolkit/toolkit/global/browser-utils.ftl11
-rw-r--r--l10n-fi/toolkit/toolkit/global/commonDialog.ftl21
-rw-r--r--l10n-fi/toolkit/toolkit/global/contextual-identity.ftl29
-rw-r--r--l10n-fi/toolkit/toolkit/global/cookieBannerHandling.ftl5
-rw-r--r--l10n-fi/toolkit/toolkit/global/createProfileWizard.ftl53
-rw-r--r--l10n-fi/toolkit/toolkit/global/cspErrors.ftl32
-rw-r--r--l10n-fi/toolkit/toolkit/global/datepicker.ftl50
-rw-r--r--l10n-fi/toolkit/toolkit/global/datetimebox.ftl42
-rw-r--r--l10n-fi/toolkit/toolkit/global/extensionPermissions.ftl33
-rw-r--r--l10n-fi/toolkit/toolkit/global/extensions.ftl105
-rw-r--r--l10n-fi/toolkit/toolkit/global/handlerDialog.ftl70
-rw-r--r--l10n-fi/toolkit/toolkit/global/htmlForm.ftl14
-rw-r--r--l10n-fi/toolkit/toolkit/global/mozCard.ftl3
-rw-r--r--l10n-fi/toolkit/toolkit/global/mozFiveStar.ftl9
-rw-r--r--l10n-fi/toolkit/toolkit/global/mozMessageBar.ftl7
-rw-r--r--l10n-fi/toolkit/toolkit/global/mozSupportLink.ftl5
-rw-r--r--l10n-fi/toolkit/toolkit/global/notification.ftl16
-rw-r--r--l10n-fi/toolkit/toolkit/global/popupnotification.ftl10
-rw-r--r--l10n-fi/toolkit/toolkit/global/processTypes.ftl61
-rw-r--r--l10n-fi/toolkit/toolkit/global/profileDowngrade.ftl18
-rw-r--r--l10n-fi/toolkit/toolkit/global/profileSelection.ftl38
-rw-r--r--l10n-fi/toolkit/toolkit/global/resetProfile.ftl15
-rw-r--r--l10n-fi/toolkit/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--l10n-fi/toolkit/toolkit/global/run-from-dmg.ftl28
-rw-r--r--l10n-fi/toolkit/toolkit/global/tabprompts.ftl13
-rw-r--r--l10n-fi/toolkit/toolkit/global/textActions.ftl64
-rw-r--r--l10n-fi/toolkit/toolkit/global/timepicker.ftl3
-rw-r--r--l10n-fi/toolkit/toolkit/global/tree.ftl6
-rw-r--r--l10n-fi/toolkit/toolkit/global/unknownContentType.ftl42
-rw-r--r--l10n-fi/toolkit/toolkit/global/videocontrols.ftl71
-rw-r--r--l10n-fi/toolkit/toolkit/global/wizard.ftl37
-rw-r--r--l10n-fi/toolkit/toolkit/intl/languageNames.ftl215
-rw-r--r--l10n-fi/toolkit/toolkit/intl/regionNames.ftl280
-rw-r--r--l10n-fi/toolkit/toolkit/main-window/autocomplete.ftl23
-rw-r--r--l10n-fi/toolkit/toolkit/main-window/findbar.ftl76
-rw-r--r--l10n-fi/toolkit/toolkit/neterror/certError.ftl141
-rw-r--r--l10n-fi/toolkit/toolkit/neterror/netError.ftl147
-rw-r--r--l10n-fi/toolkit/toolkit/neterror/nsserrors.ftl349
-rw-r--r--l10n-fi/toolkit/toolkit/passwordmgr/passwordmgr.ftl39
-rw-r--r--l10n-fi/toolkit/toolkit/payments/payments.ftl51
-rw-r--r--l10n-fi/toolkit/toolkit/pdfviewer/viewer.ftl384
-rw-r--r--l10n-fi/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl86
-rw-r--r--l10n-fi/toolkit/toolkit/preferences/preferences.ftl39
-rw-r--r--l10n-fi/toolkit/toolkit/printing/printDialogs.ftl112
-rw-r--r--l10n-fi/toolkit/toolkit/printing/printPreview.ftl73
-rw-r--r--l10n-fi/toolkit/toolkit/printing/printUI.ftl148
-rw-r--r--l10n-fi/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--l10n-fi/toolkit/toolkit/updates/backgroundupdate.ftl5
-rw-r--r--l10n-fi/toolkit/toolkit/updates/elevation.ftl22
-rw-r--r--l10n-fi/toolkit/toolkit/updates/history.ftl29
324 files changed, 31437 insertions, 0 deletions
diff --git a/l10n-fi/browser/branding/official/brand.ftl b/l10n-fi/browser/branding/official/brand.ftl
new file mode 100644
index 0000000000..da39916728
--- /dev/null
+++ b/l10n-fi/browser/branding/official/brand.ftl
@@ -0,0 +1,81 @@
+# 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/.
+
+
+## Firefox and Mozilla Brand
+##
+## Firefox and Mozilla must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-brand-shorter-name =
+ { $case ->
+ *[nominative] Firefox
+ [ablative] Firefoxilta
+ [elative] Firefoxista
+ [genitive] Firefoxin
+ [illative] Firefoxiin
+ [inessive] Firefoxissa
+ }
+ .case-status = with-cases
+-brand-short-name =
+ { $case ->
+ *[nominative] Firefox
+ [ablative] Firefoxilta
+ [elative] Firefoxista
+ [genitive] Firefoxin
+ [illative] Firefoxiin
+ [inessive] Firefoxissa
+ }
+ .case-status = with-cases
+-brand-shortcut-name =
+ { $case ->
+ *[nominative] Firefox
+ [ablative] Firefoxilta
+ [elative] Firefoxista
+ [genitive] Firefoxin
+ [illative] Firefoxiin
+ [inessive] Firefoxissa
+ }
+ .case-status = with-cases
+-brand-full-name =
+ { $case ->
+ *[nominative] Mozilla Firefox
+ [ablative] Mozilla Firefoxilta
+ [elative] Mozilla Firefoxista
+ [genitive] Mozilla Firefoxin
+ [illative] Mozilla Firefoxiin
+ [inessive] Mozilla Firefoxissa
+ }
+ .case-status = with-cases
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+-brand-product-name =
+ { $case ->
+ *[nominative] Firefox
+ [ablative] Firefoxilta
+ [elative] Firefoxista
+ [genitive] Firefoxin
+ [illative] Firefoxiin
+ [inessive] Firefoxissa
+ }
+ .case-status = with-cases
+-vendor-short-name =
+ { $case ->
+ *[nominative] Mozilla
+ [ablative] Mozillalta
+ [allative] Mozillalle
+ [elative] Mozillasta
+ [genitive] Mozillan
+ }
+ .case-status = with-cases
+trademarkInfo = Firefox ja Firefoxin logo ovat Mozilla-säätiön tavaramerkkejä.
diff --git a/l10n-fi/browser/branding/official/brand.properties b/l10n-fi/browser/branding/official/brand.properties
new file mode 100644
index 0000000000..9d6a612125
--- /dev/null
+++ b/l10n-fi/browser/branding/official/brand.properties
@@ -0,0 +1,8 @@
+# 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/.
+
+brandShorterName=Firefox
+brandShortName=Firefox
+brandFullName=Mozilla Firefox
+
diff --git a/l10n-fi/browser/browser/aboutDialog.ftl b/l10n-fi/browser/browser/aboutDialog.ftl
new file mode 100644
index 0000000000..55b6ac47c8
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutDialog.ftl
@@ -0,0 +1,86 @@
+# 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/.
+
+aboutDialog-title =
+ .title =
+ { -brand-full-name.case-status ->
+ [with-cases] Tietoja { -brand-full-name(case: "elative") }
+ *[no-cases] Tietoja: { -brand-full-name }
+ }
+
+releaseNotes-link = Mitä uutta
+
+update-checkForUpdatesButton =
+ .label = Hae päivityksiä
+ .accesskey = H
+
+update-updateButton =
+ .label = Päivitä käynnistämällä { -brand-shorter-name } uudestaan
+ .accesskey = P
+
+update-checkingForUpdates = Haetaan päivityksiä…
+
+## Variables:
+## $transfer (string) - Transfer progress.
+
+settings-update-downloading = <img data-l10n-name="icon"/>Ladataan päivitystä — <label data-l10n-name="download-status">{ $transfer }</label>
+aboutdialog-update-downloading = Ladataan päivitystä — <label data-l10n-name="download-status">{ $transfer }</label>
+
+##
+
+update-applying = Päivitetään…
+
+update-failed = Päivitys ei onnistunut. <label data-l10n-name="failed-link">Lataa uusin versio</label>
+update-failed-main = Päivitys ei onnistunut. <a data-l10n-name="failed-link-main">Lataa uusin versio</a>
+
+update-adminDisabled = Järjestelmän ylläpitäjä on estänyt päivitykset
+update-noUpdatesFound = Uusin { -brand-short-name }-versio käytössä
+aboutdialog-update-checking-failed = Päivitysten tarkistaminen epäonnistui.
+update-otherInstanceHandlingUpdates = { -brand-short-name }-ohjelman päivitys on jo käynnissä
+
+## Variables:
+## $displayUrl (String): URL to page with download instructions. Example: www.mozilla.org/firefox/nightly/
+
+aboutdialog-update-manual-with-link = Lataa päivitys: <label data-l10n-name="manual-link">{ $displayUrl }</label>
+settings-update-manual-with-link = Lataa päivitys: <a data-l10n-name="manual-link">{ $displayUrl }</a>
+
+update-unsupported = Tälle järjestelmälle ei enää tarjota päivityksiä. <label data-l10n-name="unsupported-link">Lue lisätietoja</label>
+
+update-restarting = Käynnistetään uudestaan…
+
+update-internal-error2 = Päivityksiä ei voi tarkistaa sisäisen virheen vuoksi. Päivitykset ovat saatavilla osoitteessa <label data-l10n-name="manual-link">{ $displayUrl }</label>
+
+##
+
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+aboutdialog-channel-description = Ohjelman päivitykset ovat tyyppiä <label data-l10n-name="current-channel">{ $channel }</label>.
+
+warningDesc-version = { -brand-short-name } on kokeellinen versio ja voi olla epävakaa.
+
+aboutdialog-help-user = { -brand-product-name }-ohje
+aboutdialog-submit-feedback = Lähetä palautetta
+
+community-exp = <label data-l10n-name="community-exp-mozillaLink">{ -vendor-short-name }</label> on <label data-l10n-name="community-exp-creditsLink">kansainvälinen yhteisö</label>, joka pyrkii kehittämään avointa, julkista ja kaikkien käytettävissä olevaa Internetiä.
+
+community-2 = { -brand-short-name(case: "genitive") } on kehittänyt <label data-l10n-name="community-mozillaLink">{ -vendor-short-name }</label>, <label data-l10n-name="community-creditsLink">kansainvälinen yhteisö</label>, joka pyrkii kehittämään avointa, julkista ja kaikkien käytettävissä olevaa internetiä.
+
+helpus = Haluatko auttaa? <label data-l10n-name="helpus-donateLink">Tee lahjoitus</label> tai <label data-l10n-name="helpus-getInvolvedLink">liity joukkoon!</label>
+
+bottomLinks-license = Lisenssitiedot
+bottomLinks-rights = Loppukäyttäjän oikeudet
+bottomLinks-privacy = Tietosuojakäytäntö
+
+# Example of resulting string: 66.0.1 (64-bit)
+# Variables:
+# $version (String): version of Firefox, e.g. 66.0.1
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version = { $version } ({ $bits }-bittinen)
+
+# Example of resulting string: 66.0a1 (2019-01-16) (64-bit)
+# Variables:
+# $version (String): version of Firefox for Nightly builds, e.g. 66.0a1
+# $isodate (String): date in ISO format, e.g. 2019-01-16
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits }-bittinen)
diff --git a/l10n-fi/browser/browser/aboutLogins.ftl b/l10n-fi/browser/browser/aboutLogins.ftl
new file mode 100644
index 0000000000..b8d98e04e4
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutLogins.ftl
@@ -0,0 +1,447 @@
+# 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/.
+# NOTE: New strings should use the about-logins- prefix.
+
+about-logins-page-title = Käyttäjätunnukset ja salasanat
+about-logins-login-filter =
+ .placeholder = Etsi kirjautumistietoja
+ .key = F
+create-new-login-button =
+ .title = Luo uusi kirjautumistieto
+about-logins-page-title-name = Salasanat
+about-logins-login-filter2 =
+ .placeholder = Etsi salasanoja
+ .key = F
+create-login-button =
+ .title = Lisää salasana
+fxaccounts-sign-in-text = Käytä salasanojasi kaikilla laitteillasi
+fxaccounts-sign-in-sync-button = Kirjaudu synkronoidaksesi
+fxaccounts-avatar-button =
+ .title = Hallitse tiliä
+
+## The ⋯ menu that is in the top corner of the page
+
+menu =
+ .title = Avaa valikko
+# This menuitem is only visible on Windows and macOS
+about-logins-menu-menuitem-import-from-another-browser = Tuo toisesta selaimesta…
+about-logins-menu-menuitem-import-from-a-file = Tuo tiedostosta…
+about-logins-menu-menuitem-export-logins = Vie kirjautumistiedot…
+about-logins-menu-menuitem-remove-all-logins = Poista kaikki kirjautumistiedot…
+about-logins-menu-menuitem-export-logins2 = Vie salasanat…
+about-logins-menu-menuitem-remove-all-logins2 = Poista kaikki salasanat…
+menu-menuitem-preferences = Asetukset
+about-logins-menu-menuitem-help = Ohje
+
+## Login List
+
+login-list =
+ .aria-label = Hakuasi vastaavat kirjautumistiedot
+# Variables
+# $count (number) - Number of logins
+login-list-count =
+ { $count ->
+ [one] { $count } kirjautumistieto
+ *[other] { $count } kirjautumistietoa
+ }
+# Variables
+# $count (number) - Number of filtered logins
+# $total (number) - Total number of logins
+login-list-filtered-count =
+ { $total ->
+ [one] { $count }/{ $total } kirjautumistieto
+ *[other] { $count }/{ $total } kirjautumistietoa
+ }
+# Variables
+# $count (number) - Number of logins
+login-list-count2 =
+ { $count ->
+ [one] { $count } salasana
+ *[other] { $count } salasanaa
+ }
+# Variables
+# $count (number) - Number of filtered logins
+# $total (number) - Total number of logins
+login-list-filtered-count2 =
+ { $total ->
+ [one] { $count }/{ $total } salasana
+ *[other] { $count }/{ $total } salasanaa
+ }
+login-list-sort-label-text = Järjestys:
+login-list-name-option = Nimi (A–Ö)
+login-list-name-reverse-option = Nimi (Ö–A)
+login-list-username-option = Käyttäjätunnus (A-Ö)
+login-list-username-reverse-option = Käyttäjätunnus (Ö-A)
+about-logins-login-list-alerts-option = Hälytykset
+login-list-last-changed-option = Viimeksi muokattu
+login-list-last-used-option = Viimeksi käytetty
+login-list-intro-title = Kirjautumistietoja ei löytynyt
+login-list-intro-title2 = Salasanoja ei ole tallennettu
+login-list-intro-description = Kun tallennat salasanan { -brand-product-name }-selaimeen, se ilmestyy tänne.
+about-logins-login-list-empty-search-title = Kirjautumistietoja ei löytynyt
+about-logins-login-list-empty-search-title2 = Salasanoja ei löytynyt
+about-logins-login-list-empty-search-description = Hakuasi vastaavia tuloksia ei löytynyt.
+login-list-item-title-new-login = Uusi kirjautumistieto
+login-list-item-subtitle-new-login = Anna kirjautumistietosi
+login-list-item-title-new-login2 = Lisää salasana
+login-list-item-subtitle-missing-username = (ei käyttäjätunnusta)
+about-logins-list-item-breach-icon =
+ .title = Tietovuodon kokenut sivusto
+about-logins-list-item-vulnerable-password-icon =
+ .title = Vaarantunut salasana
+about-logins-list-section-breach = Tietovuodon kokeneet sivustot
+about-logins-list-section-vulnerable = Vaarantuneet salasanat
+about-logins-list-section-nothing = Ei hälytystä
+about-logins-list-section-today = Tänään
+about-logins-list-section-yesterday = Eilen
+about-logins-list-section-week = Viimeiset 7 päivää
+
+## Introduction screen
+
+about-logins-login-intro-heading-logged-out2 = Etsitkö tallennettuja kirjautumistietojasi? Ota synkronointi käyttöön tai tuo ne.
+about-logins-login-intro-heading-logged-in = Synkronoituja kirjautumistietoja ei löytynyt.
+login-intro-description = Jos tallensit kirjautumistietosi { -brand-product-name }-selaimeen toisella laitteella, saat ne käyttöön seuraavasti:
+login-intro-instructions-fxa = Kirjaudu { -fxaccount-brand-name(case: "allative") } tai luo tili laitteella, jolle kirjautumistietosi on tallennettu.
+about-logins-login-intro-heading-message = Tallenna salasanasi turvalliseen paikkaan
+login-intro-description2 = Kaikki { -brand-product-name }iin tallentamasi salasanat ovat salattuja. Lisäksi tarkkailemme tietovuotoja ja ilmoitamme sinulle, jos joudut osalliseksi tietovuodossa. <a data-l10n-name="breach-alert-link">Lisätietoja</a>
+login-intro-instructions-fxa2 = Luo tili tai kirjaudu sisään laitteella, johon kirjautumistietosi on tallennettu.
+login-intro-instructions-fxa-settings = Avaa Asetukset > Synkronointi > Ota synkronointi käyttöön… Valitse valintaruutu ”Käyttäjätunnukset ja salasanat”.
+login-intro-instructions-fxa-passwords-help = Käy <a data-l10n-name="passwords-help-link">salasanatuessa</a> saadaksesi lisätietoja.
+about-logins-intro-browser-only-import = Jos kirjautumistietojasi on tallennettu toiseen selaimeen, voit <a data-l10n-name="import-link">tuoda ne { -brand-product-name }iin</a>
+about-logins-intro-import2 = Jos kirjautumistietosi on tallennettu { -brand-product-name }-selaimen ulkopuolelle, voit <a data-l10n-name="import-browser-link">tuoda ne toisesta selaimesta</a> tai <a data-l10n-name="import-file-link">tiedostosta</a>
+
+## Login
+
+login-item-new-login-title = Luo uusi kirjautumistieto
+# Header for adding a password
+about-logins-login-item-new-login-title = Lisää salasana
+login-item-edit-button = Muokkaa
+about-logins-login-item-remove-button = Poista
+login-item-origin-label = Verkkosivuston osoite
+login-item-tooltip-message = Tarkista, että tämä on sama osoite, josta kirjaudut sisään.
+# Variables
+# $webTitle (String) - Website title of the password being changed.
+about-logins-edit-password-tooltip = Varmista, että tallennat tämän sivuston nykyisen salasanasi. Salasanan vaihtaminen tässä ei muuta sitä sivustolla { $webTitle }.
+about-logins-add-password-tooltip = Varmista, että tallennat tämän sivuston nykyisen salasanasi.
+login-item-origin =
+ .placeholder = https://www.example.com
+login-item-username-label = Käyttäjätunnus
+about-logins-login-item-username =
+ .placeholder = (ei käyttäjätunnusta)
+login-item-copy-username-button-text = Kopioi
+login-item-copied-username-button-text = Kopioitu!
+login-item-password-label = Salasana
+login-item-password-reveal-checkbox =
+ .aria-label = Näytä salasana
+login-item-copy-password-button-text = Kopioi
+login-item-copied-password-button-text = Kopioitu!
+login-item-save-changes-button = Tallenna muutokset
+about-logins-login-item-save-changes-button = Tallenna
+login-item-save-new-button = Tallenna
+login-item-cancel-button = Peruuta
+
+## The date is displayed in a timeline showing the password evolution.
+## A label is displayed under the date to describe the type of change.
+## (e.g. updated, created, etc.)
+
+# Variables
+# $datetime (date) - Event date
+login-item-timeline-point-date = { DATETIME($datetime, day: "numeric", month: "numeric", year: "numeric") }
+login-item-timeline-action-created = Luotu
+login-item-timeline-action-updated = Päivitetty
+login-item-timeline-action-used = Käytetty
+
+## OS Authentication dialog
+
+about-logins-os-auth-dialog-caption = { -brand-full-name }
+
+## The macOS strings are preceded by the operating system with "Firefox is trying to "
+## and includes subtitle of "Enter password for the user "xxx" to allow this." These
+## notes are only valid for English. Please test in your respected locale.
+
+# This message can be seen when attempting to edit a login in about:logins on Windows.
+about-logins-edit-login-os-auth-dialog-message-win = Jatka muokkaamaan kirjautumistietojasi kirjoittamalla Windows-kirjautumistiedot. Tämä auttaa suojaamaan tilejäsi.
+# This message can be seen when attempting to edit a login in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-edit-login-os-auth-dialog-message-macosx = muokata tallennettua kirjautumistietoa
+# This message can be seen when attempting to reveal a password in about:logins on Windows.
+about-logins-reveal-password-os-auth-dialog-message-win = Katso salasana kirjoittamalla Windows-kirjautumistiedot. Tämä auttaa suojaamaan tilejäsi.
+# This message can be seen when attempting to reveal a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-reveal-password-os-auth-dialog-message-macosx = paljastaa tallennetun salasanan
+# This message can be seen when attempting to copy a password in about:logins on Windows.
+about-logins-copy-password-os-auth-dialog-message-win = Kopioi salasana kirjoittamalla Windows-kirjautumistiedot. Tämä auttaa suojaamaan tilejäsi.
+# This message can be seen when attempting to copy a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-copy-password-os-auth-dialog-message-macosx = kopioida tallennetun salasanan
+# This message can be seen when attempting to export a password in about:logins on Windows.
+about-logins-export-password-os-auth-dialog-message-win = Jatka kirjautumistietojesi vientiin kirjoittamalla Windows-kirjautumistiedot. Tämä auttaa suojaamaan tilejäsi.
+# This message can be seen when attempting to export a password in about:logins
+# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here.
+about-logins-export-password-os-auth-dialog-message-macosx = viedä tallennetut käyttäjätunnukset ja salasanat
+
+## Primary Password notification
+
+about-logins-primary-password-notification-message = Kirjoita pääsalasana nähdäksesi tallennetut käyttäjätunnukset ja salasanat
+master-password-reload-button =
+ .label = Kirjaudu
+ .accesskey = K
+
+## Dialogs
+
+confirmation-dialog-cancel-button = Peruuta
+confirmation-dialog-dismiss-button =
+ .title = Peruuta
+about-logins-confirm-remove-dialog-title = Poistetaanko tämä kirjautumistieto?
+confirm-delete-dialog-message = Tätä toimintoa ei voi perua.
+# Title for modal to confirm the removal of one saved password
+about-logins-confirm-delete-dialog-title = Poistetaanko salasana?
+# Message for modal to confirm the removal of one saved password
+about-logins-confirm-delete-dialog-message = Tätä toimintoa ei voi kumota.
+about-logins-confirm-remove-dialog-confirm-button = Poista
+
+## Variables
+## $count (number) - Number of items
+
+about-logins-confirm-remove-all-dialog-confirm-button-label =
+ { $count ->
+ [1] Poista
+ *[other] Poista kaikki
+ }
+about-logins-confirm-remove-all-dialog-checkbox-label =
+ { $count ->
+ [1] Kyllä, poista tämä kirjautumistieto
+ *[other] Kyllä, poista nämä kirjautumistiedot
+ }
+about-logins-confirm-remove-all-dialog-title =
+ { $count ->
+ [one] Poistetaanko { $count } kirjautumistieto?
+ *[other] Poistetaanko kaikki { $count } kirjautumistietoa?
+ }
+about-logins-confirm-remove-all-dialog-message =
+ { $count ->
+ [1] Tämä poistaa { -brand-short-name }iin tallentamasi kirjautumistiedon ja kaikki hälytykset, jotka näkyvät täällä. Et voi kumota tätä toimintoa.
+ *[other] Tämä poistaa { -brand-short-name }iin tallentamasi kirjautumistiedot ja kaikki hälytykset, jotka näkyvät täällä. Et voi kumota tätä toimintoa.
+ }
+about-logins-confirm-remove-all-sync-dialog-title =
+ { $count ->
+ [one] Poistetaanko { $count } kirjautumistieto kaikilta laitteilta?
+ *[other] Poistetaanko kaikki { $count } kirjautumistietoa kaikilta laitteilta?
+ }
+about-logins-confirm-remove-all-sync-dialog-message =
+ { $count ->
+ [1] Tämä poistaa kirjautumistiedon, jonka olet tallentanut { -brand-short-name }iin, kaikilta laitteilta, jotka on synkronoitu { -fxaccount-brand-name(case: "allative") }. Tämä poistaa myös tässä näkyvät vuotohälytykset. Tätä toimintoa ei voi kumota.
+ *[other] Tämä poistaa kaikki kirjautumistiedot, jotka olet tallentanut { -brand-short-name }iin, kaikilta laitteilta, jotka on synkronoitu { -fxaccount-brand-name(case: "allative") }. Tämä poistaa myös tässä näkyvät vuotohälytykset. Tätä toimintoa ei voi kumota.
+ }
+about-logins-confirm-remove-all-sync-dialog-message2 =
+ { $count ->
+ [1] Tämä poistaa kirjautumistiedon, jonka olet tallentanut { -brand-short-name }iin, kaikilta laitteilta, jotka on synkronoitu tilillesi. Tämä poistaa myös tässä näkyvät vuotohälytykset. Tätä toimintoa ei voi kumota.
+ [one] Tämä poistaa kirjautumistiedon, jonka olet tallentanut { -brand-short-name }iin, kaikilta laitteilta, jotka on synkronoitu tilillesi. Tämä poistaa myös tässä näkyvät vuotohälytykset. Tätä toimintoa ei voi kumota.
+ *[other] Tämä poistaa kaikki kirjautumistiedot, jotka olet tallentanut { -brand-short-name }iin, kaikilta laitteilta, jotka on synkronoitu tilillesi. Tämä poistaa myös tässä näkyvät vuotohälytykset. Tätä toimintoa ei voi kumota.
+ }
+# Checkbox for modal to confirm the removal of saved passwords
+about-logins-confirm-remove-all-dialog-checkbox-label2 =
+ { $count ->
+ [1] Kyllä, poista salasana
+ *[other] Yes, remove passwords
+ }
+# Title for modal to confirm the removal of all saved passwords when user is NOT synced
+about-logins-confirm-remove-all-dialog-title2 =
+ { $count ->
+ [one] Poistetaanko { $count } salasana?
+ *[other] Poistetaanko kaikki { $count } salasanaa?
+ }
+
+##
+
+about-logins-confirm-export-dialog-title = Vie kirjautumistiedot ja salasanat
+about-logins-confirm-export-dialog-message = Salasanasi tallennetaan luettavaan muotoon (esim. hu0n0s4l4s4n4), joten kuka tahansa viedyn tiedoston avaamiseen kykenevä voi nähdä salasanat.
+about-logins-confirm-export-dialog-confirm-button = Vie…
+about-logins-confirm-export-dialog-title2 = Huomautus salasanojen viemisestä
+about-logins-confirm-export-dialog-message2 =
+ Kun viet salasanat, ne tallennetaan tiedostoon, joka on luettavissa olevaa tekstiä.
+ Kun olet lopettanut tiedoston käytön, suosittelemme sen poistamista, jotta muut tämän laitteen käyttäjät eivät näe salasanojasi.
+about-logins-confirm-export-dialog-confirm-button2 = Jatka vientiä
+about-logins-alert-import-title = Tuonti valmis
+about-logins-alert-import-message = Näytä tuonnin yksityiskohtainen erittely
+confirm-discard-changes-dialog-title = Hylätäänkö tallentamattomat muutokset?
+confirm-discard-changes-dialog-message = Kaikki tallentamattomat muutokset menetetään.
+confirm-discard-changes-dialog-confirm-button = Hylkää
+
+## Breach Alert notification
+
+about-logins-breach-alert-title = Sivuston tietovuoto
+breach-alert-text = Salasanat vuotivat tai niitä varastettiin tältä sivustolta sen jälkeen, kun olet viimeksi päivittänyt kirjautumistietosi. Suojaa tilisi vaihtamalla salasanasi.
+about-logins-breach-alert-date = Tämä vuoto tapahtui { DATETIME($date, day: "numeric", month: "long", year: "numeric") }
+# Variables:
+# $hostname (String) - The hostname of the website associated with the login, e.g. "example.com"
+about-logins-breach-alert-link = Siirry sivustolle { $hostname }
+
+## Vulnerable Password notification
+
+about-logins-vulnerable-alert-title = Vaarantunut salasana
+about-logins-vulnerable-alert-text2 = Tätä salasanaa on käytetty toisella tilillä, jonka tiedot todennäköisesti vuosivat. Samojen kirjautumistietojen myös muualla käyttäminen vaarantaa kaikki tilisi. Vaihda tämä salasana.
+# Variables:
+# $hostname (String) - The hostname of the website associated with the login, e.g. "example.com"
+about-logins-vulnerable-alert-link = Siirry sivustolle { $hostname }
+about-logins-vulnerable-alert-learn-more-link = Lue lisää
+
+## Error Messages
+
+# This is an error message that appears when a user attempts to save
+# a new login that is identical to an existing saved login.
+# Variables:
+# $loginTitle (String) - The title of the website associated with the login.
+about-logins-error-message-duplicate-login-with-link = Kirjautumistieto sivulle { $loginTitle } tällä käyttäjätunnuksella on jo olemassa. <a data-l10n-name="duplicate-link">Siirrytäänkö olemassa olevaan kirjautumistietoon?</a>
+# This is a generic error message.
+about-logins-error-message-default = Tätä salasanaa tallentaessa ilmeni virhe.
+
+## Login Export Dialog
+
+# Title of the file picker dialog
+about-logins-export-file-picker-title = Vie kirjautumistietojen tiedosto
+# The default file name shown in the file picker when exporting saved logins.
+# This must end in .csv
+about-logins-export-file-picker-default-filename = kirjautumistiedot.csv
+# Title of the file picker dialog
+about-logins-export-file-picker-title2 = Vie salasanat { -brand-short-name }ista
+# The default file name shown in the file picker when exporting saved logins.
+# This must end in .csv
+about-logins-export-file-picker-default-filename2 = salasanat.csv
+about-logins-export-file-picker-export-button = Vie
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+about-logins-export-file-picker-csv-filter-title =
+ { PLATFORM() ->
+ [macos] CSV-dokumentti
+ *[other] CSV-tiedosto
+ }
+
+## Login Import Dialog
+
+# Title of the file picker dialog
+about-logins-import-file-picker-title = Tuo kirjautumistietojen tiedosto
+# Title of the file picker dialog
+about-logins-import-file-picker-title2 = Tuo salasanat { -brand-short-name }iin
+about-logins-import-file-picker-import-button = Tuo
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+about-logins-import-file-picker-csv-filter-title =
+ { PLATFORM() ->
+ [macos] CSV-tiedosto
+ *[other] CSV-tiedosto
+ }
+# A description for the .tsv file format that may be shown as the file type
+# filter by the operating system. TSV is short for 'tab separated values'.
+about-logins-import-file-picker-tsv-filter-title =
+ { PLATFORM() ->
+ [macos] TSV-tiedosto
+ *[other] TSV-tiedosto
+ }
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+about-logins-import-dialog-title = Tuonti valmis
+about-logins-import-dialog-items-added =
+ { $count ->
+ *[other] <span>Lisättiin uusia kirjautumistietoja:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-modified =
+ { $count ->
+ *[other] <span>Päivitettiin nykyisiä kirjautumistietoja:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-no-change =
+ { $count ->
+ *[other] <span>Löydettiin kirjautumistietojen kopioita:</span> <span data-l10n-name="count">{ $count }</span> <span data-l10n-name="meta">(ei tuotu)</span>
+ }
+about-logins-import-dialog-items-added2 =
+ { $count ->
+ *[other] <span>Uusia salasanoja lisätty:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-modified2 =
+ { $count ->
+ *[other] <span>Olemassa olevia kohteita päivitetty:</span> <span data-l10n-name="count">{ $count }</span>
+ }
+about-logins-import-dialog-items-no-change2 =
+ { $count ->
+ *[other] <span>Löytyneitä kaksoiskappaleita:</span> <span data-l10n-name="count">{ $count }</span> <span data-l10n-name="meta">(ei tuotu)</span>
+ }
+about-logins-import-dialog-items-error =
+ { $count ->
+ *[other] <span>Virheitä:</span> <span data-l10n-name="count">{ $count }</span> <span data-l10n-name="meta">(ei tuotu)</span>
+ }
+about-logins-import-dialog-done = Valmis
+about-logins-import-dialog-error-title = Tuontivirhe
+about-logins-import-dialog-error-conflicting-values-title = Useita ristiriitaisia arvoja samalle kirjautumistiedolle
+about-logins-import-dialog-error-conflicting-values-description = Esimerkiksi: useita käyttäjätunnuksia, salasanoja, URL-osoitteita jne. yhdelle kirjautumistiedolle.
+about-logins-import-dialog-error-file-format-title = Tiedostomuoto-ongelma
+about-logins-import-dialog-error-file-format-description = Virheelliset tai puuttuvat kenttäotsakkeet. Tarkista, että tiedostossa on kentät käyttäjätunnukselle, salasanalle ja URL-osoitteelle.
+about-logins-import-dialog-error-file-permission-title = Tiedostoa ei voida lukea
+about-logins-import-dialog-error-file-permission-description = { -brand-short-name }illa ei ole oikeutta lukea tiedostoa. Yritä muuttaa tiedoston käyttöoikeuksia.
+about-logins-import-dialog-error-unable-to-read-title = Tiedostoa ei voida jäsentää
+about-logins-import-dialog-error-unable-to-read-description = Tarkista, että valitsit CSV- tai TSV-tiedoston.
+about-logins-import-dialog-error-no-logins-imported = Kirjautumistietoja ei ole tuotu
+about-logins-import-dialog-error-learn-more = Lisätietoja
+about-logins-import-dialog-error-try-import-again = Yritä tuontia uudelleen…
+about-logins-import-dialog-error-cancel = Peruuta
+about-logins-import-report-title = Tuonnin yhteenveto
+about-logins-import-report-description = { -brand-short-name }iin tuotavat käyttäjätunnukset ja salasanat.
+about-logins-import-report-description2 = Salasanat tuotu { -brand-short-name }iin.
+#
+# Variables:
+# $number (number) - The number of the row
+about-logins-import-report-row-index = Rivi { $number }
+about-logins-import-report-row-description-no-change = Kopio: Olemassa olevan kirjautumistiedon tarkka kopio
+about-logins-import-report-row-description-modified = Olemassa oleva kirjautumistieto päivitetty
+about-logins-import-report-row-description-added = Uusi kirjautumistieto lisätty
+about-logins-import-report-row-description-no-change2 = Kaksoiskappale: täysin vastaava olemassa oleva kohde
+about-logins-import-report-row-description-modified2 = Olemassa oleva kohde päivitetty
+about-logins-import-report-row-description-added2 = Uusi salasana lisätty
+about-logins-import-report-row-description-error = Virhe: Puuttuva kenttä
+
+##
+## Variables:
+## $field (String) - The name of the field from the CSV file for example url, username or password
+
+about-logins-import-report-row-description-error-multiple-values = Virhe: Useita arvoja kentälle { $field }
+about-logins-import-report-row-description-error-missing-field = Virhe: Puuttuu { $field }
+
+##
+## Variables:
+## $count (number) - The number of affected elements
+
+about-logins-import-report-added =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">uutta kirjautumistietoa lisätty</div>
+ }
+about-logins-import-report-modified =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">olemassa olevaa kirjautumistietoa päivitetty</div>
+ }
+about-logins-import-report-no-change =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">kirjautumistietojen kopiota</div> <div data-l10n-name="not-imported">(ei tuotu)</div>
+ }
+about-logins-import-report-added2 =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">uutta salasanaa lisätty</div>
+ }
+about-logins-import-report-modified2 =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">olemassa olevaa kohdetta päivitetty</div>
+ }
+about-logins-import-report-no-change2 =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">kaksoiskappaletta</div> <div data-l10n-name="not-imported">(ei tuotu)</div>
+ }
+about-logins-import-report-error =
+ { $count ->
+ *[other] <div data-l10n-name="count">{ $count }</div> <div data-l10n-name="details">virhettä</div> <div data-l10n-name="not-imported">(ei tuotu)</div>
+ }
+
+## Logins import report page
+
+about-logins-import-report-page-title = Tuonnin yhteenvetoraportti
diff --git a/l10n-fi/browser/browser/aboutPocket.ftl b/l10n-fi/browser/browser/aboutPocket.ftl
new file mode 100644
index 0000000000..1f90477312
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutPocket.ftl
@@ -0,0 +1,75 @@
+# 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/.
+
+
+### Pocket button panel strings for about:pocket-saved, about:pocket-signup, and about:pocket-home
+
+
+## about:pocket-saved panel
+
+# Placeholder text for tag input
+pocket-panel-saved-add-tags =
+ .placeholder = Lisää tunnisteita
+
+pocket-panel-saved-error-generic = Tapahtui virhe tallennettaessa { -pocket-brand-name }-palveluun.
+pocket-panel-saved-error-tag-length = Tunnisteet voivat olla enintään 25 merkkiä pitkiä
+pocket-panel-saved-error-only-links = Vain linkkejä voidaan tallentaa
+pocket-panel-saved-error-not-saved = Sivua ei ole tallennettu
+pocket-panel-saved-error-no-internet = Tarvitset aktiivisen internetyhteyden tallentaaksesi { -pocket-brand-name }iin. Yhdistä internetiin ja yritä uudelleen.
+pocket-panel-saved-error-remove = Tämän sivun poistamisessa tapahtui virhe.
+pocket-panel-saved-page-removed = Sivu poistettiin
+pocket-panel-saved-page-saved = Tallennettiin { -pocket-brand-name }-palveluun
+pocket-panel-saved-page-saved-b = Tallennettu { -pocket-brand-name }iin!
+pocket-panel-saved-processing-remove = Poistetaan sivu…
+pocket-panel-saved-removed-updated = Sivu poistettu tallennuksista
+pocket-panel-saved-processing-tags = Lisätään tunnisteet…
+pocket-panel-saved-remove-page = Poista sivu
+pocket-panel-saved-save-tags = Tallenna
+pocket-panel-saved-saving-tags = Tallennetaan…
+pocket-panel-saved-suggested-tags = Ehdotetut tunnisteet
+pocket-panel-saved-tags-saved = Tunnisteet lisättiin
+
+# This is displayed above a field where the user can add tags
+pocket-panel-signup-add-tags = Lisää tunnisteet:
+
+## about:pocket-signup panel
+
+pocket-panel-signup-already-have = Oletko jo { -pocket-brand-name }-palvelun käyttäjä?
+pocket-panel-signup-learn-more = Lue lisää
+pocket-panel-signup-login = Kirjaudu sisään
+pocket-panel-signup-signup-email = Rekisteröidy sähköpostiosoitteella
+pocket-panel-signup-signup-cta = Rekisteröidy { -pocket-brand-name }-palveluun. Se on ilmaista.
+pocket-panel-signup-signup-firefox = Rekisteröidy { -brand-product-name }-tilillä
+pocket-panel-signup-tagline = Tallenna artikkelit ja videot { -brand-product-name }ista { -pocket-brand-name }-palveluun katseltaviksi millä tahansa laitteella, koska tahansa.
+pocket-panel-signup-tagline-story-one = Napsauta { -pocket-brand-name }-painiketta tallentaaksesi artikkelin, videon tai sivun { -brand-product-name }issa.
+pocket-panel-signup-tagline-story-two = Katsele { -pocket-brand-name }-palvelussa millä tahansa laitteella, koska tahansa.
+
+pocket-panel-signup-cta-a-fix = Tallennuspainikkeesi Internetiin.
+pocket-panel-signup-cta-b-updated = Napsauta { -pocket-brand-name }-painiketta tallentaaksesi artikkeleita, videoita ja linkkejä. Tarkastele tallennukset millä tahansa laitteella milloin tahansa.
+pocket-panel-signup-cta-b-short = Napsauta { -pocket-brand-name }-painiketta tallentaaksesi artikkeleita, videoita ja linkkejä.
+pocket-panel-signup-cta-c-updated = Tarkastele tallenteitasi millä tahansa laitteella, milloin tahansa.
+
+## about:pocket-home panel
+
+pocket-panel-home-welcome-back = Tervetuloa takaisin
+pocket-panel-home-paragraph = Voit käyttää { -pocket-brand-name }ia selataksesi ja tallentaaksesi verkkosivuja, artikkeleja, videoita, podcasteja tai palata aiemmin lukemaasi asiaan.
+pocket-panel-home-explore-popular-topics = Selaa suosittuja aiheita
+pocket-panel-home-discover-more = Löydä lisää
+pocket-panel-home-explore-more = Selaa
+
+pocket-panel-home-most-recent-saves = Tässä viimeisimmät tallennuksesi:
+pocket-panel-home-most-recent-saves-loading = Viimeisimpiä tallennuksia ladataan…
+pocket-panel-home-new-user-cta = Napsauta { -pocket-brand-name }-painiketta tallentaaksesi artikkeleita, videoita ja linkkejä.
+pocket-panel-home-new-user-message = Katso viimeisimmät tallennuksesi tästä.
+
+## Pocket panel header component
+
+pocket-panel-header-my-saves = Näytä omat tallennukset
+pocket-panel-header-sign-in = Kirjaudu sisään
+
+## Pocket panel buttons
+
+pocket-panel-button-show-all = Näytä kaikki
+pocket-panel-button-activate = Aktivoi { -pocket-brand-name } { -brand-product-name }issa
+pocket-panel-button-remove = Poista
diff --git a/l10n-fi/browser/browser/aboutPolicies.ftl b/l10n-fi/browser/browser/aboutPolicies.ftl
new file mode 100644
index 0000000000..0d6a810910
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutPolicies.ftl
@@ -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/.
+
+about-policies-title = Yrityskäytännöt
+
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = Aktiiviset
+errors-tab = Virheet
+documentation-tab = Dokumentaatio
+
+no-specified-policies-message = Yrityskäytäntöpalvelu on aktiivinen, mutta käytäntöjä ei ole käytössä.
+inactive-message = Yrityskäytäntöpalvelu ei ole aktiivinen.
+
+policy-name = Käytännön nimi
+policy-value = Käytännön arvo
+policy-errors = Käytäntövirheet
diff --git a/l10n-fi/browser/browser/aboutPrivateBrowsing.ftl b/l10n-fi/browser/browser/aboutPrivateBrowsing.ftl
new file mode 100644
index 0000000000..2fb00c6293
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutPrivateBrowsing.ftl
@@ -0,0 +1,76 @@
+# 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/.
+
+privatebrowsingpage-open-private-window-label = Avaa yksityinen ikkuna
+ .accesskey = A
+about-private-browsing-search-placeholder = Verkkohaku
+about-private-browsing-info-title = Olet yksityisessä ikkunassa
+about-private-browsing-search-btn =
+ .title = Verkkohaku
+# Variables
+# $engine (String): the name of the user's default search engine
+about-private-browsing-handoff =
+ .title = Hae hakukoneella { $engine } tai kirjoita osoite
+about-private-browsing-handoff-no-engine =
+ .title = Kirjoita osoite tai hakusana
+# Variables
+# $engine (String): the name of the user's default search engine
+about-private-browsing-handoff-text = Hae hakukoneella { $engine } tai kirjoita osoite
+about-private-browsing-handoff-text-no-engine = Kirjoita osoite tai hakusana
+about-private-browsing-not-private = Tämä ei ole yksityinen selausikkuna.
+about-private-browsing-info-description-private-window = Yksityinen ikkuna: { -brand-short-name } tyhjentää haku- ja selaushistoriasi, kun suljet kaikki yksityiset ikkunat. Tämä ei tee sinusta anonyymiä.
+about-private-browsing-info-description-simplified = { -brand-short-name } tyhjentää haku- ja selaushistorian kun suljet kaikki yksityiset ikkunat, mutta tämä ei tee sinusta anonyymiä.
+about-private-browsing-learn-more-link = Lue lisää
+about-private-browsing-hide-activity = Piilota toimintasi ja sijaintisi kaikkialla missä selaat
+about-private-browsing-get-privacy = Hanki yksityisyyden suojaa kaikkialle missä selaat
+about-private-browsing-hide-activity-1 = Piilota selaustoimintasi ja sijaintisi käyttäen { -mozilla-vpn-brand-name }:ää. Yksi napsautus luo suojatun yhteyden, jopa julkisissa wifi-verkoissa.
+about-private-browsing-prominent-cta = Pysy yksityisenä käyttäen { -mozilla-vpn-brand-name }:ää
+about-private-browsing-focus-promo-cta = Lataa { -focus-brand-name }
+about-private-browsing-focus-promo-header = { -focus-brand-name }: Yksityistä selausta tien päällä
+about-private-browsing-focus-promo-text = Yksityisyydelle omistettu mobiiliselaimemme tyhjentää historiasi ja evästeet joka kerta.
+
+## The following strings will be used for experiments in Fx99 and Fx100
+
+about-private-browsing-focus-promo-header-b = Vie yksityinen selaaminen puhelimeesi
+about-private-browsing-focus-promo-text-b = Käytä { -focus-brand-name }ia niitä yksityisiä hakuja varten, joita et halua ensisijaisen mobiiliselaimesi näkevän.
+about-private-browsing-focus-promo-header-c = Seuraavan tason yksityisyyttä mobiilissa
+about-private-browsing-focus-promo-text-c = { -focus-brand-name } tyhjentää selaushistorian jokaisen käyttökerran jälkeen samalla estäen mainokset ja seuraimet.
+# This string is the title for the banner for search engine selection
+# in a private window.
+# Variables:
+# $engineName (String) - The engine name that will currently be used for the private window.
+about-private-browsing-search-banner-title = { $engineName } on oletushakukone yksityisissä ikkunoissa
+about-private-browsing-search-banner-description = Eri hakukoneen voi valita <a data-l10n-name="link-options">asetuksista</a>
+about-private-browsing-search-banner-close-button =
+ .aria-label = Sulje
+about-private-browsing-promo-close-button =
+ .title = Sulje
+
+## Strings used in a “pin promotion” message, which prompts users to pin a private window
+
+about-private-browsing-pin-promo-header = Yksityisen selauksen vapautta yhdellä napsautuksella
+about-private-browsing-pin-promo-link-text =
+ { PLATFORM() ->
+ [macos] Kiinnitä Dockiin
+ *[other] Kiinnitä tehtäväpalkkiin
+ }
+about-private-browsing-pin-promo-title = Ei tallennettuja evästeitä tai historiaa, käynnistä suoraan työpöydältäsi. Selaa kuin kukaan ei näkisi.
+
+## Strings used in a promotion message for cookie banner reduction
+
+# Simplified version of the headline if the original text doesn't work
+# in your language: `See fewer cookie requests`.
+about-private-browsing-cookie-banners-promo-header = Evästeilmoitukset poistukaa!
+about-private-browsing-cookie-banners-promo-button = Vähennä evästeisiin liittyviä ilmoituksia
+about-private-browsing-cookie-banners-promo-message = Anna { -brand-short-name }in vastata automaattisesti evästeiden ponnahduspyyntöihin, jotta selaaminen olisi mahdollisimman häiriötöntä. { -brand-short-name } hylkää kaikki pyynnöt, jos mahdollista.
+# Simplified version of the headline if the original text doesn't work
+# in your language: `{ -brand-short-name } will show fewer cookie requests`
+about-private-browsing-cookie-banners-promo-heading = { -brand-short-name } huolehtii evästeilmoituksista puolestasi
+about-private-browsing-cookie-banners-promo-body = Hylkäämme nyt automaattisesti monet evästeilmoitukset, jotta sinua voidaan seurata vähemmän ja voit palata häiriöttömään selaamiseen.
+
+## Strings for Felt Privacy v1 experiments in 119
+
+about-private-browsing-felt-privacy-v1-info-header = Älä jätä jälkiä tähän laitteeseen
+about-private-browsing-felt-privacy-v1-info-body = { -brand-short-name } poistaa evästeet, historian ja sivustotietosi, kun suljet kaikki yksityiset ikkunat.
+about-private-browsing-felt-privacy-v1-info-link = Kuka voi nähdä toimintani?
diff --git a/l10n-fi/browser/browser/aboutRestartRequired.ftl b/l10n-fi/browser/browser/aboutRestartRequired.ftl
new file mode 100644
index 0000000000..aaaced8f46
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutRestartRequired.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+restart-required-title = Uudelleenkäynnistys vaaditaan
+restart-required-heading = Käynnistä uudelleen jatkaaksesi { -brand-short-name }in käyttöä
+restart-required-intro = Päivitys { -brand-short-name }iin käynnistyi taustalla. Selain tulee käynnistää uudelleen päivityksen viimeistelemiseksi.
+window-restoration-info = Ikkunat ja välilehdet palautetaan, mutta yksityisiä ikkunoita ei.
+
+restart-button-label = Käynnistä { -brand-short-name } uudelleen
diff --git a/l10n-fi/browser/browser/aboutRobots.ftl b/l10n-fi/browser/browser/aboutRobots.ftl
new file mode 100644
index 0000000000..0d680246d6
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutRobots.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+
+### These strings are used in the about:robots page, which ties in with the
+### robots theme used in the Firefox 3 Beta 2/3 first run pages.
+### They're just meant to be fun and whimsical, with references to some geeky
+### but well-known robots in movies and books. Be creative with translations!
+
+# Nonsense line from the movie "The Day The Earth Stood Still". No translation needed.
+page-title = Gort! Klaatu barada nikto!
+# Movie: Logan's Run... Box (cyborg): "Welcome Humans! I am ready for you."
+error-title-text = Tervetuloa ihmiset!
+# Movie: The Day The Earth Stood Still. Spoken by Klaatu.
+error-short-desc-text = Tulemme luoksenne rauhanomaisin ja hyvin aikein!
+# Various books by Isaac Asimov. http://en.wikipedia.org/wiki/Three_Laws_of_Robotics
+error-long-desc1 = Robotti ei saa vahingoittaa ihmistä, eikä laiminlyönnin johdosta saattaa tätä vahingoittumaan.
+# Movie: Blade Runner. Batty: "I've seen things you people wouldn’t believe..."
+error-long-desc2 = Robotit ovat nähneet asioita, joita te ihmiset ette uskoisi.
+# Book: Hitchhiker’s Guide To The Galaxy. What the Sirius Cybernetics Corporation calls robots.
+error-long-desc3 = Robotit ovat muovikavereita, joiden kanssa viihtyy.
+# TV: Futurama. Bender's first line is "Bite my shiny metal ass."
+error-long-desc4 = Roboteilla on kiiltävä metallinen takamus, jota ei saa purra.
+# TV: Battlestar Galactica (2004 series). From the opening text.
+error-trailer-desc-text = Ja heillä on suunnitelma.
+# Book: Hitchhiker's Guide To The Galaxy. Arthur presses a button and it warns him.
+error-try-again = Yritä uudestaan
+ .label2 = Älä paina tätä nappia uudestaan.
diff --git a/l10n-fi/browser/browser/aboutSessionRestore.ftl b/l10n-fi/browser/browser/aboutSessionRestore.ftl
new file mode 100644
index 0000000000..d6e4308fa8
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutSessionRestore.ftl
@@ -0,0 +1,51 @@
+# 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/.
+
+restore-page-tab-title = Istunnon palauttaminen
+
+# The title is intended to be apologetic and disarming, expressing dismay
+# and regret that we are unable to restore the session for the user
+restore-page-error-title = Sivujasi ei oikein saada palautettua.
+restore-page-problem-desc = Viime selausistunnon palauttamisessa on ongelmia. Yritä uudestaan valitsemalla Palauta istunto.
+restore-page-try-this = Eikö istunnon palauttaminen onnistu vieläkään? Joskus yksittäinen välilehti voi aiheuttaa ongelman. Katsele aiempia välilehtiä, poista valinta tarpeettomista välilehdistä ja palauta sitten.
+
+restore-page-hide-tabs = Piilota aiemmat välilehdet
+restore-page-show-tabs = Näytä aiemmat välilehdet
+
+# When tabs are distributed across multiple windows, this message is used as a
+# header above the group of tabs for each window.
+#
+# Variables:
+# $windowNumber: Progressive number associated to each window
+restore-page-window-label = Ikkuna { $windowNumber }
+
+restore-page-restore-header =
+ .label = Palauta
+
+restore-page-list-header =
+ .label = Ikkunat ja välilehdet
+
+restore-page-try-again-button =
+ .label = Palauta istunto
+ .accesskey = P
+
+restore-page-close-button =
+ .label = Aloita uusi istunto
+ .accesskey = A
+
+## The following strings are used in about:welcomeback
+
+welcome-back-tab-title = Valmista!
+welcome-back-page-title = Valmista!
+welcome-back-page-info = { -brand-short-name } on valmis käytettäväksi.
+
+welcome-back-restore-button =
+ .label = Palauta!
+ .accesskey = P
+
+welcome-back-restore-all-label = Palauta kaikki ikkunat ja välilehdet
+welcome-back-restore-some-label = Palauta vain haluamasi
+
+welcome-back-page-info-link = Lisäosasi ja selaimen muokkaukset on poistettu ja selaimen oletusasetukset on palautettu. Jos tämä ei korjannut ongelmaa, <a data-l10n-name="link-more">lue lisää, mitä on tehtävissä.</a>
+
diff --git a/l10n-fi/browser/browser/aboutTabCrashed.ftl b/l10n-fi/browser/browser/aboutTabCrashed.ftl
new file mode 100644
index 0000000000..73a46464c3
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutTabCrashed.ftl
@@ -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/.
+
+crashed-title = Välilehden kaatumisen ilmoitus
+crashed-close-tab-button = Sulje välilehti
+crashed-restore-tab-button = Palauta välilehti
+crashed-restore-all-button = Palauta kaikki kaatuneet välilehdet
+crashed-header = Välilehti kaatui.
+crashed-offer-help = Voimme auttaa!
+crashed-single-offer-help-message = Lataa sivu uudestaan valitsemalla { crashed-restore-tab-button }.
+crashed-multiple-offer-help-message = Lataa sivu tai sivut uudestaan valitsemalla { crashed-restore-tab-button } tai { crashed-restore-all-button }.
+crashed-request-help = Autatko meitä?
+crashed-request-help-message = Kaatumisilmoitukset auttavat meitä tunnistamaan ongelmia ja tekemään { -brand-short-name }ista paremman.
+crashed-request-report-title = Ilmoita tästä välilehdestä
+crashed-send-report-2 = Lähetä automatisoitu kaatumisilmoitus, jotta voimme korjata tällaisia ongelmia
+crashed-comment =
+ .placeholder = Vapaaehtoisia kommentteja (kommentit ovat julkisia)
+crashed-include-URL-2 = Liitä mukaan { -brand-short-name }in kaatuessa auki olleiden sivustojen osoitteet
+crashed-report-sent = Kaatumisilmoitus on jo lähetetty. Kiitos avustasi { -brand-short-name }in kehittämiseksi!
+crashed-request-auto-submit-title = Ilmoita taustalla olevista välilehdistä
+crashed-auto-submit-checkbox-2 = Päivitä asetukset lähettämään ilmoitukset automaattisesti, kun { -brand-short-name } kaatuu
diff --git a/l10n-fi/browser/browser/aboutUnloads.ftl b/l10n-fi/browser/browser/aboutUnloads.ftl
new file mode 100644
index 0000000000..d5d4b556d8
--- /dev/null
+++ b/l10n-fi/browser/browser/aboutUnloads.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Strings used in about:unloads, allowing users to manage the "tab unloading"
+### feature.
+
+about-unloads-page-title = Välilehtien latauksen purkaminen
+about-unloads-intro =
+ { -brand-short-name } sisältää ominaisuuden, joka purkaa välilehtien latauksen automaattisesti
+ estääkseen sovelluksen kaatumisen riittämättömän muistin vuoksi,
+ kun järjestelmän käytettävissä oleva muisti on vähissä. Seuraava välilehti, jonka lataus puretaan, on
+ valittu useiden ominaisuuksien perusteella. Tämä sivu näyttää kuinka
+ { -brand-short-name } priorisoi välilehdet ja minkä välilehden lataus puretaan
+ kun välilehtien purkaminen käynnistyy. Voit käynnistää välilehtien purkamisen manuaalisesti
+ napsauttamalla alla olevaa <em>Pura lataus</em> -painiketta.
+
+# The link points to a Firefox documentation page, only available in English,
+# with title "Tab Unloading"
+about-unloads-learn-more = Tästä sivusta ja ominaisuudesta voi lukea lisää englanniksi sivulla <a data-l10n-name="doc-link">Tab Unloading</a>.
+
+about-unloads-last-updated = Viimeksi päivitetty: { DATETIME($date, year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: "false") }
+about-unloads-button-unload = Pura lataus
+ .title = Pura sen välilehden lataus, jolla on suurin tärkeysaste
+about-unloads-no-unloadable-tab = Ei välilehtiä, joiden lataus purkaa.
+
+about-unloads-column-priority = Tärkeysaste
+about-unloads-column-host = Sivusto
+about-unloads-column-last-accessed = Viimeksi käytetty
+about-unloads-column-weight = Pääpaino
+ .title = Välilehdet järjestetään ensin tämän arvon perusteella. Arvo perustuu erikoisominaisuuksiin, kuten äänen toistamiseen, WebRTC:n käyttöön jne.
+about-unloads-column-sortweight = Toissijainen paino
+ .title = Jos arvo on saatavilla, välilehdet järjestetään tämän arvon perusteella sen jälkeen, kun ne on ensin järjestetty pääpainon perusteella. Arvo perustuu välilehden muistinkäyttöön ja prosessien määrään.
+about-unloads-column-memory = Muisti
+ .title = Välilehden arvioitu muistinkäyttö
+about-unloads-column-processes = Prosessitunnisteet
+ .title = Välilehden sisältöä isännöivien prosessien tunnisteet
+
+about-unloads-last-accessed = { DATETIME($date, year: "numeric", month: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: "false") }
+about-unloads-memory-in-mb = { NUMBER($mem, maxFractionalUnits: 2) } Mt
+about-unloads-memory-in-mb-tooltip =
+ .title = { NUMBER($mem, maxFractionalUnits: 2) } Mt
diff --git a/l10n-fi/browser/browser/accounts.ftl b/l10n-fi/browser/browser/accounts.ftl
new file mode 100644
index 0000000000..e2ff79a4c5
--- /dev/null
+++ b/l10n-fi/browser/browser/accounts.ftl
@@ -0,0 +1,106 @@
+# 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/.
+
+# Used as the FxA toolbar menu item value when user has not
+# finished setting up an account.
+account-finish-account-setup = Viimeistele tilin käyttöönotto
+
+# Used as the FxA toolbar menu item title when the user
+# needs to reconnect their account.
+account-disconnected2 = Tilin yhteys katkaistu
+
+# Menu item that sends a tab to all synced devices.
+account-send-to-all-devices = Lähetä kaikkiin laitteisiin
+
+# Menu item that links to the Firefox Accounts settings for connected devices.
+account-manage-devices = Hallitse laitteita…
+
+## Variables:
+## $email (String): = Email address of user's Firefox Account.
+
+account-reconnect = Yhdistä { $email } uudestaan
+account-verify = Vahvista { $email }
+
+## Displayed in the Send Tab/Page/Link to Device context menu when right clicking a tab, a page or a link.
+
+account-send-to-all-devices-titlecase = Lähetä kaikkiin laitteisiin
+account-manage-devices-titlecase = Hallitse laitteita…
+
+## Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+## and the account has only 1 device connected.
+
+# Redirects to a marketing page.
+account-send-tab-to-device-singledevice-status = Ei yhdistettyjä laitteita
+
+# Redirects to a marketing page.
+account-send-tab-to-device-singledevice-learnmore = Lue välilehtien lähettämisestä…
+
+# Redirects to an FxAccounts page that tells to you to connect another device.
+account-send-tab-to-device-connectdevice = Yhdistä toinen laite…
+
+## Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+## and the Sync account is unverified. Redirects to the Sync preferences page.
+
+account-send-tab-to-device-verify-status = Tiliä ei vahvistettu
+account-send-tab-to-device-verify = Vahvista tili…
+
+## These strings are used in a notification shown when a new device joins the Firefox account.
+
+# The title shown in a notification when either this device or another device
+# has connected to, or disconnected from, a Firefox account.
+account-connection-title = { -fxaccount-brand-name(capitalization: "title") }
+
+# Variables:
+# $deviceName (String): the name of the new device
+account-connection-connected-with = Tämä tietokone on nyt yhdistetty laitteeseen { $deviceName }.
+
+# Used when the name of the new device is not known.
+account-connection-connected-with-noname = Tämä tietokone on nyt yhdistetty uuteen laitteeseen.
+
+# Used in a notification shown after a Firefox account is connected to the current device.
+account-connection-connected = Olet kirjautunut sisään
+
+# Used in a notification shown after the Firefox account was disconnected remotely.
+account-connection-disconnected = Tämä tietokone on kytketty irti tilistä.
+
+## These strings are used in a notification shown when we're opening
+## a single tab another device sent us to display.
+## The body for this notification is the URL of the received tab.
+
+account-single-tab-arriving-title = Välilehti vastaanotettu
+# Variables:
+# $deviceName (String): the device name.
+account-single-tab-arriving-from-device-title = Välilehti laitteelta { $deviceName }
+
+# Used when a tab from a remote device arrives but the URL must be truncated.
+# Should display the URL with an indication that it's been truncated.
+# Variables:
+# $url (String): the portion of the URL that remains after truncation.
+account-single-tab-arriving-truncated-url = { $url }…
+
+## These strings are used in a notification shown when we're opening
+## multiple tabs another device or devices sent us to display.
+## Variables:
+## $tabCount (Number): the number of tabs received
+
+account-multiple-tabs-arriving-title = Välilehtiä vastaanotettu
+
+# Variables:
+# $deviceName (String): the device name.
+account-multiple-tabs-arriving-from-single-device =
+ { $tabCount ->
+ [one] { $tabCount } välilehti on saapunut laitteelta { $deviceName }
+ *[other] { $tabCount } välilehteä on saapunut laitteelta { $deviceName }
+ }
+account-multiple-tabs-arriving-from-multiple-devices =
+ { $tabCount ->
+ [one] { $tabCount } välilehti on saapunut laitteiltasi
+ *[other] { $tabCount } välilehteä on saapunut laitteiltasi
+ }
+# This version is used when we don't know any device names.
+account-multiple-tabs-arriving-from-unknown-device =
+ { $tabCount ->
+ [one] { $tabCount } välilehti on saapunut
+ *[other] { $tabCount } välilehteä on saapunut
+ }
diff --git a/l10n-fi/browser/browser/addonNotifications.ftl b/l10n-fi/browser/browser/addonNotifications.ftl
new file mode 100644
index 0000000000..e3055a5ebe
--- /dev/null
+++ b/l10n-fi/browser/browser/addonNotifications.ftl
@@ -0,0 +1,132 @@
+# 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/.
+
+xpinstall-prompt = { -brand-short-name } esti sivustoa avaamasta ohjelmien asennusikkunaa.
+
+## Variables:
+## $host (String): The hostname of the site the add-on is being installed from.
+
+xpinstall-prompt-header = Saako { $host } asentaa lisäosan?
+xpinstall-prompt-message = Olet aikeissa asentaa lisäosan sivustolta { $host }. Varmistu sivuston luotettavuudesta, ennen kuin jatkat.
+
+##
+
+xpinstall-prompt-header-unknown = Saako tuntematon sivusto asentaa lisäosan?
+xpinstall-prompt-message-unknown = Olet aikeissa asentaa lisäosan tuntemattomalta sivustolta. Varmistu tämän sivuston luotettavuudesta ennen kuin jatkat.
+
+xpinstall-prompt-dont-allow =
+ .label = Älä salli
+ .accesskey = Ä
+xpinstall-prompt-never-allow =
+ .label = Älä salli koskaan
+ .accesskey = k
+# Long text in this context make the dropdown menu extend awkwardly to the left,
+# avoid a localization that's significantly longer than the English version.
+xpinstall-prompt-never-allow-and-report =
+ .label = Ilmoita epäilyttävästä sivustosta
+ .accesskey = R
+# Accessibility Note:
+# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button)
+# See https://website-archive.mozilla.org/www.mozilla.org/access/access/keyboard/ for details
+xpinstall-prompt-install =
+ .label = Jatka asennukseen
+ .accesskey = a
+
+# These messages are shown when a website invokes navigator.requestMIDIAccess.
+
+site-permission-install-first-prompt-midi-header = Tämä sivusto pyytää pääsyä MIDI-laitteisiisi (Musical Instrument Digital Interface). Pääsy laitteeseen voidaan ottaa käyttöön asentamalla lisäosa.
+site-permission-install-first-prompt-midi-message = Tämän pääsyn turvallisuutta ei taata. Jatka vain, jos luotat tähän sivustoon.
+
+##
+
+xpinstall-disabled-locked = Järjestelmän ylläpitäjä on estänyt ohjelmien asentamisen.
+xpinstall-disabled = Ohjelmien asentaminen on tällä hetkellä estetty. Ota se käyttöön napsauttamalla saman nimistä painiketta.
+xpinstall-disabled-button =
+ .label = Ota käyttöön
+ .accesskey = k
+
+# This message is shown when the installation of an add-on is blocked by enterprise policy.
+# Variables:
+# $addonName (String): the name of the add-on.
+# $addonId (String): the ID of add-on.
+addon-install-blocked-by-policy = { $addonName } ({ $addonId }) on järjestelmänvalvojasi estämä.
+# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy.
+addon-domain-blocked-by-policy = Järjestelmänvalvojasi esti tätä sivustoa pyytämästä sinua asentamaan ohjelmistoja tietokoneellesi.
+addon-install-full-screen-blocked = Lisäosien asennus ei ole sallittu koko näytön tilassa tai ennen koko näytön tilaan siirtymistä.
+
+# Variables:
+# $addonName (String): the localized name of the sideloaded add-on.
+webext-perms-sideload-menu-item = { $addonName } lisätty { -brand-short-name }iin
+# Variables:
+# $addonName (String): the localized name of the extension which has been updated.
+webext-perms-update-menu-item = { $addonName } vaatii uusia oikeuksia
+
+# This message is shown when one or more extensions have been imported from a
+# different browser into Firefox, and the user needs to complete the import to
+# start these extensions. This message is shown in the appmenu.
+webext-imported-addons = Viimeistele { -brand-short-name }iin tuotujen laajennusten asennus
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = Poistetaanko { $name }?
+# Variables:
+# $name (String): the name of the extension which is about to be removed.
+addon-removal-message = Poistetaanko ”{ $name }” { -brand-shorter-name }-selaimesta?
+addon-removal-button = Poista
+addon-removal-abuse-report-checkbox = Raportoi tämä laajennus { -vendor-short-name }lle
+
+# Variables:
+# $addonCount (Number): the number of add-ons being downloaded
+addon-downloading-and-verifying =
+ { $addonCount ->
+ [one] Ladataan ja varmennetaan lisäosaa…
+ *[other] Ladataan ja varmennetaan { $addonCount } lisäosaa…
+ }
+addon-download-verifying = Varmennetaan
+
+addon-install-cancel-button =
+ .label = Peruuta
+ .accesskey = P
+addon-install-accept-button =
+ .label = Lisää
+ .accesskey = L
+
+## Variables:
+## $addonCount (Number): the number of add-ons being installed
+
+addon-confirm-install-message =
+ { $addonCount ->
+ [one] Tämä sivusto haluaa asentaa lisäosan { -brand-short-name }iin:
+ *[other] Tämä sivusto haluaa asentaa { $addonCount } lisäosaa { -brand-short-name }iin:
+ }
+addon-confirm-install-unsigned-message =
+ { $addonCount ->
+ [one] Varoitus: Tämä sivusto haluaa asentaa varmentamattoman lisäosan { -brand-short-name }iin. Huomioi riskit ennen kuin jatkat.
+ *[other] Varoitus: Tämä sivusto haluaa asentaa { $addonCount } varmentamatonta lisäosaa { -brand-short-name }iin. Huomioi riskit ennen kuin jatkat.
+ }
+# Variables:
+# $addonCount (Number): the number of add-ons being installed (at least 2)
+addon-confirm-install-some-unsigned-message = Varoitus: Tämä sivusto haluaa asentaa { $addonCount } lisäosaa { -brand-short-name }iin, joista osa on varmentamattomia. Huomioi riskit ennen kuin jatkat.
+
+## Add-on install errors
+## Variables:
+## $addonName (String): the add-on name.
+
+addon-install-error-network-failure = Lisäosaa ei voitu ladata yhteysvirheen takia.
+addon-install-error-incorrect-hash = Lisäosaa ei voitu asentaa, koska se ei vastaa { -brand-short-name }in odottamaa lisäosaa.
+addon-install-error-corrupt-file = Ladattua lisäosaa ei voitu asentaa, koska asennuspaketti on virheellinen.
+addon-install-error-file-access = Lisäosaa { $addonName } ei voitu asentaa, koska { -brand-short-name } ei voi muokata tarvittavaa tiedostoa.
+addon-install-error-not-signed = { -brand-short-name } esti tätä sivustoa asentamasta varmentamatonta lisäosaa.
+addon-install-error-invalid-domain = Lisäosaa { $addonName } ei voi asentaa tästä sijainnista.
+addon-local-install-error-network-failure = Tätä lisäosaa ei voitu asentaa tiedostojärjestelmävirheen vuoksi.
+addon-local-install-error-incorrect-hash = Tätä lisäosaa ei voitu asentaa koska se ei vastaa { -brand-short-name }in odottamaa lisäosaa.
+addon-local-install-error-corrupt-file = Tätä lisäosaa ei voitu asentaa koska lisäosapaketti on ilmeisesti vaurioitunut.
+addon-local-install-error-file-access = Lisäosaa { $addonName } ei voitu asentaa, koska { -brand-short-name } ei pysty muokkaamaan vaadittua tiedostoa.
+addon-local-install-error-not-signed = Tätä lisäosaa ei voitu asentaa koska sitä ei ole varmennettu.
+# Variables:
+# $appVersion (String): the application version.
+addon-install-error-incompatible = Lisäosaa { $addonName } ei voitu asentaa, koska lisäosa ei ole yhteensopiva { -brand-short-name }in version { $appVersion } kanssa.
+addon-install-error-blocklisted = { $addonName } ei voitu asentaa, koska sen on raportoitu aiheuttavan vakaus- tai tietosuojaongelmia.
diff --git a/l10n-fi/browser/browser/allTabsMenu.ftl b/l10n-fi/browser/browser/allTabsMenu.ftl
new file mode 100644
index 0000000000..82433baa0a
--- /dev/null
+++ b/l10n-fi/browser/browser/allTabsMenu.ftl
@@ -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/.
+
+# "Search" is a verb, as in "Search through tabs".
+all-tabs-menu-search-tabs =
+ .label = Etsi välilehtiä
+
+all-tabs-menu-new-user-context =
+ .label = Uusi eristetty välilehti
+
+all-tabs-menu-hidden-tabs =
+ .label = Piilotetut välilehdet
+
+all-tabs-menu-manage-user-context =
+ .label = Muokkaa eristystiloja
+ .accesskey = M
diff --git a/l10n-fi/browser/browser/appExtensionFields.ftl b/l10n-fi/browser/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..6a967fec12
--- /dev/null
+++ b/l10n-fi/browser/browser/appExtensionFields.ftl
@@ -0,0 +1,31 @@
+# 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/.
+
+
+## Theme names and descriptions used in the Themes panel in about:addons
+
+# "Auto" is short for automatic. It can be localized without limitations.
+extension-default-theme-name-auto = Järjestelmän teema — automaattinen
+extension-default-theme-description = Seuraa käyttöjärjestelmän asetuksia painikkeille, valikoille ja ikkunoille.
+
+extension-firefox-compact-light-name = Vaalea
+extension-firefox-compact-light-description = Teema vaalealla värimaailmalla.
+
+extension-firefox-compact-dark-name = Tumma
+extension-firefox-compact-dark-description = Teema tummalla värimaailmalla.
+
+extension-firefox-alpenglow-name = Firefox Alpenglow
+extension-firefox-alpenglow-description = Käytä värikästä ulkoasua painikkeissa, valikoissa ja ikkunoissa.
+
+## Colorway Themes
+## These themes are variants of a colorway. The colorway is specified in the
+## $colorway-name variable.
+## Variables
+## $colorway-name (String) The name of a colorway (e.g. Graffiti, Elemental).
+
+extension-colorways-soft-name = { $colorway-name } — Kevyt
+extension-colorways-balanced-name = { $colorway-name } — Tasapainotettu
+# "Bold" is used in the sense of bravery or courage, not in the sense of
+# emphasized text.
+extension-colorways-bold-name = { $colorway-name } — Rohkea
diff --git a/l10n-fi/browser/browser/appMenuNotifications.ftl b/l10n-fi/browser/browser/appMenuNotifications.ftl
new file mode 100644
index 0000000000..734de12cbc
--- /dev/null
+++ b/l10n-fi/browser/browser/appMenuNotifications.ftl
@@ -0,0 +1,66 @@
+# 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/.
+
+appmenu-update-available2 =
+ .label = Päivitys saatavilla
+ .buttonlabel = Lataa
+ .buttonaccesskey = L
+ .secondarybuttonlabel = Hylkää
+ .secondarybuttonaccesskey = H
+appmenu-update-available-message2 = Lataa uusin { -brand-shorter-name }-versio.
+appmenu-update-manual2 =
+ .label = Päivitys saatavilla
+ .buttonlabel = Lataa
+ .buttonaccesskey = L
+ .secondarybuttonlabel = Hylkää
+ .secondarybuttonaccesskey = H
+appmenu-update-manual-message2 = { -brand-shorter-name } ei onnistunut päivittymään automaattisesti. Lataa uusi versio – et menetä tallennettuja tietoja tai mukautuksia.
+appmenu-update-unsupported2 =
+ .label = Päivitys ei onnistu
+ .buttonlabel = Lue lisää
+ .buttonaccesskey = L
+ .secondarybuttonlabel = Hylkää
+ .secondarybuttonaccesskey = H
+appmenu-update-unsupported-message2 = Käyttöjärjestelmäsi ei ole yhteensopiva uusimman { -brand-shorter-name }-version kanssa.
+appmenu-update-restart2 =
+ .label = Päivitys saatavilla
+ .buttonlabel = Päivitä ja käynnistä uudelleen
+ .buttonaccesskey = P
+ .secondarybuttonlabel = Hylkää
+ .secondarybuttonaccesskey = H
+appmenu-update-restart-message2 = Lataa uusin { -brand-shorter-name }-versio. Avoimet välilehdet ja ikkunat palautetaan.
+appmenu-update-other-instance =
+ .label = { -brand-shorter-name } ei pysty automaattisesti päivittymään uusimpaan versioon.
+ .buttonlabel = Päivitä { -brand-shorter-name } silti
+ .buttonaccesskey = P
+ .secondarybuttonlabel = Ei nyt
+ .secondarybuttonaccesskey = E
+appmenu-update-other-instance-message = Uusi { -brand-shorter-name }-päivitys on saatavilla, mutta sitä ei voida asentaa, koska toinen { -brand-shorter-name }-kopio on käynnissä. Sulje se ennen päivittämistä tai valitse, että päivitetään silti (jolloin toinen kopio ei välttämättä toimi oikein ennen uudelleenkäynnistystä).
+
+appmenu-addon-private-browsing-installed2 =
+ .buttonlabel = OK
+ .buttonaccesskey = O
+appmenu-addon-post-install-message3 = Hallitse omia lisäosia ja teemoja sovellusvalikosta.
+appmenu-addon-post-install-incognito-checkbox =
+ .label = Salli laajennuksen suoritus yksityisissä ikkunoissa
+ .accesskey = a
+
+appmenu-new-tab-controlled-changes =
+ .label = Uusi välilehti -sivu on vaihtunut.
+ .buttonlabel = Säilytä muutokset
+ .buttonaccesskey = S
+ .secondarybuttonlabel = Hallitse uusia välilehtiä
+ .secondarybuttonaccesskey = H
+appmenu-homepage-controlled-changes =
+ .label = Aloitussivusi on muuttunut.
+ .buttonlabel = Säilytä muutokset
+ .buttonaccesskey = S
+ .secondarybuttonlabel = Hallitse aloitussivua
+ .secondarybuttonaccesskey = H
+appmenu-tab-hide-controlled =
+ .label = Piilotettujen välilehtien käyttäminen
+ .buttonlabel = Pidä välilehdet piilossa
+ .buttonaccesskey = P
+ .secondarybuttonlabel = Poista laajennus käytöstä
+ .secondarybuttonaccesskey = k
diff --git a/l10n-fi/browser/browser/appmenu.ftl b/l10n-fi/browser/browser/appmenu.ftl
new file mode 100644
index 0000000000..c9da15c6f5
--- /dev/null
+++ b/l10n-fi/browser/browser/appmenu.ftl
@@ -0,0 +1,259 @@
+# 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/.
+
+
+## App Menu
+
+appmenuitem-banner-update-downloading =
+ .label = Ladataan { -brand-shorter-name }-päivitystä
+appmenuitem-banner-update-available =
+ .label = Päivitys saatavilla – lataa nyt
+appmenuitem-banner-update-manual =
+ .label = Päivitys saatavilla – lataa nyt
+appmenuitem-banner-update-unsupported =
+ .label = Päivitys ei onnistu – järjestelmä ei yhteensopiva
+appmenuitem-banner-update-restart =
+ .label = Päivitys saatavilla – käynnistä uudelleen
+appmenuitem-new-tab =
+ .label = Uusi välilehti
+appmenuitem-new-window =
+ .label = Uusi ikkuna
+appmenuitem-new-private-window =
+ .label = Uusi yksityinen ikkuna
+appmenuitem-history =
+ .label = Sivuhistoria
+appmenuitem-downloads =
+ .label = Lataukset
+appmenuitem-passwords =
+ .label = Salasanat
+appmenuitem-addons-and-themes =
+ .label = Lisäosat ja teemat
+appmenuitem-print =
+ .label = Tulosta…
+appmenuitem-find-in-page =
+ .label = Etsi sivulta…
+appmenuitem-translate =
+ .label = Käännä sivu…
+appmenuitem-zoom =
+ .value = Sivun suurennus
+appmenuitem-more-tools =
+ .label = Lisää työkaluja
+appmenuitem-help =
+ .label = Ohje
+appmenuitem-exit2 =
+ .label =
+ { PLATFORM() ->
+ [linux] Sulje selain
+ *[other] Sulje selain
+ }
+appmenu-menu-button-closed2 =
+ .tooltiptext = Avaa sovellusvalikko
+ .label = { -brand-short-name }
+appmenu-menu-button-opened2 =
+ .tooltiptext = Sulje sovellusvalikko
+ .label = { -brand-short-name }
+# Settings is now used to access the browser settings across all platforms,
+# instead of Options or Preferences.
+appmenuitem-settings =
+ .label = Asetukset
+
+## Zoom and Fullscreen Controls
+
+appmenuitem-zoom-enlarge =
+ .label = Lähennä
+appmenuitem-zoom-reduce =
+ .label = Loitonna
+appmenuitem-fullscreen =
+ .label = Koko näytön tila
+
+## Firefox Account toolbar button and Sync panel in App menu.
+
+appmenu-remote-tabs-sign-into-sync =
+ .label = Kirjaudu synkronoidaksesi…
+appmenu-remote-tabs-turn-on-sync =
+ .label = Ota synkronointi käyttöön…
+# This is shown after the tabs list if we can display more tabs by clicking on the button
+appmenu-remote-tabs-showmore =
+ .label = Näytä lisää välilehtiä
+ .tooltiptext = Näytä lisää välilehtiä tältä laitteelta
+# This is shown beneath the name of a device when that device has no open tabs
+appmenu-remote-tabs-notabs = Ei avoimia välilehtiä
+# This is shown when Sync is configured but syncing tabs is disabled.
+appmenu-remote-tabs-tabsnotsyncing = Ota välilehtien synkronointi käyttöön, jotta voit katsella listaa muiden laitteidesi välilehdistä.
+appmenu-remote-tabs-opensettings =
+ .label = Asetukset
+# This is shown when Sync is configured but this appears to be the only device attached to
+# the account. We also show links to download Firefox for android/ios.
+appmenu-remote-tabs-noclients = Haluatko nähdä muiden laitteiden välilehdet tässä?
+appmenu-remote-tabs-connectdevice =
+ .label = Yhdistä toinen laite
+appmenu-remote-tabs-welcome = Näytä lista välilehdistä muilta laitteiltasi.
+appmenu-remote-tabs-unverified = Tilisi tarvitsee vahvistaa.
+appmenuitem-fxa-toolbar-sync-now2 = Synkronoi nyt
+appmenuitem-fxa-sign-in = Kirjaudu { -brand-product-name }iin
+appmenuitem-fxa-manage-account = Hallinnoi tiliä
+appmenu-fxa-header2 = { -fxaccount-brand-name }
+appmenu-account-header = Tili
+# Variables
+# $time (string) - Localized relative time since last sync (e.g. 1 second ago,
+# 3 hours ago, etc.)
+appmenu-fxa-last-sync = Viimeksi synkronoitu { $time }
+ .label = Viimeksi synkronoitu { $time }
+appmenu-fxa-sync-and-save-data2 = Synkronoi ja tallenna tiedot
+appmenu-fxa-signed-in-label = Kirjaudu
+appmenu-fxa-setup-sync =
+ .label = Ota synkronointi käyttöön…
+appmenuitem-save-page =
+ .label = Tallenna sivu nimellä…
+
+## What's New panel in App menu.
+
+whatsnew-panel-header = Mitä uutta
+# Checkbox displayed at the bottom of the What's New panel, allowing users to
+# enable/disable What's New notifications.
+whatsnew-panel-footer-checkbox =
+ .label = Ilmoita uusista ominaisuuksista
+ .accesskey = m
+
+## The Firefox Profiler – The popup is the UI to turn on the profiler, and record
+## performance profiles. To enable it go to profiler.firefox.com and click
+## "Enable Profiler Menu Button".
+
+profiler-popup-button-idle =
+ .label = Profiler
+ .tooltiptext = Record a performance profile
+profiler-popup-button-recording =
+ .label = Profiloija
+ .tooltiptext = Profiloija nauhoittaa profiilia
+profiler-popup-button-capturing =
+ .label = Profiloija
+ .tooltiptext = Profiloija kaappaa profiilia
+profiler-popup-header-text = { -profiler-brand-name }
+profiler-popup-reveal-description-button =
+ .aria-label = Näytä lisätietoja
+profiler-popup-description-title =
+ .value = Tallenna, analysoi, jaa
+profiler-popup-description = Työskentele suorituskykyongelmien parissa yhdessä julkaisemalla profiileita ja jakamalla niitä tiimin kanssa.
+profiler-popup-learn-more-button =
+ .label = Lue lisää
+profiler-popup-settings =
+ .value = Asetukset
+# This link takes the user to about:profiling, and is only visible with the Custom preset.
+profiler-popup-edit-settings-button =
+ .label = Muokkaa asetuksia…
+profiler-popup-recording-screen = Tallennetaan…
+profiler-popup-start-recording-button =
+ .label = Aloita tallennus
+profiler-popup-discard-button =
+ .label = Hylkää
+profiler-popup-capture-button =
+ .label = Kaappaa
+profiler-popup-start-shortcut =
+ { PLATFORM() ->
+ [macos] ⌃⇧1
+ *[other] Ctrl+Shift+1
+ }
+profiler-popup-capture-shortcut =
+ { PLATFORM() ->
+ [macos] ⌃⇧2
+ *[other] Ctrl+Shift+2
+ }
+
+## Profiler presets
+## They are shown in the popup's select box.
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# Please take care that the same values are also defined in devtools' perftools.ftl.
+
+profiler-popup-presets-web-developer-description = Suositeltu esiasetus suurimpaan osaan verkkosovellusten vianjäljityksessä.
+profiler-popup-presets-web-developer-label =
+ .label = Web-kehittäjä
+profiler-popup-presets-firefox-description = Suositeltu esiasetus { -brand-shorter-name }in profilointiin.
+profiler-popup-presets-firefox-label =
+ .label = { -brand-shorter-name }
+profiler-popup-presets-graphics-description = Esiasetus grafiikkavirheiden tutkimiseen { -brand-shorter-name }issa.
+profiler-popup-presets-graphics-label =
+ .label = Grafiikka
+profiler-popup-presets-media-description2 = Esiasetus ääni- ja videovirheiden tutkimiseen { -brand-shorter-name }issa.
+profiler-popup-presets-media-label =
+ .label = Media
+profiler-popup-presets-networking-description = Esiasetus verkkovirheiden tutkimiseen { -brand-shorter-name }issa.
+profiler-popup-presets-networking-label =
+ .label = Verkko
+profiler-popup-presets-power-description = Esiasetus virrankäyttöongelmien tutkimiseen { -brand-shorter-name }issa, vain pienellä sivuvaikutuksella.
+# "Power" is used in the sense of energy (electricity used by the computer).
+profiler-popup-presets-power-label =
+ .label = Virta
+profiler-popup-presets-custom-label =
+ .label = Mukautettu
+
+## History panel
+
+appmenu-manage-history =
+ .label = Hallitse historiaa
+appmenu-restore-session =
+ .label = Palauta edellinen istunto
+appmenu-clear-history =
+ .label = Poista viimeaikaisia historiatietoja…
+appmenu-recent-history-subheader = Viimeaikainen historia
+appmenu-recently-closed-tabs =
+ .label = Suljetut välilehdet
+appmenu-recently-closed-windows =
+ .label = Suljetut ikkunat
+# This allows to search through the browser's history.
+appmenu-search-history =
+ .label = Etsi historiasta
+
+## Help panel
+
+appmenu-help-header =
+ .title = { -brand-shorter-name }-ohje
+appmenu-about =
+ .label = Tietoja: { -brand-shorter-name }
+ .accesskey = T
+appmenu-get-help =
+ .label = Etsi ohjeita
+ .accesskey = h
+appmenu-help-more-troubleshooting-info =
+ .label = Lisää vianmääritystietoja
+ .accesskey = v
+appmenu-help-report-site-issue =
+ .label = Ilmoita sivuston ongelmasta…
+appmenu-help-share-ideas =
+ .label = Jaa ideoita ja palautetta…
+ .accesskey = d
+appmenu-help-switch-device =
+ .label = Uuteen laitteeseen vaihtaminen
+
+## appmenu-help-enter-troubleshoot-mode and appmenu-help-exit-troubleshoot-mode
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+appmenu-help-enter-troubleshoot-mode2 =
+ .label = Vianmääritystila…
+ .accesskey = m
+appmenu-help-exit-troubleshoot-mode =
+ .label = Poista vianmääritystila käytöstä
+ .accesskey = P
+
+## appmenu-help-report-deceptive-site and appmenu-help-not-deceptive
+## are mutually exclusive, so it's possible to use the same accesskey for both.
+
+appmenu-help-report-deceptive-site =
+ .label = Ilmoita petollinen sivusto…
+ .accesskey = p
+appmenu-help-not-deceptive =
+ .label = Tämä ei ole petollinen sivusto…
+ .accesskey = p
+
+## More Tools
+
+appmenu-customizetoolbar =
+ .label = Muokkaa työkalupalkkia…
+appmenu-developer-tools-subheader = Browser Tools
+appmenu-developer-tools-extensions =
+ .label = Extensions for Developers
+appmenuitem-report-broken-site =
+ .label = Ilmoita rikkinäisestä sivustosta
diff --git a/l10n-fi/browser/browser/backgroundtasks/defaultagent.ftl b/l10n-fi/browser/browser/backgroundtasks/defaultagent.ftl
new file mode 100644
index 0000000000..fbd8868305
--- /dev/null
+++ b/l10n-fi/browser/browser/backgroundtasks/defaultagent.ftl
@@ -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/.
+
+default-browser-agent-task-description = Oletusselainagentti-tehtävä tarkistaa, milloin oletus vaihtuu { -brand-short-name }-selaimesta toiseen selaimeen. Jos muutos on epäilyttävä, se kehottaa käyttäjää vaihtamaan takaisin { -brand-short-name }-selaimeen korkeintaan kaksi kertaa. { -brand-short-name } asentaa tehtävän automattisesti, ja päivitysten yhteydessä se asennetaan uudestaan. Tehtävän voi poistaa käytöstä muuttamalla ”default-browser-agent.enabled”-asetusta about:config-sivulla tai { -brand-short-name }-selaimen yrityskäytäntöasetusta ”DisableDefaultBrowserAgent”.
+default-browser-notification-header-text = Jatketaanko sovelluksen { -brand-short-name } käyttöä?
+default-browser-notification-body-text = Oletusselaimesi muutettiin äskettäin. Palauta { -brand-short-name } oletukseksi napauttamalla.
+default-browser-notification-yes-button-text = Kyllä
+default-browser-notification-no-button-text = Ei
diff --git a/l10n-fi/browser/browser/browser.ftl b/l10n-fi/browser/browser/browser.ftl
new file mode 100644
index 0000000000..3b1cc581f9
--- /dev/null
+++ b/l10n-fi/browser/browser/browser.ftl
@@ -0,0 +1,994 @@
+# 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/.
+
+
+## The main browser window's title
+
+# These are the default window titles everywhere except macOS.
+# .data-title-default and .data-title-private are used when the web content
+# opened has no title:
+#
+# default - "Mozilla Firefox"
+# private - "Mozilla Firefox (Private Browsing)"
+#
+# .data-content-title-default and .data-content-title-private are for use when
+# there *is* a content title.
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window-window-titles =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } Yksityinen selaus
+ .data-content-title-default = { $content-title } — { -brand-full-name }
+ .data-content-title-private = { $content-title } — { -brand-full-name } Yksityinen selaus
+# These are the default window titles on macOS.
+# .data-title-default and .data-title-private are used when the web content
+# opened has no title:
+#
+#
+# "default" - "Mozilla Firefox"
+# "private" - "Mozilla Firefox — (Private Browsing)"
+#
+# .data-content-title-default and .data-content-title-private are for use when
+# there *is* a content title.
+# Do not use the brand name in these, as we do on non-macOS.
+#
+# Also note the other subtle difference here: we use a `-` to separate the
+# brand name from `(Private Browsing)`, which does not happen on other OSes.
+#
+# Variables:
+# $content-title (String): the title of the web content.
+browser-main-window-mac-window-titles =
+ .data-title-default = { -brand-full-name }
+ .data-title-private = { -brand-full-name } — Yksityinen selaus
+ .data-content-title-default = { $content-title }
+ .data-content-title-private = { $content-title } — Yksityinen selaus
+# This gets set as the initial title, and is overridden as soon as we start
+# updating the titlebar based on loaded tabs or private browsing state.
+# This should match the `data-title-default` attribute in both
+# `browser-main-window` and `browser-main-window-mac`.
+browser-main-window-title = { -brand-full-name }
+# The non-variable portion of this MUST match the translation of
+# "PRIVATE_BROWSING_SHORTCUT_TITLE" in custom.properties
+private-browsing-shortcut-text-2 = { -brand-shortcut-name } - Yksityinen selaus
+
+##
+
+urlbar-identity-button =
+ .aria-label = Näytä sivuston tiedot
+
+## Tooltips for images appearing in the address bar
+
+urlbar-services-notification-anchor =
+ .tooltiptext = Avaa asentamisen viestipaneeli
+urlbar-web-notification-anchor =
+ .tooltiptext = Muuta sitä, voitko saada ilmoituksia tältä sivustolta
+urlbar-midi-notification-anchor =
+ .tooltiptext = Avaa MIDI-paneeli
+urlbar-eme-notification-anchor =
+ .tooltiptext = Hallinnoi DRM-ohjelmiston käyttöä
+urlbar-web-authn-anchor =
+ .tooltiptext = Avaa verkkotodennuksen paneeli
+urlbar-canvas-notification-anchor =
+ .tooltiptext = Hallinnoi kanvaksen sisällön lukemisen oikeutta
+urlbar-web-rtc-share-microphone-notification-anchor =
+ .tooltiptext = Hallinnoi mikrofonin jakamista sivustolle
+urlbar-default-notification-anchor =
+ .tooltiptext = Avaa viestipaneeli
+urlbar-geolocation-notification-anchor =
+ .tooltiptext = Avaa paikannustietojen pyyntöpaneeli
+urlbar-xr-notification-anchor =
+ .tooltiptext = Avaa virtuaalitodellisuuden käyttöoikeuspaneeli
+urlbar-storage-access-anchor =
+ .tooltiptext = Avaa selaamisen seuraamisoikeuden paneeli
+urlbar-web-rtc-share-screen-notification-anchor =
+ .tooltiptext = Hallinnoi ikkunoiden tai näytön jakamista sivustolle
+urlbar-indexed-db-notification-anchor =
+ .tooltiptext = Avaa verkkoyhteydettömän tilan tietovaraston viestipaneeli
+urlbar-password-notification-anchor =
+ .tooltiptext = Avaa salasanan tallentamisen viestipaneeli
+urlbar-plugins-notification-anchor =
+ .tooltiptext = Hallinnoi liitännäisen käyttöä
+urlbar-web-rtc-share-devices-notification-anchor =
+ .tooltiptext = Hallinnoi kameran tai mikrofonin jakamista sivustolle
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+urlbar-web-rtc-share-speaker-notification-anchor =
+ .tooltiptext = Hallinnoi muiden kaiuttimien jakamista sivuston kanssa
+urlbar-autoplay-notification-anchor =
+ .tooltiptext = Avaa automaattisen toiston paneeli
+urlbar-persistent-storage-notification-anchor =
+ .tooltiptext = Tallenna tietoja pysyvään tallennustilaan
+urlbar-addons-notification-anchor =
+ .tooltiptext = Avaa lisäosan asentamisen viestipaneeli
+urlbar-tip-help-icon =
+ .title = Apua ongelmiin
+urlbar-search-tips-confirm = Selvä
+urlbar-search-tips-confirm-short = Selvä
+# Read out before Urlbar Tip text content so screenreader users know the
+# subsequent text is a tip offered by the browser. It should end in a colon or
+# localized equivalent.
+urlbar-tip-icon-description =
+ .alt = Vinkki:
+urlbar-result-menu-button =
+ .title = Avaa valikko
+urlbar-result-menu-button-feedback = Palaute
+ .title = Avaa valikko
+urlbar-result-menu-learn-more =
+ .label = Lue lisää
+ .accesskey = L
+urlbar-result-menu-remove-from-history =
+ .label = Poista historiasta
+ .accesskey = R
+urlbar-result-menu-tip-get-help =
+ .label = Tuki
+ .accesskey = T
+
+## Prompts users to use the Urlbar when they open a new tab or visit the
+## homepage of their default search engine.
+## Variables:
+## $engineName (String): The name of the user's default search engine. e.g. "Google" or "DuckDuckGo".
+
+urlbar-search-tips-onboard = Kirjoita vähemmän, löydä enemmän: Hae hakukoneella { $engineName } suoraan osoitepalkista.
+urlbar-search-tips-redirect-2 = Aloita hakeminen osoitepalkista, niin näet ehdotukset palvelusta { $engineName } ja selaushistoriastasi.
+# Make sure to match the name of the Search panel in settings.
+urlbar-search-tips-persist = Haku yksinkertaistui. Yritä tarkentaa hakuasi täällä osoitepalkissa. Jos haluat haun sijaan näkyviin URL-osoitteen, siirry asetusten hakuosioon.
+# Prompts users to use the Urlbar when they are typing in the domain of a
+# search engine, e.g. google.com or amazon.com.
+urlbar-tabtosearch-onboard = Valitse tämä, niin löydät etsimäsi nopeammin.
+
+## Local search mode indicator labels in the urlbar
+
+urlbar-search-mode-bookmarks = Kirjanmerkit
+urlbar-search-mode-tabs = Välilehdet
+urlbar-search-mode-history = Historia
+urlbar-search-mode-actions = Toiminnot
+
+##
+
+urlbar-geolocation-blocked =
+ .tooltiptext = Olet estänyt sijaintitiedot tältä sivustolta.
+urlbar-xr-blocked =
+ .tooltiptext = Olet estänyt virtuaalitodellisuuslaitteen käytön tältä sivustolta.
+urlbar-web-notifications-blocked =
+ .tooltiptext = Olet estänyt ilmoitukset tältä sivustolta.
+urlbar-camera-blocked =
+ .tooltiptext = Olet estänyt kameran tältä sivustolta.
+urlbar-microphone-blocked =
+ .tooltiptext = Olet estänyt mikrofonin tältä sivustolta.
+urlbar-screen-blocked =
+ .tooltiptext = Olet estänyt tämän sivuston jakamasta näyttöäsi.
+urlbar-persistent-storage-blocked =
+ .tooltiptext = Olet estänyt pysyvän tallennustilan käytön tältä sivustolta.
+urlbar-popup-blocked =
+ .tooltiptext = Olet estänyt ponnahdusikkunat tältä sivustolta.
+urlbar-autoplay-media-blocked =
+ .tooltiptext = Olet estänyt äänellisen median automaattisen toistamisen tältä sivustolta.
+urlbar-canvas-blocked =
+ .tooltiptext = Olet estänyt kanvaksen sisällön lukemisen tältä sivustolta.
+urlbar-midi-blocked =
+ .tooltiptext = Olet estänyt MIDI-käytön tältä sivustolta.
+urlbar-install-blocked =
+ .tooltiptext = Olet estänyt lisäosien asennuksen tältä sivustolta.
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+urlbar-star-edit-bookmark =
+ .tooltiptext = Muokkaa kirjanmerkkiä ({ $shortcut })
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+urlbar-star-add-bookmark =
+ .tooltiptext = Lisää kirjanmerkki ({ $shortcut })
+
+## Page Action Context Menu
+
+page-action-manage-extension2 =
+ .label = Hallitse laajennusta…
+ .accesskey = e
+page-action-remove-extension2 =
+ .label = Poista laajennus
+ .accesskey = i
+
+## Auto-hide Context Menu
+
+full-screen-autohide =
+ .label = Piilota työkalupalkit
+ .accesskey = P
+full-screen-exit =
+ .label = Poistu koko näytön tilasta
+ .accesskey = o
+
+## Search Engine selection buttons (one-offs)
+
+# This string prompts the user to use the list of search shortcuts in
+# the Urlbar and searchbar.
+search-one-offs-with-title = Tällä kertaa käytä hakuun:
+search-one-offs-change-settings-compact-button =
+ .tooltiptext = Muuta hakuasetuksia
+search-one-offs-context-open-new-tab =
+ .label = Etsi uudessa välilehdessä
+ .accesskey = E
+search-one-offs-context-set-as-default =
+ .label = Aseta oletushakukoneeksi
+ .accesskey = A
+search-one-offs-context-set-as-default-private =
+ .label = Aseta oletushakukoneeksi yksityisissä ikkunoissa
+ .accesskey = A
+# Search engine one-off buttons with an @alias shortcut/keyword.
+# Variables:
+# $engineName (String): The name of the engine.
+# $alias (String): The @alias shortcut/keyword.
+search-one-offs-engine-with-alias =
+ .tooltiptext = { $engineName } ({ $alias })
+# Shown when adding new engines from the address bar shortcut buttons or context
+# menu, or from the search bar shortcut buttons.
+# Variables:
+# $engineName (String): The name of the engine.
+search-one-offs-add-engine =
+ .label = Lisää ”{ $engineName }”
+ .tooltiptext = Lisää hakukone ”{ $engineName }”
+ .aria-label = Lisää hakukone ”{ $engineName }”
+# When more than 5 engines are offered by a web page, they are grouped in a
+# submenu using this as its label.
+search-one-offs-add-engine-menu =
+ .label = Lisää hakukone
+
+## Local search mode one-off buttons
+## Variables:
+## $restrict (String): The restriction token corresponding to the search mode.
+## Restriction tokens are special characters users can type in the urlbar to
+## restrict their searches to certain sources (e.g., "*" to search only
+## bookmarks).
+
+search-one-offs-bookmarks =
+ .tooltiptext = Kirjanmerkit ({ $restrict })
+search-one-offs-tabs =
+ .tooltiptext = Välilehdet ({ $restrict })
+search-one-offs-history =
+ .tooltiptext = Historia ({ $restrict })
+search-one-offs-actions =
+ .tooltiptext = Toiminnot ({ $restrict })
+
+## QuickActions are shown in the urlbar as the user types a matching string
+## The -cmd- strings are comma separated list of keywords that will match
+## the action.
+
+# Opens the about:addons page in the home / recommendations section
+quickactions-addons = Näytä lisäosat
+quickactions-cmd-addons2 = lisäosat
+# Opens the bookmarks library window
+quickactions-bookmarks2 = Hallitse kirjanmerkkejä
+quickactions-cmd-bookmarks = kirjanmerkit
+# Opens a SUMO article explaining how to clear history
+quickactions-clearhistory = Tyhjennä historia
+quickactions-cmd-clearhistory = tyhjennä historia
+# Opens about:downloads page
+quickactions-downloads2 = Näytä lataukset
+quickactions-cmd-downloads = lataukset
+# Opens about:addons page in the extensions section
+quickactions-extensions = Hallitse laajennuksia
+quickactions-cmd-extensions = laajennukset
+# Opens the devtools web inspector
+quickactions-inspector2 = Avaa kehittäjätyökalut
+quickactions-cmd-inspector = tarkastaja, inspector, devtools
+# Opens about:logins
+quickactions-logins2 = Hallitse salasanoja
+quickactions-cmd-logins = käyttäjätunnukset, salasanat
+# Opens about:addons page in the plugins section
+quickactions-plugins = Hallitse liitännäisiä
+quickactions-cmd-plugins = liitännäiset
+# Opens the print dialog
+quickactions-print2 = Tulosta sivu
+quickactions-cmd-print = tulosta
+# Opens the print dialog at the save to PDF option
+quickactions-savepdf = Tallenna sivu PDF-muodossa
+quickactions-cmd-savepdf = pdf
+# Opens a new private browsing window
+quickactions-private2 = Avaa yksityinen ikkuna
+quickactions-cmd-private = yksityinen selaus
+# Opens a SUMO article explaining how to refresh
+quickactions-refresh = Palauta { -brand-short-name } uudenveroiseksi
+quickactions-cmd-refresh = päivitä
+# Restarts the browser
+quickactions-restart = Käynnistä { -brand-short-name } uudelleen
+quickactions-cmd-restart = käynnistä uudelleen
+# Opens the screenshot tool
+quickactions-screenshot3 = Ota kuvakaappaus
+quickactions-cmd-screenshot = kuvakaappaus
+# Opens about:preferences
+quickactions-settings2 = Hallitse asetuksia
+quickactions-cmd-settings = asetukset, valinnat
+# Opens about:addons page in the themes section
+quickactions-themes = Hallitse teemoja
+quickactions-cmd-themes = teemat
+# Opens a SUMO article explaining how to update the browser
+quickactions-update = Päivitä { -brand-short-name }
+quickactions-cmd-update = päivitä
+# Opens the view-source UI with current pages source
+quickactions-viewsource2 = Näytä sivun lähdekoodi
+quickactions-cmd-viewsource = näytä lähde, lähdekoodi
+# Tooltip text for the help button shown in the result.
+quickactions-learn-more =
+ .title = Lue lisää pikatoiminnoista
+
+## Bookmark Panel
+
+bookmarks-add-bookmark = Kirjanmerkin lisääminen
+bookmarks-edit-bookmark = Kirjanmerkin muokkaus
+bookmark-panel-cancel =
+ .label = Peruuta
+ .accesskey = P
+# Variables:
+# $count (number): number of bookmarks that will be removed
+bookmark-panel-remove =
+ .label =
+ { $count ->
+ [one] Poista kirjanmerkki
+ *[other] Poista { $count } kirjanmerkkiä
+ }
+ .accesskey = P
+bookmark-panel-show-editor-checkbox =
+ .label = Näytä muokkaus tallennettaessa
+ .accesskey = m
+bookmark-panel-save-button =
+ .label = Tallenna
+# Width of the bookmark panel.
+# Should be large enough to fully display the Done and
+# Cancel/Remove Bookmark buttons.
+bookmark-panel =
+ .style = min-width: 23em
+
+## Identity Panel
+
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+identity-site-information = Tiedot sivustosta { $host }
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+identity-header-security-with-host =
+ .title = Yhteyden suojaus sivustoon { $host }
+identity-connection-not-secure = Yhteys ei ole suojattu
+identity-connection-secure = Yhteys on suojattu
+identity-connection-failure = Yhteysvirhe
+identity-connection-internal = Tämä on suojattu { -brand-short-name }-sivu.
+identity-connection-file = Sivu on tallennettu tietokoneellesi.
+identity-connection-associated = Tämä sivu on ladattu toiselta sivulta.
+identity-extension-page = Tämän sivun latasi laajennus.
+identity-active-blocked = { -brand-short-name } on estänyt suojaamattoman sisällön näyttämisen.
+identity-custom-root = Yhteys on suojattu varmenteella, jonka myöntäjää Mozilla ei tunnista.
+identity-passive-loaded = Tällä sivulla on suojaamatonta sisältöä (kuten kuvia).
+identity-active-loaded = Suojaamattoman sisällön estäminen on otettu pois päältä sivustolla.
+identity-weak-encryption = Sivusto käyttää heikkoa salausta.
+identity-insecure-login-forms = Tälle sivulle kirjoitettujen kirjautumistietojen turvallisuus voi vaarantua.
+identity-https-only-connection-upgraded = (päivitetty HTTPS:ksi)
+identity-https-only-label = Vain HTTPS -tila
+identity-https-only-label2 = Päivitä tämä sivusto automaattisesti suojattuun yhteyteen
+identity-https-only-dropdown-on =
+ .label = Käytössä
+identity-https-only-dropdown-off =
+ .label = Ei käytössä
+identity-https-only-dropdown-off-temporarily =
+ .label = Ei käytössä väliaikaisesti
+identity-https-only-info-turn-on2 = Ota Vain HTTPS -tila käyttöön tälle sivustolle, jos haluat, että { -brand-short-name } päivittää suojattuun yhteyteen mikäli mahdollista.
+identity-https-only-info-turn-off2 = Jos sivu näyttää rikkinäiseltä, saatat haluta poistaa Vain HTTPS -tilan käytöstä ja näin ladata sivun uudestaan käyttäen suojaamatonta HTTP:tä.
+identity-https-only-info-turn-on3 = Ota HTTPS-päivitykset käyttöön tälle sivustolle, jos haluat, että { -brand-short-name } päivittää yhteyden suojatuksi sen ollessa mahdollista.
+identity-https-only-info-turn-off3 = Jos sivu näyttää rikkinäiseltä, saatat haluta poistaa HTTPS-päivitykset käytöstä tältä sivustolta ladataksesi yhteyden uudelleen käyttämään suojaamatonta HTTP-yhteyttä.
+identity-https-only-info-no-upgrade = Yhteyden päivittäminen HTTP:stä epäonnistui.
+identity-permissions-storage-access-header = Sivustorajat ylittävät evästeet
+identity-permissions-storage-access-hint = Nämä osapuolet voivat käyttää sivustorajat ylittäviä evästeitä ja sivustotietoja, kun olet tällä sivustolla.
+identity-permissions-storage-access-learn-more = Lue lisää
+identity-permissions-reload-hint = Sivu tarvitsee ehkä päivittää, jotta muutokset tulevat voimaan.
+identity-clear-site-data =
+ .label = Poista evästeet ja sivustotiedot…
+identity-connection-not-secure-security-view = Yhteytesi tähän sivustoon ei ole suojattu.
+identity-connection-verified = Yhteytesi tähän sivustoon on suojattu.
+identity-ev-owner-label = Varmenne myönnetty taholle:
+identity-description-custom-root2 = Mozilla ei tunnista tämän varmenteen myöntäjää. Se on voitu lisätä käyttöjärjestelmästä tai järjestelmänvalvojan toimesta.
+identity-remove-cert-exception =
+ .label = Poista poikkeus
+ .accesskey = s
+identity-description-insecure = Yhteytesi verkkosivustoon ei ole yksityinen. Sivullisten on mahdollista tarkastella antamiasi tietoja (esim. salasanoja, viestejä, luottokorttitietoja).
+identity-description-insecure-login-forms = Kirjautumistiedot, jotka kirjoitat tälle sivulle, eivät ole suojassa ja voidaan murtaa.
+identity-description-weak-cipher-intro = Yhteytesi verkkosivustoon käyttää heikkoa salausta eikä sen takia ole yksityinen.
+identity-description-weak-cipher-risk = Sivullisten on mahdollista tarkastella antamiasi tietoja tai vaikuttaa sivuston toimintaan.
+identity-description-active-blocked2 = { -brand-short-name } on estänyt suojaamattoman sisällön näyttämisen.
+identity-description-passive-loaded = Yhteytesi verkkosivustoon ei ole yksityinen ja sivullisten on mahdollista tarkastella tietoja, joita lähetät sivustolle.
+identity-description-passive-loaded-insecure2 = Tällä sivulla on suojaamatonta sisältöä (kuten kuvia).
+identity-description-passive-loaded-mixed2 = Vaikka { -brand-short-name } on osittain estänyt suojaamattoman sisällön, osa näkyvästä sisällöstä on edelleen suojaamatonta (kuten kuvat).
+identity-description-active-loaded = Tällä sivulla on suojaamatonta sisältöä (kuten komentosarjoja) eikä yhteytesi sivustoon ei ole yksityinen.
+identity-description-active-loaded-insecure = Sivullisten on mahdollista tarkastella antamiasi tietoja (esim. salasanoja, viestejä, luottokorttitietoja).
+identity-disable-mixed-content-blocking =
+ .label = Poista suojaus käytöstä
+ .accesskey = P
+identity-enable-mixed-content-blocking =
+ .label = Ota suojaus käyttöön
+ .accesskey = O
+identity-more-info-link-text =
+ .label = Lisätietoja
+
+## Window controls
+
+browser-window-minimize-button =
+ .tooltiptext = Pienennä ikkuna
+browser-window-maximize-button =
+ .tooltiptext = Suurenna
+browser-window-restore-down-button =
+ .tooltiptext = Palauta pienemmäksi ikkunaksi
+browser-window-close-button =
+ .tooltiptext = Sulje
+
+## Tab actions
+
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-playing2 = TOISTETAAN
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-muted2 = VAIMENNETTU
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-blocked = ÄÄNENTOISTO ESTETTY
+# This label should be written in all capital letters if your locale supports them.
+browser-tab-audio-pip = KUVA KUVASSA
+
+## These labels should be written in all capital letters if your locale supports them.
+## Variables:
+## $count (number): number of affected tabs
+
+browser-tab-mute =
+ { $count ->
+ [1] VAIMENNA VÄLILEHTI
+ *[other] VAIMENNA { $count } VÄLILEHTEÄ
+ }
+browser-tab-unmute =
+ { $count ->
+ [1] PALAUTA ÄÄNI VÄLILEHTEEN
+ *[other] PALAUTA ÄÄNI { $count } VÄLILEHTEEN
+ }
+browser-tab-unblock =
+ { $count ->
+ [1] TOISTA ÄÄNI VÄLILEHDELLÄ
+ [one] TOISTA ÄÄNI VÄLILEHDELLÄ
+ *[other] TOISTA ÄÄNI { $count } VÄLILEHDELLÄ
+ }
+
+## Bookmarks toolbar items
+
+browser-import-button2 =
+ .label = Tuo kirjanmerkit…
+ .tooltiptext = Tuo kirjanmerkit toisesta selaimsta { -brand-short-name }iin.
+bookmarks-toolbar-empty-message = Laita kirjanmerkkisi tänne kirjanmerkkipalkkiin, niin pääset niihin nopeasti. <a data-l10n-name="manage-bookmarks">Järjestele kirjanmerkkejä…</a>
+
+## WebRTC Pop-up notifications
+
+popup-select-camera-device =
+ .value = Kamera:
+ .accesskey = K
+popup-select-camera-icon =
+ .tooltiptext = Kamera
+popup-select-microphone-device =
+ .value = Mikrofoni:
+ .accesskey = M
+popup-select-microphone-icon =
+ .tooltiptext = Mikrofoni
+popup-select-speaker-icon =
+ .tooltiptext = Kaiuttimet
+popup-select-window-or-screen =
+ .label = Ikkuna tai näyttö:
+ .accesskey = I
+popup-all-windows-shared = Kaikki näkyvissä olevat ikkunat jaetaan.
+
+## WebRTC window or screen share tab switch warning
+
+sharing-warning-window = Jaat parhailleen { -brand-short-name }-ikkunaa. Muut näkevät, kun vaihdat uuteen välilehteen.
+sharing-warning-screen = Jaat parhaillaan koko näyttöäsi. Muut näkevät, kun vaihdat uuteen välilehteen.
+sharing-warning-proceed-to-tab =
+ .label = Jatka välilehteen
+sharing-warning-disable-for-session =
+ .label = Poista jakamisen suojaus tästä istunnosta
+
+## DevTools F12 popup
+
+
+## URL Bar
+
+# This string is used as an accessible name to the "X" button that cancels a custom search mode (i.e. exits the Amazon.com search mode).
+urlbar-search-mode-indicator-close =
+ .aria-label = Sulje
+# This placeholder is used when not in search mode and the user's default search
+# engine is unknown.
+urlbar-placeholder =
+ .placeholder = Kirjoita osoite tai hakusana
+# This placeholder is used in search mode with search engines that search the
+# entire web.
+# Variables
+# $name (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-placeholder-search-mode-web-2 =
+ .placeholder = Hae verkosta
+ .aria-label = Hae hakukoneella { $name }
+# This placeholder is used in search mode with search engines that search a
+# specific site (e.g., Amazon).
+# Variables
+# $name (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-placeholder-search-mode-other-engine =
+ .placeholder = Kirjoita hakuehdot
+ .aria-label = Hae sivustosta { $name }
+# This placeholder is used when searching bookmarks.
+urlbar-placeholder-search-mode-other-bookmarks =
+ .placeholder = Kirjoita hakuehdot
+ .aria-label = Hae kirjanmerkeistä
+# This placeholder is used when searching history.
+urlbar-placeholder-search-mode-other-history =
+ .placeholder = Kirjoita hakuehdot
+ .aria-label = Hae historiasta
+# This placeholder is used when searching open tabs.
+urlbar-placeholder-search-mode-other-tabs =
+ .placeholder = Kirjoita hakuehdot
+ .aria-label = Hae välilehdistä
+# This placeholder is used when searching quick actions.
+urlbar-placeholder-search-mode-other-actions =
+ .placeholder = Kirjoita hakuehdot
+ .aria-label = Etsi toimintoja
+# Variables
+# $name (String): the name of the user's default search engine
+urlbar-placeholder-with-name =
+ .placeholder = Hae hakukoneella { $name } tai kirjoita osoite
+# Variables
+# $component (String): the name of the component which forces remote control.
+# Example: "DevTools", "Marionette", "RemoteAgent".
+urlbar-remote-control-notification-anchor2 =
+ .tooltiptext = Selain on etäohjauksessa (syy: { $component })
+urlbar-permissions-granted =
+ .tooltiptext = Olet myöntänyt tälle sivustolle lisäoikeuksia.
+urlbar-switch-to-tab =
+ .value = Siirry välilehteen:
+# Used to indicate that a selected autocomplete entry is provided by an extension.
+urlbar-extension =
+ .value = Laajennus:
+urlbar-go-button =
+ .tooltiptext = Siirry osoitepalkissa olevaan osoitteeseen
+urlbar-page-action-button =
+ .tooltiptext = Sivun toiminnot
+
+## Action text shown in urlbar results, usually appended after the search
+## string or the url, like "result value - action text".
+
+# Used when the private browsing engine differs from the default engine.
+# The "with" format was chosen because the search engine name can end with
+# "Search", and we would like to avoid strings like "Search MSN Search".
+# Variables
+# $engine (String): the name of a search engine
+urlbar-result-action-search-in-private-w-engine = Hae hakukoneella { $engine } yksityisessä ikkunassa
+# Used when the private browsing engine is the same as the default engine.
+urlbar-result-action-search-in-private = Hae yksityisessä ikkunassa
+# The "with" format was chosen because the search engine name can end with
+# "Search", and we would like to avoid strings like "Search MSN Search".
+# Variables
+# $engine (String): the name of a search engine
+urlbar-result-action-search-w-engine = { $engine }-haku
+urlbar-result-action-sponsored = Sponsoroitu
+urlbar-result-action-switch-tab = Siirry välilehteen
+urlbar-result-action-visit = Avaa
+# Allows the user to visit a URL that was previously copied to the clipboard.
+urlbar-result-action-visit-from-clipboard = Siirry leikepöydällä olevaan osoitteeseen
+# Directs a user to press the Tab key to perform a search with the specified
+# engine.
+# Variables
+# $engine (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-result-action-before-tabtosearch-web = Hae hakukoneella { $engine } painamalla sarkainta
+# Directs a user to press the Tab key to perform a search with the specified
+# engine.
+# Variables
+# $engine (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-result-action-before-tabtosearch-other = Hae sivustosta { $engine } painamalla sarkainta
+# Variables
+# $engine (String): the name of a search engine that searches the entire Web
+# (e.g. Google).
+urlbar-result-action-tabtosearch-web = Hae hakukoneella { $engine } suoraan osoitepalkista
+# Variables
+# $engine (String): the name of a search engine that searches a specific site
+# (e.g. Amazon).
+urlbar-result-action-tabtosearch-other-engine = Hae hakukoneella { $engine } suoraan osoitepalkista
+# Action text for copying to clipboard.
+urlbar-result-action-copy-to-clipboard = Kopioi
+# Shows the result of a formula expression being calculated, the last = sign will be shown
+# as part of the result (e.g. "= 2").
+# Variables
+# $result (String): the string representation for a formula result
+urlbar-result-action-calculator-result = = { $result }
+
+## Action text shown in urlbar results, usually appended after the search
+## string or the url, like "result value - action text".
+## In these actions "Search" is a verb, followed by where the search is performed.
+
+urlbar-result-action-search-bookmarks = Etsi kirjanmerkeistä
+urlbar-result-action-search-history = Etsi historiasta
+urlbar-result-action-search-tabs = Etsi välilehdistä
+urlbar-result-action-search-actions = Etsi toimintoja
+
+## Labels shown above groups of urlbar results
+
+# A label shown above the "Firefox Suggest" (bookmarks/history) group in the
+# urlbar results.
+urlbar-group-firefox-suggest =
+ .label = { -firefox-suggest-brand-name }
+# A label shown above the search suggestions group in the urlbar results. It
+# should use sentence case.
+# Variables
+# $engine (String): the name of the search engine providing the suggestions
+urlbar-group-search-suggestions =
+ .label = { $engine }-ehdotukset
+# A label shown above Quick Actions in the urlbar results.
+urlbar-group-quickactions =
+ .label = Pikatoiminnot
+# A label shown above the recent searches group in the urlbar results.
+# Variables
+# $engine (String): the name of the search engine used to search.
+urlbar-group-recent-searches =
+ .label = Viimeisimmät haut
+
+## Reader View toolbar buttons
+
+# This should match menu-view-enter-readerview in menubar.ftl
+reader-view-enter-button =
+ .aria-label = Avaa lukunäkymä
+# This should match menu-view-close-readerview in menubar.ftl
+reader-view-close-button =
+ .aria-label = Sulje lukunäkymä
+
+## Picture-in-Picture urlbar button
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+picture-in-picture-urlbar-button-open =
+ .tooltiptext = Avaa kuva kuvassa ({ $shortcut })
+picture-in-picture-urlbar-button-close =
+ .tooltiptext = Sulje kuva kuvassa ({ $shortcut })
+picture-in-picture-panel-header = Kuva kuvassa
+picture-in-picture-panel-headline = Tämä sivusto ei suosittele kuva kuvassa -toimintoa
+picture-in-picture-panel-body = Videot eivät välttämättä näy kehittäjän tarkoittamalla tavalla, kun kuva kuvassa -toiminto on käytössä.
+picture-in-picture-enable-toggle =
+ .label = Ota silti käyttöön
+
+## Full Screen and Pointer Lock UI
+
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is full screen, e.g. "mozilla.org"
+fullscreen-warning-domain = <span data-l10n-name="domain">{ $domain }</span> on nyt koko näytön tilassa
+fullscreen-warning-no-domain = Dokumentti on nyt koko näytön tilassa
+fullscreen-exit-button = Poistu koko näytön tilasta (Esc)
+# "esc" is lowercase on mac keyboards, but uppercase elsewhere.
+fullscreen-exit-mac-button = Poistu koko näytön tilasta (esc)
+# Please ensure that the domain stays in the `<span data-l10n-name="domain">` markup.
+# Variables
+# $domain (String): the domain that is using pointer-lock, e.g. "mozilla.org"
+pointerlock-warning-domain = Sivusto <span data-l10n-name="domain">{ $domain }</span> hallitsee hiiren osoitinta. Voit ottaa osoittimen hallintaasi painamalla Esc.
+pointerlock-warning-no-domain = Tämä sivu hallitsee hiiren osoitinta. Voit ottaa osoittimen hallintaasi painamalla Esc.
+
+## Bookmarks panels, menus and toolbar
+
+bookmarks-manage-bookmarks =
+ .label = Järjestele kirjanmerkkejä
+bookmarks-recent-bookmarks-panel-subheader = Uusimmat kirjanmerkit
+bookmarks-toolbar-chevron =
+ .tooltiptext = Näytä lisää kirjanmerkkejä
+bookmarks-sidebar-content =
+ .aria-label = Kirjanmerkit
+bookmarks-menu-button =
+ .label = Kirjanmerkit-valikko
+bookmarks-other-bookmarks-menu =
+ .label = Muut kirjanmerkit
+bookmarks-mobile-bookmarks-menu =
+ .label = Kannettavan laitteen kirjanmerkit
+
+## Variables:
+## $isVisible (boolean): if the specific element (e.g. bookmarks sidebar,
+## bookmarks toolbar, etc.) is visible or not.
+
+bookmarks-tools-sidebar-visibility =
+ .label =
+ { $isVisible ->
+ [true] Piilota kirjanmerkkien sivupaneeli
+ *[other] Näytä kirjanmerkkien sivupaneeli
+ }
+bookmarks-tools-toolbar-visibility-menuitem =
+ .label =
+ { $isVisible ->
+ [true] Piilota kirjanmerkkipalkki
+ *[other] Näytä kirjanmerkkipalkki
+ }
+bookmarks-tools-toolbar-visibility-panel =
+ .label =
+ { $isVisible ->
+ [true] Piilota kirjanmerkkipalkki
+ *[other] Näytä kirjanmerkkipalkki
+ }
+bookmarks-tools-menu-button-visibility =
+ .label =
+ { $isVisible ->
+ [true] Poista Kirjanmerkit-valikko työkalupalkista
+ *[other] Lisää Kirjanmerkit-valikko työkalupalkkiin
+ }
+
+##
+
+bookmarks-search =
+ .label = Etsi kirjanmerkeistä
+bookmarks-tools =
+ .label = Kirjanmerkkityökalut
+bookmarks-subview-edit-bookmark =
+ .label = Muokkaa kirjanmerkkiä…
+# The aria-label is a spoken label that should not include the word "toolbar" or
+# such, because screen readers already know that this container is a toolbar.
+# This avoids double-speaking.
+bookmarks-toolbar =
+ .toolbarname = Kirjanmerkkipalkki
+ .accesskey = K
+ .aria-label = Kirjanmerkit
+bookmarks-toolbar-menu =
+ .label = Kirjanmerkkipalkki
+bookmarks-toolbar-placeholder =
+ .title = Kirjanmerkkipalkin linkit
+bookmarks-toolbar-placeholder-button =
+ .label = Kirjanmerkkipalkin linkit
+# "Bookmark" is a verb, as in "Add current tab to bookmarks".
+bookmarks-subview-bookmark-tab =
+ .label = Lisää nykyinen välilehti kirjanmerkkeihin…
+
+## Library Panel items
+
+library-bookmarks-menu =
+ .label = Kirjanmerkit
+library-recent-activity-title =
+ .value = Viimeisin toiminta
+
+## Pocket toolbar button
+
+save-to-pocket-button =
+ .label = Tallenna { -pocket-brand-name }-palveluun
+ .tooltiptext = Tallenna { -pocket-brand-name }-palveluun
+
+## Repair text encoding toolbar button
+
+repair-text-encoding-button =
+ .label = Korjaa merkistökoodaus
+ .tooltiptext = Arvaa oikea merkistökoodaus sivun sisällöstä
+
+## Customize Toolbar Buttons
+
+# Variables:
+# $shortcut (String): keyboard shortcut to open settings (only on macOS)
+toolbar-settings-button =
+ .label = Asetukset
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] Avaa asetukset ({ $shortcut })
+ *[other] Avaa asetuket
+ }
+toolbar-overflow-customize-button =
+ .label = Muokkaa työkalupalkkia…
+ .accesskey = M
+toolbar-button-email-link =
+ .label = Lähetä linkki
+ .tooltiptext = Lähetä linkki sähköpostilla
+toolbar-button-logins =
+ .label = Salasanat
+ .tooltiptext = Näytä ja hallitse tallennettuja salasanoja
+# Variables:
+# $shortcut (String): keyboard shortcut to save a copy of the page
+toolbar-button-save-page =
+ .label = Tallenna sivu
+ .tooltiptext = Tallenna avoin sivu ({ $shortcut })
+# Variables:
+# $shortcut (String): keyboard shortcut to open a local file
+toolbar-button-open-file =
+ .label = Avaa tiedosto
+ .tooltiptext = Avaa tiedosto ({ $shortcut })
+toolbar-button-synced-tabs =
+ .label = Synkronoidut välilehdet
+ .tooltiptext = Näytä muiden laitteiden välilehdet
+# Variables
+# $shortcut (string) - Keyboard shortcut to open a new private browsing window
+toolbar-button-new-private-window =
+ .label = Uusi yksityinen ikkuna
+ .tooltiptext = Avaa yksityinen selaaminen -ikkuna ({ $shortcut })
+
+## EME notification panel
+
+eme-notifications-drm-content-playing = Osa sivuston äänitteistä tai videoista käyttää DRM-ohjelmistoa, joka voi rajoittaa mitä { -brand-short-name } voi antaa tehdä niillä.
+eme-notifications-drm-content-playing-manage = Muokkaa asetuksia
+eme-notifications-drm-content-playing-manage-accesskey = M
+eme-notifications-drm-content-playing-dismiss = Hylkää
+eme-notifications-drm-content-playing-dismiss-accesskey = H
+
+## Password save/update panel
+
+panel-save-update-username = Käyttäjätunnus
+panel-save-update-password = Salasana
+
+##
+
+# "More" item in macOS share menu
+menu-share-more =
+ .label = Lisää…
+ui-tour-info-panel-close =
+ .tooltiptext = Sulje
+
+## Variables:
+## $uriHost (String): URI host for which the popup was allowed or blocked.
+
+popups-infobar-allow =
+ .label = Salli ponnahdusikkunat osoitteesta { $uriHost }
+ .accesskey = S
+popups-infobar-block =
+ .label = Estä ponnahdusikkunat osoitteesta { $uriHost }
+ .accesskey = S
+
+##
+
+popups-infobar-dont-show-message =
+ .label = Älä näytä tätä viestiä kun ponnahdusikkuna estetään
+ .accesskey = Ä
+edit-popup-settings =
+ .label = Hallitse ponnahdusasetuksia…
+ .accesskey = p
+picture-in-picture-hide-toggle =
+ .label = Piilota kuva kuvassa -kytkin
+ .accesskey = P
+
+## Since the default position for PiP controls does not change for RTL layout,
+## right-to-left languages should use "Left" and "Right" as in the English strings,
+
+picture-in-picture-move-toggle-right =
+ .label = Siirrä kuva kuvassa -kytkin oikealle puolelle
+ .accesskey = o
+picture-in-picture-move-toggle-left =
+ .label = Siirrä kuva kuvassa -kytkin vasemmalle puolelle
+ .accesskey = v
+
+##
+
+
+# Navigator Toolbox
+
+# This string is a spoken label that should not include
+# the word "toolbar" or such, because screen readers already know that
+# this container is a toolbar. This avoids double-speaking.
+navbar-accessible =
+ .aria-label = Navigointi
+navbar-downloads =
+ .label = Lataukset
+navbar-overflow =
+ .tooltiptext = Lisää työkaluja…
+# Variables:
+# $shortcut (String): keyboard shortcut to print the page
+navbar-print =
+ .label = Tulosta
+ .tooltiptext = Tulosta sivu… ({ $shortcut })
+navbar-home =
+ .label = Aloitussivu
+ .tooltiptext = { -brand-short-name }-aloitussivu
+navbar-library =
+ .label = Kirjasto
+ .tooltiptext = Katsele historiaa, tallennettuja kirjanmerkkejä ynnä muuta
+navbar-search =
+ .title = Etsi
+# Name for the tabs toolbar as spoken by screen readers. The word
+# "toolbar" is appended automatically and should not be included in
+# in the string
+tabs-toolbar =
+ .aria-label = Selaimen välilehdet
+tabs-toolbar-new-tab =
+ .label = Uusi välilehti
+tabs-toolbar-list-all-tabs =
+ .label = Listaa kaikki välilehdet
+ .tooltiptext = Listaa kaikki välilehdet
+
+## Infobar shown at startup to suggest session-restore
+
+# <img data-l10n-name="icon"/> will be replaced by the application menu icon
+restore-session-startup-suggestion-message = <strong>Haluatko avata aiemmat välilehdet?</strong> Voit palauttaa aiemman istunnon { -brand-short-name }in sovellusvalikosta <img data-l10n-name="icon"/> kohdasta Sivuhistoria.
+restore-session-startup-suggestion-button = Näytä ohje
+
+## Mozilla data reporting notification (Telemetry, Firefox Health Report, etc)
+
+data-reporting-notification-message = { -brand-short-name } lähettää automaattisesti joitain tietoja { -vendor-short-name }lle käyttökokemuksen parantamiseksi.
+data-reporting-notification-button =
+ .label = Valitse lähetettävät tiedot
+ .accesskey = V
+# Label for the indicator shown in the private browsing window titlebar.
+private-browsing-indicator-label = Yksityinen selaus
+
+## Unified extensions (toolbar) button
+
+unified-extensions-button =
+ .label = Laajennukset
+ .tooltiptext = Laajennukset
+
+## Unified extensions button when permission(s) are needed.
+## Note that the new line is intentionally part of the tooltip.
+
+unified-extensions-button-permissions-needed =
+ .label = Laajennukset
+ .tooltiptext =
+ Laajennukset
+ Lupia vaaditaan
+
+## Unified extensions button when some extensions are quarantined.
+## Note that the new line is intentionally part of the tooltip.
+
+unified-extensions-button-quarantined =
+ .label = Laajennukset
+ .tooltiptext =
+ Laajennukset
+ Joitain laajennuksia ei sallita
+
+## Private browsing reset button
+
+reset-pbm-toolbar-button =
+ .label = Lopeta yksityinen istunto
+ .tooltiptext = Lopeta yksityinen istunto
+reset-pbm-panel-heading = Lopetetaanko yksityinen istunto?
+reset-pbm-panel-description = Sulje kaikki yksityiset välilehdet ja poista historia, evästeet ja kaikki muut sivustotiedot.
+reset-pbm-panel-always-ask-checkbox =
+ .label = Kysy aina
+ .accesskey = A
+reset-pbm-panel-cancel-button =
+ .label = Peruuta
+ .accesskey = P
+reset-pbm-panel-confirm-button =
+ .label = Poista istunnon tiedot
+ .accesskey = o
+reset-pbm-panel-complete = Yksityisen istunnon tiedot poistettu
+
+## Autorefresh blocker
+
+refresh-blocked-refresh-label = { -brand-short-name } esti sivua päivittymästä.
+refresh-blocked-redirect-label = { -brand-short-name } esti sivua ohjautumasta automaattisesti toiselle sivulle.
+refresh-blocked-allow =
+ .label = Salli
+ .accesskey = S
+
+## Firefox Relay integration
+
+firefox-relay-offer-why-to-use-relay = Turvalliset ja helppokäyttöiset maskit suojaavat henkilöllisyyttäsi sekä estävät roskapostia piilottamalla sähköpostiosoitteesi.
+# Variables:
+# $useremail (String): user email that will receive messages
+firefox-relay-offer-what-relay-provides = Kaikki sähköpostimaskeihisi lähetetyt sähköpostit välitetään edelleen osoitteeseen <strong>{ $useremail }</strong> (ellet päätä estää saapuvia viestejä).
+firefox-relay-offer-legal-notice = Napsauttamalla “Käytä sähköpostimaskia” hyväksyt <label data-l10n-name="tos-url">käyttöehdot</label> ja <label data-l10n-name="privacy-url">tietosuojakäytännön</label>.
+
+## Add-on Pop-up Notifications
+
+popup-notification-addon-install-unsigned =
+ .value = (Varmentamaton)
+popup-notification-xpinstall-prompt-learn-more = Lue lisää lisäosien asentamisesta turvallisesti
+
+## Pop-up warning
+
+# Variables:
+# $popupCount (Number): the number of pop-ups blocked.
+popup-warning-message =
+ { $popupCount ->
+ [one] { -brand-short-name } esti tätä sivustoa avaamasta ponnahdusikkunaa.
+ *[other] { -brand-short-name } esti tätä sivustoa avaamasta { $popupCount } ponnahdusikkunaa.
+ }
+# The singular form is left out for English, since the number of blocked pop-ups is always greater than 1.
+# Variables:
+# $popupCount (Number): the number of pop-ups blocked.
+popup-warning-exceeded-message = { -brand-short-name } esti tätä sivustoa avaamasta enemmän kuin { $popupCount } ponnahdusikkunaa.
+popup-warning-button =
+ .label =
+ { PLATFORM() ->
+ [windows] Asetukset
+ *[other] Asetukset
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] A
+ *[other] A
+ }
+# Variables:
+# $popupURI (String): the URI for the pop-up window
+popup-show-popup-menuitem =
+ .label = Näytä ”{ $popupURI }”
diff --git a/l10n-fi/browser/browser/browserContext.ftl b/l10n-fi/browser/browser/browserContext.ftl
new file mode 100644
index 0000000000..f3d317c400
--- /dev/null
+++ b/l10n-fi/browser/browser/browserContext.ftl
@@ -0,0 +1,385 @@
+# 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/.
+
+navbar-tooltip-instruction =
+ .value =
+ { PLATFORM() ->
+ [macos] Vedä alaspäin nähdäksesi sivuhistorian
+ *[other] Napsauta hiiren toisella painikkeella tai vedä alaspäin nähdäksesi sivuhistorian
+ }
+
+## Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+main-context-menu-back-2 =
+ .tooltiptext = Siirry sivu taaksepäin ({ $shortcut })
+ .aria-label = Edellinen
+ .accesskey = E
+# This menuitem is only visible on macOS
+main-context-menu-back-mac =
+ .label = Edellinen
+ .accesskey = E
+navbar-tooltip-back-2 =
+ .value = { main-context-menu-back-2.tooltiptext }
+toolbar-button-back-2 =
+ .label = { main-context-menu-back-2.aria-label }
+
+## Forward
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+main-context-menu-forward-2 =
+ .tooltiptext = Siirry sivu eteenpäin ({ $shortcut })
+ .aria-label = Seuraava
+ .accesskey = e
+# This menuitem is only visible on macOS
+main-context-menu-forward-mac =
+ .label = Seuraava
+ .accesskey = e
+navbar-tooltip-forward-2 =
+ .value = { main-context-menu-forward-2.tooltiptext }
+toolbar-button-forward-2 =
+ .label = { main-context-menu-forward-2.aria-label }
+
+## Reload
+
+main-context-menu-reload =
+ .aria-label = Päivitä
+ .accesskey = P
+# This menuitem is only visible on macOS
+main-context-menu-reload-mac =
+ .label = Päivitä
+ .accesskey = P
+toolbar-button-reload =
+ .label = { main-context-menu-reload.aria-label }
+
+## Stop
+
+main-context-menu-stop =
+ .aria-label = Pysäytä
+ .accesskey = P
+# This menuitem is only visible on macOS
+main-context-menu-stop-mac =
+ .label = Pysäytä
+ .accesskey = P
+toolbar-button-stop =
+ .label = { main-context-menu-stop.aria-label }
+
+## Stop-Reload Button
+
+toolbar-button-stop-reload =
+ .title = { main-context-menu-reload.aria-label }
+
+## Firefox Account Button
+
+toolbar-button-fxaccount =
+ .label = { -fxaccount-brand-name(capitalization: "sentence") }
+ .tooltiptext = { -fxaccount-brand-name(capitalization: "sentence") }
+
+## Save Page
+
+main-context-menu-page-save =
+ .label = Tallenna sivu nimellä…
+ .accesskey = s
+
+## Simple menu items
+
+main-context-menu-bookmark-page =
+ .aria-label = Lisää sivu kirjanmerkkeihin…
+ .accesskey = L
+ .tooltiptext = Lisää sivu kirjanmerkkeihin
+# This menuitem is only visible on macOS
+# Cannot be shown at the same time as main-context-menu-edit-bookmark-mac,
+# so should probably have the same access key if possible.
+main-context-menu-bookmark-page-mac =
+ .label = Lisää sivu kirjanmerkkeihin…
+ .accesskey = L
+# This menuitem is only visible on macOS
+# Cannot be shown at the same time as main-context-menu-bookmark-page-mac,
+# so should probably have the same access key if possible.
+main-context-menu-edit-bookmark-mac =
+ .label = Muokkaa kirjanmerkkiä…
+ .accesskey = m
+# Variables
+# $shortcut (String) - A keyboard shortcut for the add bookmark command.
+main-context-menu-bookmark-page-with-shortcut =
+ .aria-label = Lisää sivu kirjanmerkkeihin…
+ .accesskey = L
+ .tooltiptext = Lisää sivu kirjanmerkkeihin ({ $shortcut })
+main-context-menu-edit-bookmark =
+ .aria-label = Muokkaa kirjanmerkkiä…
+ .accesskey = m
+ .tooltiptext = Muokkaa kirjanmerkkiä
+# Variables
+# $shortcut (String) - A keyboard shortcut for the edit bookmark command.
+main-context-menu-edit-bookmark-with-shortcut =
+ .aria-label = Muokkaa kirjanmerkkiä…
+ .accesskey = m
+ .tooltiptext = Muokkaa kirjanmerkkiä ({ $shortcut })
+main-context-menu-open-link =
+ .label = Avaa
+ .accesskey = A
+main-context-menu-open-link-new-tab =
+ .label = Avaa uuteen välilehteen
+ .accesskey = v
+main-context-menu-open-link-container-tab =
+ .label = Avaa uuteen eristettyyn välilehteen
+ .accesskey = e
+main-context-menu-open-link-new-window =
+ .label = Avaa uuteen ikkunaan
+ .accesskey = i
+main-context-menu-open-link-new-private-window =
+ .label = Avaa uuteen yksityiseen ikkunaan
+ .accesskey = y
+main-context-menu-bookmark-link-2 =
+ .label = Lisää linkki kirjanmerkkeihin…
+ .accesskey = k
+main-context-menu-save-link =
+ .label = Tallenna kohde levylle…
+ .accesskey = T
+main-context-menu-save-link-to-pocket =
+ .label = Tallenna linkki { -pocket-brand-name }-palveluun
+ .accesskey = k
+
+## The access keys for "Copy Link" and "Copy Email Address"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+main-context-menu-copy-email =
+ .label = Kopioi sähköpostiosoite
+ .accesskey = s
+main-context-menu-copy-phone =
+ .label = Kopioi puhelinnumero
+ .accesskey = o
+main-context-menu-copy-link-simple =
+ .label = Kopioi linkki
+ .accesskey = K
+# This command copies the link, removing additional
+# query parameters used to track users across sites.
+main-context-menu-strip-on-share-link =
+ .label = Kopioi linkki ilman sivustoseurantaa
+ .accesskey = r
+
+## Media (video/audio) controls
+##
+## The accesskey for "Play" and "Pause" are the
+## same because the two context-menu items are
+## mutually exclusive.
+
+main-context-menu-media-play =
+ .label = Toista
+ .accesskey = o
+main-context-menu-media-pause =
+ .label = Pysäytä
+ .accesskey = y
+
+##
+
+main-context-menu-media-mute =
+ .label = Vaimenna ääni
+ .accesskey = V
+main-context-menu-media-unmute =
+ .label = Palauta ääni
+ .accesskey = ä
+main-context-menu-media-play-speed-2 =
+ .label = Nopeus
+ .accesskey = N
+main-context-menu-media-play-speed-slow-2 =
+ .label = 0.5×
+main-context-menu-media-play-speed-normal-2 =
+ .label = 1.0×
+main-context-menu-media-play-speed-fast-2 =
+ .label = 1.25×
+main-context-menu-media-play-speed-faster-2 =
+ .label = 1.5×
+main-context-menu-media-play-speed-fastest-2 =
+ .label = 2×
+main-context-menu-media-loop =
+ .label = Jatkuva toisto
+ .accesskey = J
+
+## The access keys for "Show Controls" and "Hide Controls" are the same
+## because the two context-menu items are mutually exclusive.
+
+main-context-menu-media-show-controls =
+ .label = Näytä säätimet
+ .accesskey = s
+main-context-menu-media-hide-controls =
+ .label = Piilota säätimet
+ .accesskey = s
+
+##
+
+main-context-menu-media-video-fullscreen =
+ .label = Koko näyttö
+ .accesskey = K
+main-context-menu-media-video-leave-fullscreen =
+ .label = Poistu koko näytön tilasta
+ .accesskey = P
+# This is used when right-clicking on a video in the
+# content area when the Picture-in-Picture feature is enabled.
+main-context-menu-media-watch-pip =
+ .label = Katso Kuva kuvassa -tilassa
+ .accesskey = K
+main-context-menu-image-reload =
+ .label = Lataa kuva
+ .accesskey = L
+main-context-menu-image-view-new-tab =
+ .label = Avaa kuva uuteen välilehteen
+ .accesskey = A
+main-context-menu-video-view-new-tab =
+ .label = Avaa video uuteen välilehteen
+ .accesskey = v
+main-context-menu-image-copy =
+ .label = Kopioi kuva
+ .accesskey = u
+main-context-menu-image-copy-link =
+ .label = Kopioi kuvan linkki
+ .accesskey = o
+main-context-menu-video-copy-link =
+ .label = Kopioi videon linkki
+ .accesskey = v
+main-context-menu-audio-copy-link =
+ .label = Kopioi äänilinkki
+ .accesskey = ä
+main-context-menu-image-save-as =
+ .label = Tallenna kuva nimellä…
+ .accesskey = e
+main-context-menu-image-email =
+ .label = Lähetä kuva…
+ .accesskey = L
+main-context-menu-image-set-image-as-background =
+ .label = Aseta työpöydän taustakuvaksi…
+ .accesskey = t
+main-context-menu-image-copy-text =
+ .label = Kopioi teksti kuvasta
+ .accesskey = K
+main-context-menu-image-info =
+ .label = Näytä kuvan tiedot
+ .accesskey = d
+main-context-menu-image-desc =
+ .label = Näytä kuvaus
+ .accesskey = u
+main-context-menu-video-save-as =
+ .label = Tallenna video nimellä…
+ .accesskey = e
+main-context-menu-audio-save-as =
+ .label = Tallenna äänite nimellä…
+ .accesskey = e
+main-context-menu-video-take-snapshot =
+ .label = Ota kuva…
+ .accesskey = O
+main-context-menu-video-email =
+ .label = Lähetä video…
+ .accesskey = L
+main-context-menu-audio-email =
+ .label = Lähetä äänite…
+ .accesskey = L
+main-context-menu-save-to-pocket =
+ .label = Tallenna sivu { -pocket-brand-name }-palveluun
+ .accesskey = c
+main-context-menu-send-to-device =
+ .label = Lähetä sivu laitteeseen
+ .accesskey = L
+
+## The access keys for "Use Saved Login" and "Use Saved Password"
+## should be the same if possible; the two context menu items
+## are mutually exclusive.
+
+main-context-menu-use-saved-login =
+ .label = Käytä tallennettua kirjautumistietoa
+ .accesskey = k
+# Displayed when there are saved passwords and the user clicks inside a username or password field
+main-context-menu-use-saved-password =
+ .label = Käytä tallennettua salasanaa
+ .accesskey = s
+
+##
+
+main-context-menu-use-relay-mask =
+ .label = Käytä { -relay-brand-short-name }-sähköpostimaskia
+ .accesskey = E
+main-context-menu-suggest-strong-password =
+ .label = Ehdota vahvaa salasanaa…
+ .accesskey = S
+main-context-menu-manage-logins2 =
+ .label = Hallitse kirjautumistietoja
+ .accesskey = H
+main-context-menu-manage-passwords =
+ .label = Hallitse salasanoja
+ .accesskey = H
+main-context-menu-keyword =
+ .label = Lisää pikakomento tälle haulle…
+ .accesskey = L
+main-context-menu-link-send-to-device =
+ .label = Lähetä linkki laitteeseen
+ .accesskey = L
+main-context-menu-frame =
+ .label = Tämä kehys
+ .accesskey = ä
+main-context-menu-frame-show-this =
+ .label = Näytä vain tämä kehys
+ .accesskey = N
+main-context-menu-frame-open-tab =
+ .label = Avaa kehys uuteen välilehteen
+ .accesskey = v
+main-context-menu-frame-open-window =
+ .label = Avaa kehys uuteen ikkunaan
+ .accesskey = A
+main-context-menu-frame-reload =
+ .label = Päivitä kehys
+ .accesskey = ä
+main-context-menu-frame-add-bookmark =
+ .label = Lisää kehys kirjanmerkkeihin…
+ .accesskey = L
+main-context-menu-frame-save-as =
+ .label = Tallenna kehys nimellä…
+ .accesskey = T
+main-context-menu-frame-print =
+ .label = Tulosta kehys…
+ .accesskey = u
+main-context-menu-frame-view-source =
+ .label = Näytä kehyksen lähdekoodi
+ .accesskey = ä
+main-context-menu-frame-view-info =
+ .label = Näytä kehyksen tiedot
+ .accesskey = o
+main-context-menu-print-selection-2 =
+ .label = Tulosta valinta…
+ .accesskey = T
+main-context-menu-view-selection-source =
+ .label = Näytä valinnan lähdekoodi
+ .accesskey = n
+main-context-menu-take-screenshot =
+ .label = Ota kuvakaappaus
+ .accesskey = O
+main-context-menu-take-frame-screenshot =
+ .label = Ota kuvakaappaus
+ .accesskey = O
+main-context-menu-view-page-source =
+ .label = Näytä sivun lähdekoodi
+ .accesskey = k
+main-context-menu-bidi-switch-text =
+ .label = Vaihda tekstin suuntaa
+ .accesskey = a
+main-context-menu-bidi-switch-page =
+ .label = Vaihda sivun suuntaa
+ .accesskey = V
+main-context-menu-inspect =
+ .label = Tarkastele
+ .accesskey = T
+main-context-menu-inspect-a11y-properties =
+ .label = Tarkastele saavutettavuusominaisuuksia
+main-context-menu-eme-learn-more =
+ .label = Lue lisää DRM-suojauksesta…
+ .accesskey = D
+# Variables
+# $containerName (String): The name of the current container
+main-context-menu-open-link-in-container-tab =
+ .label = Avaa linkki uudessa ”{ $containerName }”-välilehdessä
+ .accesskey = v
+main-context-menu-reveal-password =
+ .label = Paljasta salasana
+ .accesskey = P
diff --git a/l10n-fi/browser/browser/browserSets.ftl b/l10n-fi/browser/browser/browserSets.ftl
new file mode 100644
index 0000000000..9ec2c5cbab
--- /dev/null
+++ b/l10n-fi/browser/browser/browserSets.ftl
@@ -0,0 +1,218 @@
+# 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/.
+
+window-minimize-command =
+ .label = Pienennä ikkuna
+
+window-zoom-command =
+ .label = Suurenna ikkunaa
+
+window-new-shortcut =
+ .key = N
+
+window-minimize-shortcut =
+ .key = m
+
+close-shortcut =
+ .key = W
+
+tab-new-shortcut =
+ .key = t
+
+location-open-shortcut =
+ .key = l
+
+location-open-shortcut-alt =
+ .key = d
+
+search-focus-shortcut =
+ .key = k
+
+# This shortcut is used in two contexts:
+# - web search
+# - find in page
+find-shortcut =
+ .key = f
+
+search-find-again-shortcut =
+ .key = g
+
+search-find-again-shortcut-alt =
+ .keycode = VK_F3
+
+search-find-selection-shortcut =
+ .key = e
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+search-focus-shortcut-alt =
+ .key =
+ { PLATFORM() ->
+ [linux] j
+ *[other] e
+ }
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+downloads-shortcut =
+ .key =
+ { PLATFORM() ->
+ [linux] y
+ *[other] j
+ }
+
+addons-shortcut =
+ .key = A
+
+file-open-shortcut =
+ .key = o
+
+save-page-shortcut =
+ .key = s
+
+page-source-shortcut =
+ .key = u
+
+# This should match the Option+Command keyboard shortcut letter that Safari
+# and Chrome use for "View Source" on macOS. `page-source-shortcut` above
+# is Firefox's official keyboard shortcut shown in the GUI.
+# Safari variant is an alias provided for the convenience of Safari and Chrome
+# users on macOS. See bug 1398988.
+page-source-shortcut-safari =
+ .key = u
+
+page-info-shortcut =
+ .key = i
+
+print-shortcut =
+ .key = p
+
+mute-toggle-shortcut =
+ .key = M
+
+nav-back-shortcut-alt =
+ .key = Ö
+
+nav-fwd-shortcut-alt =
+ .key = Ä
+
+nav-reload-shortcut =
+ .key = r
+
+# Shortcut available only on macOS.
+nav-stop-shortcut =
+ .key = .
+
+history-show-all-shortcut =
+ .key = H
+
+history-show-all-shortcut-mac =
+ .key = Y
+
+history-sidebar-shortcut =
+ .key = h
+
+full-screen-shortcut =
+ .key = f
+
+reader-mode-toggle-shortcut-windows =
+ .keycode = VK_F9
+
+reader-mode-toggle-shortcut-other =
+ .key = R
+
+picture-in-picture-toggle-shortcut-mac =
+ .key = ]
+
+# Pick the key that is commonly present
+# in your locale keyboards above the
+# `picture-in-picture-toggle-shortcut-mac` key.
+picture-in-picture-toggle-shortcut-mac-alt =
+ .key = { "}" }
+
+picture-in-picture-toggle-shortcut =
+ .key = ]
+
+# Pick the key that is commonly present
+# in your locale keyboards above the
+# `picture-in-picture-toggle-shortcut` key.
+picture-in-picture-toggle-shortcut-alt =
+ .key = { "}" }
+
+bookmark-this-page-shortcut =
+ .key = d
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-library-shortcut =
+ .key = O
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-sidebar-shortcut =
+ .key = b
+
+# Verify what shortcut for that operation
+# are recommended by the Human Interface Guidelines
+# of each platform for your locale.
+bookmark-show-toolbar-shortcut =
+ .key = B
+
+## All `-alt*` messages are alternative acceleration keys for zoom.
+## If shift key is needed with your locale popular keyboard for them,
+## you can use these alternative items. Otherwise, their values should be empty.
+
+full-zoom-reduce-shortcut =
+ .key = -
+
+full-zoom-reduce-shortcut-alt-a =
+ .key = _
+
+full-zoom-reduce-shortcut-alt-b =
+ .key = { "" }
+
+full-zoom-enlarge-shortcut =
+ .key = +
+
+full-zoom-enlarge-shortcut-alt =
+ .key = =
+
+full-zoom-enlarge-shortcut-alt2 =
+ .key = { "" }
+
+full-zoom-reset-shortcut =
+ .key = 0
+
+full-zoom-reset-shortcut-alt =
+ .key = { "" }
+
+##
+
+bidi-switch-direction-shortcut =
+ .key = X
+
+private-browsing-shortcut =
+ .key = P
+
+## The shortcuts below are for Mac specific
+## global menu.
+
+quit-app-shortcut =
+ .key = Q
+
+help-shortcut =
+ .key = ?
+
+preferences-shortcut =
+ .key = ,
+
+hide-app-shortcut =
+ .key = H
+
+hide-other-apps-shortcut =
+ .key = H
diff --git a/l10n-fi/browser/browser/colorways.ftl b/l10n-fi/browser/browser/colorways.ftl
new file mode 100644
index 0000000000..7f6fdffa2d
--- /dev/null
+++ b/l10n-fi/browser/browser/colorways.ftl
@@ -0,0 +1,26 @@
+# 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/.
+
+
+## Colorway collections
+
+## Colorway names and descriptions
+
+playmaker-colorway-name = Pelinrakentaja
+playmaker-colorway-description = Luot mahdollisuuksia voittaa ja autat kaikkia ympärilläsi olevia nostamaan panostaan.
+
+expressionist-colorway-name = Ekspressionisti
+expressionist-colorway-description = Näet maailman eri tavalla ja luomuksesi herättävät tunteita muissa.
+
+visionary-colorway-name = Visionääri
+visionary-colorway-description = Kyseenalaistat vallitsevan ja saat muut kuvittelemaan parempaa tulevaisuutta.
+
+activist-colorway-name = Aktivisti
+activist-colorway-description = Jätät maailman paremmaksi paikaksi kuin mitä se oli löytäessäsi sen ja saat muut uskomaan.
+
+dreamer-colorway-name = Unelmoija
+dreamer-colorway-description = Uskot, että onni suosii rohkeita ja innostaa muita olemaan rohkeita.
+
+innovator-colorway-name = Innovoija
+innovator-colorway-description = Näet mahdollisuuksia kaikkialla ja vaikutat kaikkien ympärilläsi olevien elämään.
diff --git a/l10n-fi/browser/browser/components/mozSupportLink.ftl b/l10n-fi/browser/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..9613a886c7
--- /dev/null
+++ b/l10n-fi/browser/browser/components/mozSupportLink.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/.
+
+moz-support-link-text = Lue lisää
diff --git a/l10n-fi/browser/browser/confirmationHints.ftl b/l10n-fi/browser/browser/confirmationHints.ftl
new file mode 100644
index 0000000000..c0f5d078a8
--- /dev/null
+++ b/l10n-fi/browser/browser/confirmationHints.ftl
@@ -0,0 +1,24 @@
+# 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/.
+
+
+## Confirmation hints
+
+confirmation-hint-breakage-report-sent = Raportti lähetetty. Kiitos!
+confirmation-hint-login-removed = Kirjautumistieto poistettu!
+confirmation-hint-password-removed = Salasana poistettu!
+confirmation-hint-page-bookmarked = Tallennettu kirjanmerkkeihin
+confirmation-hint-password-saved = Salasana tallennettu!
+confirmation-hint-password-created = Salasana tallennettu
+confirmation-hint-password-updated = Salasana päivitetty
+confirmation-hint-address-created = Osoite tallennettu
+confirmation-hint-address-updated = Osoite päivitetty
+confirmation-hint-credit-card-created = Kortti tallennettu
+confirmation-hint-credit-card-updated = Kortti päivitetty
+confirmation-hint-pin-tab = Kiinnitetty!
+confirmation-hint-pin-tab-description = Napsauta välilehteä oikealla painikkeella poistaaksesi kiinnityksen.
+confirmation-hint-send-to-device = Lähetetty!
+confirmation-hint-firefox-relay-mask-created = Uusi maski luotu!
+confirmation-hint-firefox-relay-mask-reused = Olemassa oleva maski käytetty uudelleen!
+confirmation-hint-screenshot-copied = Kuvakaappaus kopioitu!
diff --git a/l10n-fi/browser/browser/contentCrash.ftl b/l10n-fi/browser/browser/contentCrash.ftl
new file mode 100644
index 0000000000..432d634730
--- /dev/null
+++ b/l10n-fi/browser/browser/contentCrash.ftl
@@ -0,0 +1,34 @@
+# 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/.
+
+
+## Subframe crash notification
+
+crashed-subframe-message = <strong>Osa tästä sivusta kaatui.</strong> Lähetäthän raportin, jotta { -brand-product-name } saa tiedon tästä ja voi korjata ongelman nopeammin.
+
+# The string for crashed-subframe-title.title should match crashed-subframe-message,
+# but without any markup.
+crashed-subframe-title =
+ .title = Osa tästä sivusta kaatui. Lähetäthän raportin, jotta { -brand-product-name } saa tiedon tästä ja voi korjata ongelman nopeammin.
+crashed-subframe-learnmore-link =
+ .value = Lue lisää
+crashed-subframe-submit =
+ .label = Lähetä raportti
+ .accesskey = L
+
+## Pending crash reports
+
+# Variables:
+# $reportCount (Number): the number of pending crash reports
+pending-crash-reports-message =
+ { $reportCount ->
+ [one] Yksi kaatumisilmoitus on lähettämättä
+ *[other] { $reportCount } kaatumisilmoitusta on lähettämättä
+ }
+pending-crash-reports-view-all =
+ .label = Näytä
+pending-crash-reports-send =
+ .label = Lähetä
+pending-crash-reports-always-send =
+ .label = Lähetä aina
diff --git a/l10n-fi/browser/browser/customizeMode.ftl b/l10n-fi/browser/browser/customizeMode.ftl
new file mode 100644
index 0000000000..bbd435d907
--- /dev/null
+++ b/l10n-fi/browser/browser/customizeMode.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+customize-mode-restore-defaults =
+ .label = Palauta oletukset
+customize-mode-menu-and-toolbars-header = Vedä suosikkikohteita työkalupalkkiin tai ylivuotovalikkoon.
+customize-mode-overflow-list-title = Ylivuotovalikko
+customize-mode-uidensity =
+ .label = Tiiviys
+customize-mode-done =
+ .label = Valmis
+customize-mode-toolbars =
+ .label = Työkalupalkit
+customize-mode-titlebar =
+ .label = Otsikkopalkki
+customize-mode-uidensity-menu-touch =
+ .label = Kosketusoptimoitu
+ .accesskey = K
+ .tooltiptext = Kosketusoptimoitu
+customize-mode-uidensity-auto-touch-mode-checkbox =
+ .label = Käytä kosketusoptimoitua tablettitilassa
+customize-mode-overflow-list-description = Vedä ja pudota kohteita tänne pitääksesi ne käden ulottuvissa mutta poissa työkalupalkista…
+customize-mode-uidensity-menu-normal =
+ .label = Tavallinen
+ .accesskey = T
+ .tooltiptext = Tavallinen
+customize-mode-uidensity-menu-compact-unsupported =
+ .label = Tiivis (ei tuettu)
+ .accesskey = T
+ .tooltiptext = Tiivis (ei tuettu)
+customize-mode-undo-cmd =
+ .label = Kumoa
+customize-mode-lwthemes-link = Hallinnoi teemoja
+customize-mode-touchbar-cmd =
+ .label = Muokkaa Touch Baria…
+customize-mode-downloads-button-autohide =
+ .label = Piilota painike sen ollessa tyhjä
diff --git a/l10n-fi/browser/browser/defaultBrowserNotification.ftl b/l10n-fi/browser/browser/defaultBrowserNotification.ftl
new file mode 100644
index 0000000000..c5b6dd942e
--- /dev/null
+++ b/l10n-fi/browser/browser/defaultBrowserNotification.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The question portion of the following message should have the <strong> and </strong> tags surrounding it.
+default-browser-notification-message = <strong>Asetetaanko { -brand-short-name } oletusselaimeksi?</strong> Selaa verkkoa nopeasti, turvallisesti ja yksityisyys säilyttäen.
+default-browser-notification-button =
+ .label = Aseta oletukseksi
+ .accesskey = A
+
+## These strings are used for the default browser prompt. There are 2 variations
+## depending on the operating system (Windows vs other). The checkbox label and
+## secondary button are shared between the variants.
+
+default-browser-prompt-title-pin = Asetetaanko { -brand-short-name } pääselaimeksi?
+default-browser-prompt-message-pin = Pidä { -brand-short-name } käden ulottuvilla — aseta se oletusselaimeksi ja kiinnitä se tehtäväpalkkiin.
+default-browser-prompt-message-pin-mac = Pidä { -brand-short-name } käden ulottuvilla — aseta se oletusselaimeksi ja kiinnitä se telakkaan.
+default-browser-prompt-button-primary-pin = Aseta pääselaimeksi
+default-browser-prompt-title-alt = Asetetaanko { -brand-short-name } oletusselaimeksi?
+default-browser-prompt-message-alt = Nopeutta, turvallisuutta ja yksityisyyttä joka kerta kun selaat.
+default-browser-prompt-button-primary-alt = Aseta oletusselaimeksi
+default-browser-prompt-checkbox-not-again-label = Älä näytä tätä viestiä uudelleen
+default-browser-prompt-button-secondary = Ei nyt
diff --git a/l10n-fi/browser/browser/downloads.ftl b/l10n-fi/browser/browser/downloads.ftl
new file mode 100644
index 0000000000..80617f6752
--- /dev/null
+++ b/l10n-fi/browser/browser/downloads.ftl
@@ -0,0 +1,254 @@
+# 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/.
+
+
+## The title and aria-label attributes are used by screen readers to describe
+## the Downloads Panel.
+
+downloads-window =
+ .title = Lataukset
+downloads-panel =
+ .aria-label = Lataukset
+
+##
+
+# The style attribute has the width of the Downloads Panel expressed using
+# a CSS unit. The longest labels that should fit are usually those of
+# in-progress and blocked downloads.
+downloads-panel-items =
+ .style = width: 35em
+
+downloads-cmd-pause =
+ .label = Pysäytä
+ .accesskey = y
+downloads-cmd-resume =
+ .label = Jatka
+ .accesskey = J
+downloads-cmd-cancel =
+ .tooltiptext = Peruuta
+downloads-cmd-cancel-panel =
+ .aria-label = Peruuta
+
+downloads-cmd-show-menuitem-2 =
+ .label =
+ { PLATFORM() ->
+ [macos] Näytä Finderissa
+ *[other] Näytä kansiossa
+ }
+ .accesskey = N
+
+## Displayed in the downloads context menu for files that can be opened.
+## Variables:
+## $handler (String) - The name of the mime type's default file handler.
+## Example: "Notepad", "Acrobat Reader DC", "7-Zip File Manager"
+
+downloads-cmd-use-system-default =
+ .label = Avaa järjestelmän katseluohjelmassa
+ .accesskey = v
+# This version is shown when the download's mime type has a valid file handler.
+downloads-cmd-use-system-default-named =
+ .label = Avaa sovelluksella { $handler }
+ .accesskey = s
+
+# We can use the same accesskey as downloads-cmd-always-open-similar-files.
+# Both should not be visible in the downloads context menu at the same time.
+downloads-cmd-always-use-system-default =
+ .label = Avaa aina järjestelmän katseluohjelmassa
+ .accesskey = t
+# We can use the same accesskey as downloads-cmd-always-open-similar-files.
+# Both should not be visible in the downloads context menu at the same time.
+# This version is shown when the download's mime type has a valid file handler.
+downloads-cmd-always-use-system-default-named =
+ .label = Avaa aina sovelluksella { $handler }
+ .accesskey = a
+
+##
+
+# We can use the same accesskey as downloads-cmd-always-use-system-default.
+# Both should not be visible in the downloads context menu at the same time.
+downloads-cmd-always-open-similar-files =
+ .label = Avaa aina samankaltaiset tiedostot
+ .accesskey = A
+
+downloads-cmd-show-button-2 =
+ .tooltiptext =
+ { PLATFORM() ->
+ [macos] Näytä Finderissa
+ *[other] Näytä kansiossa
+ }
+
+downloads-cmd-show-panel-2 =
+ .aria-label =
+ { PLATFORM() ->
+ [macos] Näytä Finderissa
+ *[other] Näytä kansiossa
+ }
+downloads-cmd-show-description-2 =
+ .value =
+ { PLATFORM() ->
+ [macos] Näytä Finderissa
+ *[other] Näytä kansiossa
+ }
+
+downloads-cmd-show-downloads =
+ .label = Näytä latauskansio
+downloads-cmd-retry =
+ .tooltiptext = Yritä uudestaan
+downloads-cmd-retry-panel =
+ .aria-label = Yritä uudestaan
+downloads-cmd-go-to-download-page =
+ .label = Avaa lataussivu
+ .accesskey = l
+downloads-cmd-copy-download-link =
+ .label = Kopioi latausosoite
+ .accesskey = K
+downloads-cmd-remove-from-history =
+ .label = Poista historiasta
+ .accesskey = h
+downloads-cmd-clear-list =
+ .label = Tyhjennä esikatselupaneeli
+ .accesskey = a
+downloads-cmd-clear-downloads =
+ .label = Tyhjennä latauslista
+ .accesskey = a
+downloads-cmd-delete-file =
+ .label = Poista
+ .accesskey = P
+
+# This command is shown in the context menu when downloads are blocked.
+downloads-cmd-unblock =
+ .label = Salli lataus
+ .accesskey = S
+
+# This is the tooltip of the action button shown when malware is blocked.
+downloads-cmd-remove-file =
+ .tooltiptext = Poista tiedosto
+
+downloads-cmd-remove-file-panel =
+ .aria-label = Poista tiedosto
+
+# This is the tooltip of the action button shown when potentially unwanted
+# downloads are blocked. This opens a dialog where the user can choose
+# whether to unblock or remove the download. Removing is the default option.
+downloads-cmd-choose-unblock =
+ .tooltiptext = Poista tiedosto tai salli lataus
+
+downloads-cmd-choose-unblock-panel =
+ .aria-label = Poista tiedosto tai salli lataus
+
+# This is the tooltip of the action button shown when uncommon downloads are
+# blocked.This opens a dialog where the user can choose whether to open the
+# file or remove the download. Opening is the default option.
+downloads-cmd-choose-open =
+ .tooltiptext = Avaa tai poista tiedosto
+
+downloads-cmd-choose-open-panel =
+ .aria-label = Avaa tai poista tiedosto
+
+# Displayed when hovering a blocked download, indicates that it's possible to
+# show more information for user to take the next action.
+downloads-show-more-information =
+ .value = Näytä lisätietoja
+
+# Displayed when hovering a complete download, indicates that it's possible to
+# open the file using an app available in the system.
+downloads-open-file =
+ .value = Avaa tiedosto
+
+## Displayed when the user clicked on a download in process. Indicates that the
+## downloading file will be opened after certain amount of time using an app
+## available in the system.
+## Variables:
+## $hours (number) - Amount of hours left till the file opens.
+## $seconds (number) - Amount of seconds left till the file opens.
+## $minutes (number) - Amount of minutes till the file opens.
+
+downloading-file-opens-in-hours-and-minutes-2 =
+ .value = Avataan { $hours } t { $minutes } min kuluttua…
+downloading-file-opens-in-minutes-2 =
+ .value = Avataan { $minutes } min kuluttua…
+downloading-file-opens-in-minutes-and-seconds-2 =
+ .value = Avataan { $minutes } min { $seconds } s kuluttua…
+downloading-file-opens-in-seconds-2 =
+ .value = Avataan { $seconds } s kuluttua…
+downloading-file-opens-in-some-time-2 =
+ .value = Avataan latauksen valmistuttua…
+downloading-file-click-to-open =
+ .value = Avaa kun valmistuu
+
+##
+
+# Displayed when hovering a download which is able to be retried by users,
+# indicates that it's possible to download this file again.
+downloads-retry-download =
+ .value = Yritä ladata uudestaan
+
+# Displayed when hovering a download which is able to be cancelled by users,
+# indicates that it's possible to cancel and stop the download.
+downloads-cancel-download =
+ .value = Peruuta lataus
+
+# This string is shown at the bottom of the Downloads Panel when all the
+# downloads fit in the available space, or when there are no downloads in
+# the panel at all.
+downloads-history =
+ .label = Näytä kaikki lataukset
+ .accesskey = N
+
+# This string is shown at the top of the Download Details Panel, to indicate
+# that we are showing the details of a single download.
+downloads-details =
+ .title = Latauksen yksityiskohdat
+
+## Displayed when a site attempts to automatically download many files.
+## Variables:
+## $num (number) - Number of blocked downloads.
+## $url (string) - The url of the suspicious site, stripped of http, https and www prefix.
+
+downloads-files-not-downloaded =
+ { $num ->
+ [one] Tiedostoa ei ladattu.
+ *[other] { $num } tiedostoa ei ladattu.
+ }
+downloads-blocked-from-url = Lataukset estetty osoitteesta { $url }.
+downloads-blocked-download-detailed-info = { $url } yritti ladata automaattisesti useita tiedostoja. Sivusto saattaa olla rikki tai se yrittää tallentaa tarpeettomia roskatiedostoja laitteellesi.
+
+##
+
+downloads-clear-downloads-button =
+ .label = Tyhjennä latauslista
+ .tooltiptext = Poistaa listalta valmistuneet, peruutetut ja epäonnistuneet lataukset
+
+# This string is shown when there are no items in the Downloads view, when it
+# is displayed inside a browser tab.
+downloads-list-empty =
+ .value = Ei latauksia.
+
+# This string is shown when there are no items in the Downloads Panel.
+downloads-panel-empty =
+ .value = Ei latauksia tämän istunnon aikana.
+
+# This is displayed in an item at the bottom of the Downloads Panel when there
+# are more downloads than can fit in the list in the panel.
+# $count (number) - number of files being downloaded that are not shown in the
+# panel list.
+downloads-more-downloading =
+ { $count ->
+ [one] { $count } tiedosto lisää latautumassa
+ *[other] { $count } tiedostoa lisää latautumassa
+ }
+
+## Download errors
+
+downloads-error-alert-title = Latausvirhe
+# Variables:
+# $extension (String): the name of the blocking extension.
+downloads-error-blocked-by = Tätä latausta ei voi tallentaa, koska laajennus { $extension } estää sen.
+# Used when the name of the blocking extension is unavailable.
+downloads-error-extension = Tätä latausta ei voi tallentaa, koska laajennus estää sen.
+# Line breaks in this message are meaningful, and should be maintained.
+downloads-error-generic =
+ Latauksen tallennus ei onnistunut tuntemattomasta syystä.
+
+ Yritä uudestaan.
diff --git a/l10n-fi/browser/browser/editBookmarkOverlay.ftl b/l10n-fi/browser/browser/editBookmarkOverlay.ftl
new file mode 100644
index 0000000000..4fca6d7eb5
--- /dev/null
+++ b/l10n-fi/browser/browser/editBookmarkOverlay.ftl
@@ -0,0 +1,49 @@
+# 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/.
+
+bookmark-overlay-name-2 =
+ .value = Nimi
+ .accesskey = N
+bookmark-overlay-url =
+ .value = Osoite
+ .accesskey = O
+# Location refers to the position of the bookmark within the browser's
+# bookmarks, not to its URL or address.
+bookmark-overlay-location-2 =
+ .value = Sijainti
+ .accesskey = S
+bookmark-overlay-choose =
+ .label = Valitse…
+bookmark-overlay-folders-expander =
+ .tooltiptext = Näytä kaikki kirjanmerkkikansiot
+ .tooltiptextdown = { bookmark-overlay-folders-expander.tooltiptext }
+ .tooltiptextup = Piilota
+bookmark-overlay-folders-expander2 =
+ .tooltiptext = Näytä kaikki kirjanmerkkikansiot
+bookmark-overlay-folders-expander-hide =
+ .tooltiptext = Piilota
+# bookmark-overlay-folders-tree is used to provide an accessible name to the tree view of the Bookmarks directory, when it is expanded
+bookmark-overlay-folders-tree =
+ .aria-label = Kansiot
+bookmark-overlay-new-folder-button =
+ .label = Uusi kansio
+ .accesskey = U
+bookmark-overlay-tags-2 =
+ .value = Avainsanat
+ .accesskey = A
+bookmark-overlay-tags-empty-description =
+ .placeholder = Erottele avainsanat pilkulla
+bookmark-overlay-tags-expander =
+ .tooltiptext = Näytä kaikki avainsanat
+ .tooltiptextdown = { bookmark-overlay-tags-expander.tooltiptext }
+ .tooltiptextup = Piilota
+bookmark-overlay-tags-expander2 =
+ .tooltiptext = Näytä kaikki avainsanat
+bookmark-overlay-tags-expander-hide =
+ .tooltiptext = Piilota
+bookmark-overlay-keyword-2 =
+ .value = Pikakomento
+ .accesskey = P
+bookmark-overlay-tags-caption-label = Järjestä ja etsi kirjanmerkkejä osoitepalkista avainsanojen avulla
+bookmark-overlay-keyword-caption-label-2 = Käytä yksittäistä pikakomentoa avataksesi kirjanmerkit suoraan osoitepalkista
diff --git a/l10n-fi/browser/browser/extensionsUI.ftl b/l10n-fi/browser/browser/extensionsUI.ftl
new file mode 100644
index 0000000000..c0279a14ba
--- /dev/null
+++ b/l10n-fi/browser/browser/extensionsUI.ftl
@@ -0,0 +1,33 @@
+# 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/.
+
+webext-perms-learn-more = Lue lisää
+# Variables:
+# $addonName (String): localized named of the extension that is asking to change the default search engine.
+# $currentEngine (String): name of the current search engine.
+# $newEngine (String): name of the new search engine.
+webext-default-search-description = { $addonName } haluaa vaihtaa oletushakukoneen { $currentEngine } hakukoneeksi { $newEngine }. Sopiiko tämä?
+webext-default-search-yes =
+ .label = Kyllä
+ .accesskey = K
+webext-default-search-no =
+ .label = Ei
+ .accesskey = E
+# Variables:
+# $addonName (String): localized named of the extension that was just installed.
+addon-post-install-message = { $addonName } lisättiin.
+
+## A modal confirmation dialog to allow an extension on quarantined domains.
+
+# Variables:
+# $addonName (String): localized name of the extension.
+webext-quarantine-confirmation-title = Suoritetaanko { $addonName } rajoitetuilla sivustoilla?
+webext-quarantine-confirmation-line-1 = Tietojesi suojaamiseksi tämä laajennus ei ole sallittu tällä sivustolla.
+webext-quarantine-confirmation-line-2 = Salli tämän laajennuksen, jos luotat siihen, lukea ja muuttaa tietojasi sivustoilla, joita { -vendor-short-name } rajoittaa.
+webext-quarantine-confirmation-allow =
+ .label = Salli
+ .accesskey = A
+webext-quarantine-confirmation-deny =
+ .label = Älä salli
+ .accesskey = Ä
diff --git a/l10n-fi/browser/browser/featureCallout.ftl b/l10n-fi/browser/browser/featureCallout.ftl
new file mode 100644
index 0000000000..e765cd5bf9
--- /dev/null
+++ b/l10n-fi/browser/browser/featureCallout.ftl
@@ -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/.
+
+# Callout dialog primary button to advance to next screen
+callout-primary-advance-button-label = Seuraava
+
+# Callout dialog primary button to complete the feature tour
+callout-primary-complete-button-label = Selvä!
+
+## Firefox View feature tour strings
+
+# "Tab pickup" refers to the section in Firefox View that displays open
+# tabs from other devices
+callout-firefox-view-tab-pickup-title = Vaihtele laitteiden välillä välilehtien poiminnalla
+
+callout-firefox-view-tab-pickup-subtitle = Nouda puhelimestasi avoimet välilehdet ja avaa ne täällä tehokkaan työnkulun saavuttamiseksi.
+
+callout-firefox-view-recently-closed-title = Palauta suljetut välilehdet hetkessä
+
+callout-firefox-view-recently-closed-subtitle = Kaikki sulkemasi välilehdet näkyvät taianomaisesti täällä. Älä ole enää huolissasi sivun sulkemisesta vahingossa.
+
+callout-firefox-view-colorways-title = Lisää ripaus väriä
+
+# "Shade" refer to different color options in each colorway.
+callout-firefox-view-colorways-subtitle = Valitse värisävy, joka puhuttelee sinua. Vain { -brand-product-name }issa.
+
+callout-firefox-view-colorways-reminder-title = Tutustu uusimpiin väriteemoihin
+
+# “Shades” refers to the different color options in each colorways
+callout-firefox-view-colorways-reminder-subtitle = Väritä selaimesi näillä ikonisilla sävyillä, jotka ovat saaneet vaikutteita itsenäisistä äänistä. Vain { -brand-product-name }issa.
+
+## Continuous Onboarding - Firefox View: Tab pick up
+
+# “Boost your browsing” refers to the added benefit the user receives from having
+# access to the same browsing experience when moving from one browser to another.
+# Alternative: ”Improve your browsing experience with tab pickup”
+continuous-onboarding-firefox-view-tab-pickup-title = Tehosta selaamistasi välilehden poiminnalla
+
+continuous-onboarding-firefox-view-tab-pickup-subtitle = Käytä avoimia välilehtiä millä tahansa laitteella. Lisäksi synkronoi kirjanmerkkisi, salasanasi ja paljon muuta.
+
+continuous-onboarding-firefox-view-tab-pickup-primary-button-label = Aloitetaan
+
+## PDF.js Feature Tour Strings
+
+callout-pdfjs-edit-title = Muokkaa PDF-tiedostoja uudella tekstityökalullamme
+callout-pdfjs-edit-body-a = Täytä lomakkeita, lisää kommentteja tai tee muistiinpanoja suoraan { -brand-short-name }issa.
+callout-pdfjs-edit-body-b = Lopeta ilmaisten verkkoeditorien etsiminen. Täytä lomakkeita, lisää kommentteja tai tee muistiinpanoja suoraan { -brand-short-name }issa.
+callout-pdfjs-edit-button = Seuraava
+
+callout-pdfjs-draw-title = Allekirjoita asiakirjat uudella piirtotyökalullamme
+# “Mark up” refers to the process of “annotating” or adding free hand text or diagramming to the document.
+callout-pdfjs-draw-body-a = Tee merkintöjä PDF-tiedostoihin ja tallenna muutokset.
+# “Mark up” refers to the process of “annotating” or adding free hand text or diagramming to the document.
+callout-pdfjs-draw-body-b = Ei enää tulostamista ja skannausta. Tee merkintöjä PDF-tiedostoihin ja tallenna muutokset.
+callout-pdfjs-draw-button = Selvä!
diff --git a/l10n-fi/browser/browser/firefoxRelay.ftl b/l10n-fi/browser/browser/firefoxRelay.ftl
new file mode 100644
index 0000000000..c6f501d6f8
--- /dev/null
+++ b/l10n-fi/browser/browser/firefoxRelay.ftl
@@ -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/.
+
+
+## Error messages for failed HTTP web requests.
+## https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses
+## Variables:
+## $status (Number) - HTTP status code, for example 403
+
+firefox-relay-mask-generation-failed = { -relay-brand-name } ei voinut luoda uutta maskia. HTTP-virhekoodi: { $status }.
+firefox-relay-get-reusable-masks-failed = { -relay-brand-name } ei löytänyt uudelleenkäytettäviä maskeja. HTTP-virhekoodi: { $status }.
+
+##
+
+firefox-relay-must-login-to-fxa = Sinun on kirjauduttava sisään { -fxaccount-brand-name }llesi, jotta voit käyttää { -relay-brand-name }-palvelua.
+firefox-relay-must-login-to-account = Kirjaudu sisään tiliisi käyttääksesi { -relay-brand-name } -sähköpostimaskeja.
+firefox-relay-get-unlimited-masks =
+ .label = Hallitse maskeja
+ .accesskey = m
+# This is followed, on a new line, by firefox-relay-opt-in-subtitle-1
+firefox-relay-opt-in-title-1 = Suojaa sähköpostiosoitteesi:
+# This is preceded by firefox-relay-opt-in-title-1 (on a different line), which
+# ends with a colon. You might need to adapt the capitalization of this string.
+firefox-relay-opt-in-subtitle-1 = Käytä { -relay-brand-name } -sähköpostimaskia
+firefox-relay-use-mask-title = Käytä { -relay-brand-name } -sähköpostimaskia
+firefox-relay-opt-in-confirmation-enable-button =
+ .label = Käytä sähköpostimaskia
+ .accesskey = U
+firefox-relay-opt-in-confirmation-disable =
+ .label = Älä näytä uudestaan
+ .accesskey = Ä
+firefox-relay-opt-in-confirmation-postpone =
+ .label = Ei nyt
+ .accesskey = n
diff --git a/l10n-fi/browser/browser/firefoxView.ftl b/l10n-fi/browser/browser/firefoxView.ftl
new file mode 100644
index 0000000000..9e4e2a93c2
--- /dev/null
+++ b/l10n-fi/browser/browser/firefoxView.ftl
@@ -0,0 +1,248 @@
+# 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/.
+
+toolbar-button-firefox-view =
+ .label = { -firefoxview-brand-name }
+ .tooltiptext = { -firefoxview-brand-name }
+toolbar-button-firefox-view-2 =
+ .label = { -firefoxview-brand-name }
+ .tooltiptext = Näytä äskettäinen selailu eri ikkunoissa ja laitteilla
+menu-tools-firefox-view =
+ .label = { -firefoxview-brand-name }
+ .accesskey = F
+firefoxview-page-title = { -firefoxview-brand-name }
+firefoxview-page-label =
+ .label = { -firefoxview-brand-name }
+firefoxview-close-button =
+ .title = Sulje
+ .aria-label = Sulje
+firefoxview-empty-state-icon =
+ .alt = Huomio:
+# Used instead of the localized relative time when a timestamp is within a minute or so of now
+firefoxview-just-now-timestamp = Juuri nyt
+# This is a headline for an area in the product where users can resume and re-open tabs they have previously viewed on other devices.
+firefoxview-tabpickup-header = Välilehden valinta
+firefoxview-tabpickup-description = Avaa sivuja muilta laitteilta.
+# Variables:
+# $percentValue (Number): the percentage value for setup completion
+firefoxview-tabpickup-progress-label = { $percentValue } % valmiina
+firefoxview-tabpickup-step-signin-header = Vaihda saumattomasti laitteiden välillä
+firefoxview-tabpickup-step-signin-description = Noutaaksesi puhelimen välilehdet tänne, kirjaudu ensin sisään tai luo tili.
+firefoxview-tabpickup-step-signin-primarybutton = Jatka
+firefoxview-syncedtabs-signin-header = Nappaa välilehdet mistä tahansa
+firefoxview-syncedtabs-signin-description = Näet välilehdet kaikkialla, missä käytät { -brand-product-name }ia, kun kirjaudut sisään tilillesi. Jos sinulla ei ole tiliä, opastamme sinut rekisteröitymisen vaiheiden läpi.
+firefoxview-syncedtabs-signin-primarybutton = Kirjaudu tai rekisteröidy
+firefoxview-tabpickup-adddevice-header = Synkronoi { -brand-product-name } puhelimellasi tai tablet-laitteellasi
+firefoxview-tabpickup-adddevice-description = Lataa { -brand-product-name } mobiililaitteelle ja kirjaudu sisään.
+firefoxview-tabpickup-adddevice-learn-how = Lue lisää
+firefoxview-tabpickup-adddevice-primarybutton = Hanki { -brand-product-name } mobiililaitteelle
+firefoxview-syncedtabs-adddevice-header = Kirjaudu sisään { -brand-product-name }iin muilla laitteillasi
+firefoxview-syncedtabs-adddevice-description = Näet välilehdet kaikkialla, missä käytät { -brand-product-name }ia, kun kirjaudut sisään tilillesi kaikilla laitteillasi. Tietoa <a data-l10n-name="url">muiden laitteiden yhdistämisestä</a>.
+firefoxview-syncedtabs-adddevice-primarybutton = Kokeile { -brand-product-name }ia mobiililaitteella
+firefoxview-tabpickup-synctabs-header = Ota välilehtien synkronointi käyttöön
+firefoxview-tabpickup-synctabs-description = Salli { -brand-short-name }in jakaa välilehtiä laitteiden välillä.
+firefoxview-tabpickup-synctabs-learn-how = Lue lisää
+firefoxview-tabpickup-synctabs-primarybutton = Synkronoi avoimet välilehdet
+firefoxview-syncedtabs-synctabs-header = Päivitä synkronointiasetukset
+firefoxview-syncedtabs-synctabs-description = Jos haluat nähdä muiden laitteiden välilehdet, sinun on synkronoitava avoimet välilehdet.
+firefoxview-syncedtabs-synctabs-checkbox = Salli avointen välilehtien synkronointi
+firefoxview-syncedtabs-loading-header = Synkronointi käynnissä
+firefoxview-syncedtabs-loading-description = Kun se valmistuu, näet kaikki muilla laitteilla avoinna olevat välilehdet. Tarkista pian uudelleen.
+firefoxview-tabpickup-fxa-admin-disabled-header = Organisaatiosi on poistanut synkronoinnin käytöstä
+firefoxview-tabpickup-fxa-admin-disabled-description = { -brand-short-name } ei voi synkronoida välilehtiä laitteiden välillä, koska laitteesi järjestelmänvalvoja on poistanut synkronoinnin käytöstä.
+firefoxview-tabpickup-network-offline-header = Tarkista Internet-yhteytesi
+firefoxview-tabpickup-network-offline-description = Jos käytät palomuuria tai välityspalvelinta, tarkista että { -brand-short-name } on oikeutettu käyttämään verkkoa.
+firefoxview-tabpickup-network-offline-primarybutton = Yritä uudelleen
+firefoxview-tabpickup-sync-error-header = Synkronoinnin kanssa on ongelmia
+firefoxview-tabpickup-generic-sync-error-description = { -brand-short-name } ei saa yhteyttä synkronointipalveluun juuri nyt. Yritä uudelleen hetken kuluttua.
+firefoxview-tabpickup-sync-error-primarybutton = Yritä uudelleen
+firefoxview-tabpickup-sync-disconnected-header = Ota synkronointi käyttöön jatkaaksesi
+firefoxview-tabpickup-sync-disconnected-description = Jotta pääset käyttämään välilehtiäsi, sinun tulee sallia { -brand-short-name }in synkronointi.
+firefoxview-tabpickup-sync-disconnected-primarybutton = Ota synkronointi käyttöön asetuksista
+firefoxview-tabpickup-password-locked-header = Anna pääsalasanasi nähdäksesi välilehdet
+firefoxview-tabpickup-password-locked-description = Jotta pääset käyttämään välilehtiäsi, sinun tulee kirjoittaa { -brand-short-name }in pääsalasana.
+firefoxview-tabpickup-password-locked-link = Lue lisää
+firefoxview-tabpickup-password-locked-primarybutton = Kirjoita pääsalasana
+firefoxview-syncedtab-password-locked-link = <a data-l10n-name="syncedtab-password-locked-link">Lisätietoja</a>
+firefoxview-tabpickup-signed-out-header = Kirjaudu yhdistääksesi uudelleen
+firefoxview-tabpickup-signed-out-description = Muodosta yhteys uudelleen ja nouda välilehdet kirjautumalla sisään { -fxaccount-brand-name }llesi.
+firefoxview-tabpickup-signed-out-description2 = Muodosta yhteys uudelleen ja nouda välilehdet kirjautumalla sisään tilillesi.
+firefoxview-tabpickup-signed-out-primarybutton = Kirjaudu sisään
+firefoxview-tabpickup-syncing = Odota, kun välilehdet synkronoidaan. Siinä kestää vain hetki.
+firefoxview-mobile-promo-header = Nappaa välilehtiä puhelimestasi tai tabletistasi
+firefoxview-mobile-promo-description = Voit tarkastella uusimpia mobiililaitteellasi olevia välilehtiä kirjautumalla sisään { -brand-product-name }iin iOS- tai Android-laitteella.
+firefoxview-mobile-promo-primarybutton = Hanki { -brand-product-name } mobiililaitteelle
+firefoxview-mobile-confirmation-header = 🎉 Kaikki valmista!
+firefoxview-mobile-confirmation-description = Nyt voit käyttää tablet-laitteesi tai puhelimesi { -brand-product-name }in välilehtiä.
+firefoxview-closed-tabs-title = Viimeksi suljetut
+firefoxview-closed-tabs-description2 = Avaa uudelleen tässä ikkunassa sulkemasi sivut.
+firefoxview-closed-tabs-placeholder-header = Ei viimeksi suljettuja välilehtiä
+firefoxview-closed-tabs-placeholder-body = Kun suljet välilehden tässä ikkunassa, voit hakea sen täältä.
+firefoxview-closed-tabs-placeholder-body2 = Kun suljet välilehden, voit hakea sen täältä.
+# Variables:
+# $tabTitle (string) - Title of tab being dismissed
+firefoxview-closed-tabs-dismiss-tab =
+ .title = Hylkää { $tabTitle }
+# refers to the last tab that was used
+firefoxview-pickup-tabs-badge = Viimeksi aktiivinen
+# Variables:
+# $targetURI (string) - URL that will be opened in the new tab
+firefoxview-tabs-list-tab-button =
+ .title = Avaa { $targetURI } uuteen välilehteen
+firefoxview-try-colorways-button = Kokeile väriteemoja
+firefoxview-change-colorway-button = Vaihda väriteemaa
+# Variables:
+# $intensity (String): Colorway intensity
+# $collection (String): Colorway Collection name
+firefoxview-colorway-description = { $intensity } · { $collection }
+firefoxview-synced-tabs-placeholder-header = Ei vielä mitään nähtävää
+firefoxview-synced-tabs-placeholder-body = Kun seuraavan kerran avaat sivun { -brand-product-name }issa toisella laitteella, pääset palaamaan siihen tästä.
+firefoxview-collapse-button-show =
+ .title = Näytä lista
+firefoxview-collapse-button-hide =
+ .title = Piilota lista
+firefoxview-overview-nav = Viimeaikainen selaus
+ .title = Viimeaikainen selaus
+firefoxview-overview-header = Viimeaikainen selaus
+ .title = Viimeaikainen selaus
+
+## History in this context refers to browser history
+
+firefoxview-history-nav = Sivuhistoria
+ .title = Sivuhistoria
+firefoxview-history-header = Sivuhistoria
+firefoxview-history-context-delete = Poista historiasta
+ .accesskey = P
+
+## Open Tabs in this context refers to all open tabs in the browser
+
+firefoxview-opentabs-nav = Avoimet välilehdet
+ .title = Avoimet välilehdet
+firefoxview-opentabs-header = Avoimet välilehdet
+
+## Recently closed tabs in this context refers to recently closed tabs from all windows
+
+firefoxview-recently-closed-nav = Suljetut välilehdet
+ .title = Suljetut välilehdet
+firefoxview-recently-closed-header = Suljetut välilehdet
+
+## Tabs from other devices refers in this context refers to synced tabs from other devices
+
+firefoxview-synced-tabs-nav = Välilehdet muista laitteista
+ .title = Välilehdet muista laitteista
+firefoxview-synced-tabs-header = Välilehdet muista laitteista
+
+##
+
+# Used for a link in collapsible cards, in the ’Recent browsing’ page of Firefox View
+firefoxview-view-all-link = Näytä kaikki
+# Variables:
+# $winID (Number) - The index of the owner window for this set of tabs
+firefoxview-opentabs-window-header =
+ .title = Ikkuna { $winID }
+# Variables:
+# $winID (Number) - The index of the owner window (which is currently focused) for this set of tabs
+firefoxview-opentabs-current-window-header =
+ .title = Ikkuna { $winID } (nykyinen)
+firefoxview-opentabs-focus-tab =
+ .title = Siirry tähän välilehteen
+firefoxview-show-more = Näytä lisää
+firefoxview-show-less = Näytä vähemmän
+firefoxview-show-all = Näytä kaikki
+firefoxview-search-text-box-clear-button =
+ .title = Tyhjennä
+# Placeholder for the input field to search in recent browsing ("search" is a verb).
+firefoxview-search-text-box-recentbrowsing =
+ .placeholder = Hae
+# Placeholder for the input field to search in history ("search" is a verb).
+firefoxview-search-text-box-history =
+ .placeholder = Etsi historiasta
+# Placeholder for the input field to search in recently closed tabs ("search" is a verb).
+firefoxview-search-text-box-recentlyclosed =
+ .placeholder = Hae äskettäin suljetuista välilehdistä
+# Placeholder for the input field to search in tabs from other devices ("search" is a verb).
+firefoxview-search-text-box-syncedtabs =
+ .placeholder = Etsi synkronoiduista välilehdistä
+# Placeholder for the input field to search in open tabs ("search" is a verb).
+firefoxview-search-text-box-opentabs =
+ .placeholder = Etsi avoimista välilehdistä
+# "Search" is a noun (as in "Results of the search for")
+# Variables:
+# $query (String) - The search query used for searching through browser history.
+firefoxview-search-results-header = Tulokset haulle “{ $query }”
+# Variables:
+# $count (Number) - The number of visits matching the search query.
+firefoxview-search-results-count =
+ { $count ->
+ [one] { $count } sivusto
+ *[other] { $count } sivustoa
+ }
+# Message displayed when a search is performed and no matching results were found.
+# Variables:
+# $query (String) - The search query.
+firefoxview-search-results-empty = Ei tuloksia haulla "{ $query }"
+firefoxview-sort-history-by-date-label = Järjestä päiväyksen mukaan
+firefoxview-sort-history-by-site-label = Järjestä sivuston mukaan
+# Variables:
+# $url (string) - URL that will be opened in the new tab
+firefoxview-opentabs-tab-row =
+ .title = Vaihda osoitteeseen { $url }
+
+## Variables:
+## $date (string) - Date to be formatted based on locale
+
+firefoxview-history-date-today = Tänään - { DATETIME($date, dateStyle: "full") }
+firefoxview-history-date-yesterday = Eilen - { DATETIME($date, dateStyle: "full") }
+firefoxview-history-date-this-month = { DATETIME($date, dateStyle: "full") }
+firefoxview-history-date-prev-month = { DATETIME($date, month: "long", year: "numeric") }
+# When history is sorted by site, this heading is used in place of a domain, in
+# order to group sites that do not come from an outside host.
+# For example, this would be the heading for all file:/// URLs in history.
+firefoxview-history-site-localhost = (paikalliset tiedostot)
+
+##
+
+firefoxview-show-all-history = Näytä koko historia
+firefoxview-view-more-browsing-history = Näytä lisää selaushistoriaa
+
+## Message displayed in Firefox View when the user has no history data
+
+firefoxview-history-empty-header = Palaa sinne missä olit
+firefoxview-history-empty-description = Kun selaat, vierailemasi sivut näkyvät tässä.
+firefoxview-history-empty-description-two = Yksityisyytesi suojaaminen on toimintamme ydin. Tästä syystä voit hallita <a data-l10n-name="history-settings-url">historia-asetuksissa</a>, mitä toimintaa { -brand-short-name } muistaa.
+
+##
+
+# Button text for choosing a browser within the ’Import history from another browser’ banner
+firefoxview-choose-browser-button = Valitse selain
+ .title = Valitse selain
+
+## Message displayed in Firefox View when the user has chosen to never remember History
+
+firefoxview-dont-remember-history-empty-header = Ei mitään näytettävää
+firefoxview-dont-remember-history-empty-description = Yksityisyytesi suojaaminen on toimintamme ydin. Sen vuoksi voit hallita, mitä toimintaa { -brand-short-name } muistaa.
+firefoxview-dont-remember-history-empty-description-two = Nykyisten asetustesi perusteella { -brand-short-name } ei muista toimintaasi selaamisen aikana. Voit muuttaa tätä <a data-l10n-name="history-settings-url-two">muuttamalla historia-asetuksia niin, että selain muistaa selaushistorian</a>.
+
+##
+
+# This label is read by screen readers when focusing the close button for the "Import history from another browser" banner in Firefox View
+firefoxview-import-history-close-button =
+ .aria-label = Sulje
+ .title = Sulje
+
+## Text displayed in a dismissable banner to import bookmarks/history from another browser
+
+firefoxview-import-history-header = Tuo historia toisesta selaimesta
+firefoxview-import-history-description = Tee { -brand-short-name }ista oletusselain. Tuo selaushistoria, kirjanmerkit ja paljon muuta.
+
+## Message displayed in Firefox View when the user has no recently closed tabs data
+
+firefoxview-recentlyclosed-empty-header = Suljitko välilehden liian nopeasti?
+firefoxview-recentlyclosed-empty-description = Täältä löydät äskettäin sulkemasi välilehdet, joten voit avata minkä tahansa niistä nopeasti uudelleen.
+firefoxview-recentlyclosed-empty-description-two = Jos haluat etsiä välilehtiä ajan takaa, tarkastele <a data-l10n-name="history-url">selaushistoriaa</a>.
+
+## This message is displayed below the name of another connected device when it doesn't have any open tabs.
+
+firefoxview-syncedtabs-device-notabs = Ei avoimia välilehtiä tällä laitteella
+firefoxview-syncedtabs-connect-another-device = Yhdistä toinen laite
diff --git a/l10n-fi/browser/browser/firefoxWebAuthn.ftl b/l10n-fi/browser/browser/firefoxWebAuthn.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-fi/browser/browser/firefoxWebAuthn.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-fi/browser/browser/fxviewTabList.ftl b/l10n-fi/browser/browser/fxviewTabList.ftl
new file mode 100644
index 0000000000..37b9402f2e
--- /dev/null
+++ b/l10n-fi/browser/browser/fxviewTabList.ftl
@@ -0,0 +1,57 @@
+# 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/.
+
+fxviewtabrow-open-menu-button =
+ .title = Avaa valikko
+# Variables:
+# $date (string) - Date to be formatted based on locale
+fxviewtabrow-date = { DATETIME($date, dateStyle: "short") }
+# Variables:
+# $time (string) - Time to be formatted based on locale
+fxviewtabrow-time = { DATETIME($time, timeStyle: "short") }
+# Variables:
+# $targetURI (string) - URL of tab that will be opened in the new tab
+fxviewtabrow-tabs-list-tab =
+ .title = Avaa { $targetURI } uuteen välilehteen
+# Variables:
+# $tabTitle (string) - Title of tab being dismissed
+fxviewtabrow-dismiss-tab-button =
+ .title = Hylkää { $tabTitle }
+# Used instead of the localized relative time when a timestamp is within a minute or so of now
+fxviewtabrow-just-now-timestamp = Juuri nyt
+
+# Strings below are used for context menu options within panel-list.
+# For developers, this duplicates command because the label attribute is required.
+
+fxviewtabrow-delete = Poista
+ .accesskey = P
+fxviewtabrow-forget-about-this-site = Unohda tämä sivusto…
+ .accesskey = U
+fxviewtabrow-open-in-window = Avaa uuteen ikkunaan
+ .accesskey = N
+fxviewtabrow-open-in-private-window = Avaa uuteen yksityiseen ikkunaan
+ .accesskey = Y
+# “Bookmark” is a verb, as in "Bookmark this page" (add to bookmarks).
+fxviewtabrow-add-bookmark = Lisää kirjanmerkkeihin…
+ .accesskey = R
+fxviewtabrow-save-to-pocket = Tallenna { -pocket-brand-name }iin
+ .accesskey = T
+fxviewtabrow-copy-link = Kopioi linkki
+ .accesskey = L
+fxviewtabrow-close-tab = Sulje välilehti
+ .accesskey = S
+fxviewtabrow-move-tab = Siirrä välilehti
+ .accesskey = v
+fxviewtabrow-move-tab-start = Siirrä alkuun
+ .accesskey = S
+fxviewtabrow-move-tab-end = Siirrä loppuun
+ .accesskey = u
+fxviewtabrow-move-tab-window = Siirrä uuteen ikkunaan
+ .accesskey = i
+fxviewtabrow-send-tab = Lähetä välilehti laitteeseen
+ .accesskey = h
+# Variables:
+# $tabTitle (string) - Title of the tab to which the context menu is associated
+fxviewtabrow-options-menu-button =
+ .title = Välilehden { $tabTitle } valinnat
diff --git a/l10n-fi/browser/browser/identityCredentialNotification.ftl b/l10n-fi/browser/browser/identityCredentialNotification.ftl
new file mode 100644
index 0000000000..f6da7f77f5
--- /dev/null
+++ b/l10n-fi/browser/browser/identityCredentialNotification.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+
+## Credential panel
+##
+## Identity providers are websites you use to log in to another website, for
+## example: Google when you Log in with Google.
+##
+## Variables:
+## $host (String): the hostname of the site that is being displayed.
+## $provider (String): the hostname of another website you are using to log in to the site being displayed
+
+identity-credential-header-providers = Kirjaudu sisään kirjautumispalvelua käyttäen
+identity-credential-header-accounts = Kirjaudu sisään käyttäen palvelua { $provider }
+identity-credential-urlbar-anchor =
+ .tooltiptext = Avaa kirjautumispaneeli
+identity-credential-cancel-button =
+ .label = Peruuta
+ .accesskey = P
+identity-credential-accept-button =
+ .label = Jatka
+ .accesskey = J
+identity-credential-sign-in-button =
+ .label = Kirjaudu sisään
+ .accesskey = K
+identity-credential-policy-title = Käytä palvelua { $provider } kirjautumispalveluntarjoajana
+identity-credential-policy-description = Kirjautuminen sivustolle { $host } palveluntarjoajan { $provider } tilillä tapahtuu kyseisen palveluntarjoajan <label data-l10n-name="privacy-url">tietosuojakäytännön</label> ja <label data-l10n-name="tos-url">käyttöehtojen</label> mukaisesti.
diff --git a/l10n-fi/browser/browser/linuxDesktopEntry.ftl b/l10n-fi/browser/browser/linuxDesktopEntry.ftl
new file mode 100644
index 0000000000..2b8e6579c6
--- /dev/null
+++ b/l10n-fi/browser/browser/linuxDesktopEntry.ftl
@@ -0,0 +1,27 @@
+# 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/.
+
+
+# These messages are used by the Firefox ".desktop" file on Linux.
+# https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
+
+# The entry name is the label on the desktop icon, among other things.
+desktop-entry-name = { -brand-shortcut-name }
+# The comment usually appears as a tooltip when hovering over application menu entry.
+desktop-entry-comment = Selaa Internetiä
+desktop-entry-generic-name = Verkkoselain
+# Combine Name and GenericName. This string is specific to GNOME.
+desktop-entry-x-gnome-full-name = { -brand-shortcut-name }-verkkoselain
+# Keywords are search terms used to find this application.
+# The string is a list of keywords separated by semicolons:
+# - Do NOT replace semicolons with other punctuation signs.
+# - The list MUST end with a semicolon.
+desktop-entry-keywords = Internet;WWW;Browser;Web;Explorer;netti;webbi;selain;
+
+## Actions are visible in a context menu after right clicking the
+## taskbar icon, possibly other places depending on the environment.
+
+desktop-action-new-window-name = Uusi ikkuna
+desktop-action-new-private-window-name = Uusi yksityinen ikkuna
+desktop-action-open-profile-manager = Avaa profiilien hallinta
diff --git a/l10n-fi/browser/browser/menubar.ftl b/l10n-fi/browser/browser/menubar.ftl
new file mode 100644
index 0000000000..e1b4af8658
--- /dev/null
+++ b/l10n-fi/browser/browser/menubar.ftl
@@ -0,0 +1,351 @@
+# 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/.
+
+
+# NOTE: For English locales, strings in this file should be in APA-style Title Case.
+# See https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case
+#
+# NOTE: For Engineers, please don't re-use these strings outside of the menubar.
+
+
+# NOTE: For English locales, strings in this file should be in APA-style Title Case.
+# See https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case
+#
+# NOTE: For Engineers, please don't reuse these strings outside of the menubar.
+
+
+## Application Menu (macOS only)
+
+menu-application-preferences =
+ .label = Asetukset
+menu-application-services =
+ .label = Palvelut
+menu-application-hide-this =
+ .label = Kätke { -brand-shorter-name }
+menu-application-hide-other =
+ .label = Kätke muut
+menu-application-show-all =
+ .label = Näytä kaikki
+menu-application-touch-bar =
+ .label = Muokkaa Touch Baria…
+
+##
+
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Sulje selain
+ *[other] Sulje selain
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] S
+ *[other] S
+ }
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = Sulje { -brand-shorter-name }
+menu-about =
+ .label = Tietoja: { -brand-shorter-name }
+ .accesskey = T
+
+## File Menu
+
+menu-file =
+ .label = Tiedosto
+ .accesskey = T
+menu-file-new-tab =
+ .label = Uusi välilehti
+ .accesskey = v
+menu-file-new-container-tab =
+ .label = Uusi eristetty välilehti
+ .accesskey = l
+menu-file-new-window =
+ .label = Uusi ikkuna
+ .accesskey = U
+menu-file-new-private-window =
+ .label = Uusi yksityinen ikkuna
+ .accesskey = y
+# "Open Location" is only displayed on macOS, and only on windows
+# that aren't main browser windows, or when there are no windows
+# but Firefox is still running.
+menu-file-open-location =
+ .label = Avaa kohde…
+menu-file-open-file =
+ .label = Avaa tiedosto…
+ .accesskey = d
+# Variables:
+# $tabCount (Number): the number of tabs that are affected by the action.
+menu-file-close-tab =
+ .label =
+ { $tabCount ->
+ [1] Sulje välilehti
+ *[other] Sulje { $tabCount } välilehteä
+ }
+ .accesskey = S
+menu-file-close-window =
+ .label = Sulje ikkuna
+ .accesskey = i
+menu-file-save-page =
+ .label = Tallenna sivu nimellä…
+ .accesskey = n
+menu-file-email-link =
+ .label = Lähetä linkki…
+ .accesskey = L
+menu-file-share-url =
+ .label = Jaa
+ .accesskey = J
+menu-file-print-setup =
+ .label = Sivun asetukset…
+ .accesskey = e
+menu-file-print =
+ .label = Tulosta…
+ .accesskey = o
+menu-file-import-from-another-browser =
+ .label = Tuo toisesta selaimesta…
+ .accesskey = T
+menu-file-go-offline =
+ .label = Työskentele yhteydettömässä tilassa
+ .accesskey = y
+
+## Edit Menu
+
+menu-edit =
+ .label = Muokkaa
+ .accesskey = M
+menu-edit-find-in-page =
+ .label = Etsi sivulta…
+ .accesskey = E
+menu-edit-find-again =
+ .label = Etsi seuraava
+ .accesskey = s
+menu-edit-bidi-switch-text-direction =
+ .label = Vaihda tekstin suuntaa
+ .accesskey = a
+
+## View Menu
+
+menu-view =
+ .label = Näytä
+ .accesskey = N
+menu-view-toolbars-menu =
+ .label = Työkalupalkit
+ .accesskey = T
+menu-view-customize-toolbar2 =
+ .label = Muokkaa työkalupalkkia…
+ .accesskey = M
+menu-view-sidebar =
+ .label = Sivupaneeli
+ .accesskey = p
+menu-view-bookmarks =
+ .label = Kirjanmerkit
+menu-view-history-button =
+ .label = Sivuhistoria
+menu-view-synced-tabs-sidebar =
+ .label = Synkronoidut välilehdet
+menu-view-full-zoom =
+ .label = Sivun suurennus
+ .accesskey = S
+menu-view-full-zoom-enlarge =
+ .label = Suurenna
+ .accesskey = S
+menu-view-full-zoom-reduce =
+ .label = Pienennä
+ .accesskey = P
+menu-view-full-zoom-actual-size =
+ .label = Todellinen koko
+ .accesskey = T
+menu-view-full-zoom-toggle =
+ .label = Muuta vain tekstin kokoa
+ .accesskey = M
+menu-view-page-style-menu =
+ .label = Sivun tyylit
+ .accesskey = v
+menu-view-page-style-no-style =
+ .label = Ei tyylimäärittelyjä
+ .accesskey = E
+menu-view-page-basic-style =
+ .label = Oletustyyli
+ .accesskey = O
+menu-view-repair-text-encoding =
+ .label = Korjaa merkistökoodaus
+ .accesskey = m
+
+## These should match what Safari and other Apple applications
+## use on macOS.
+
+menu-view-enter-full-screen =
+ .label = Siirry koko näytön tilaan
+ .accesskey = S
+menu-view-exit-full-screen =
+ .label = Poistu koko näytön tilasta
+ .accesskey = P
+menu-view-full-screen =
+ .label = Koko näytön tila
+ .accesskey = K
+
+## These menu items may use the same accesskey.
+
+# This should match reader-view-enter-button in browser.ftl
+menu-view-enter-readerview =
+ .label = Avaa lukunäkymä
+ .accesskey = A
+# This should match reader-view-close-button in browser.ftl
+menu-view-close-readerview =
+ .label = Sulje lukunäkymä
+ .accesskey = S
+
+##
+
+menu-view-show-all-tabs =
+ .label = Näytä kaikki välilehdet
+ .accesskey = N
+menu-view-bidi-switch-page-direction =
+ .label = Vaihda sivun suuntaa
+ .accesskey = V
+
+## History Menu
+
+menu-history =
+ .label = Sivuhistoria
+ .accesskey = S
+menu-history-show-all-history =
+ .label = Näytä sivuhistoria
+menu-history-clear-recent-history =
+ .label = Poista historiatietoja…
+menu-history-synced-tabs =
+ .label = Synkronoidut välilehdet
+menu-history-restore-last-session =
+ .label = Palauta edellinen istunto
+menu-history-hidden-tabs =
+ .label = Piilotetut välilehdet
+menu-history-undo-menu =
+ .label = Suljetut välilehdet
+menu-history-undo-window-menu =
+ .label = Suljetut ikkunat
+# "Search" is a verb, as in "Search in History"
+menu-history-search =
+ .label = Etsi historiasta
+
+## Bookmarks Menu
+
+menu-bookmarks-menu =
+ .label = Kirjanmerkit
+ .accesskey = K
+menu-bookmarks-manage =
+ .label = Järjestele kirjanmerkkejä
+menu-bookmark-tab =
+ .label = Lisää nykyinen välilehti kirjanmerkkeihin…
+menu-edit-bookmark =
+ .label = Muokkaa kirjanmerkkiä…
+# "Search" is a verb, as in "Search in bookmarks"
+menu-bookmarks-search =
+ .label = Etsi kirjanmerkeistä
+menu-bookmarks-all-tabs =
+ .label = Lisää kaikki välilehdet kirjanmerkkeihin…
+menu-bookmarks-toolbar =
+ .label = Kirjanmerkkipalkki
+menu-bookmarks-other =
+ .label = Muut kirjanmerkit
+menu-bookmarks-mobile =
+ .label = Kannettavan laitteen kirjanmerkit
+
+## Tools Menu
+
+menu-tools =
+ .label = Työkalut
+ .accesskey = y
+menu-tools-downloads =
+ .label = Lataukset
+ .accesskey = L
+menu-tools-addons-and-themes =
+ .label = Lisäosat ja teemat
+ .accesskey = L
+menu-tools-fxa-sign-in2 =
+ .label = Kirjaudu sisään
+ .accesskey = K
+menu-tools-turn-on-sync2 =
+ .label = Ota synkronointi käyttöön…
+ .accesskey = O
+menu-tools-sync-now =
+ .label = Synkronoi
+ .accesskey = S
+menu-tools-fxa-re-auth =
+ .label = Yhdistä uudestaan { -brand-product-name }iin…
+ .accesskey = Y
+menu-tools-browser-tools =
+ .label = Selaintyökalut
+ .accesskey = S
+menu-tools-task-manager =
+ .label = Tehtävienhallinta
+ .accesskey = T
+menu-tools-page-source =
+ .label = Sivun lähdekoodi
+ .accesskey = n
+menu-tools-page-info =
+ .label = Tietoja sivusta
+ .accesskey = T
+menu-settings =
+ .label = Asetukset
+ .accesskey =
+ { PLATFORM() ->
+ [windows] A
+ *[other] A
+ }
+menu-tools-layout-debugger =
+ .label = Layout Debugger
+ .accesskey = L
+
+## Window Menu
+
+menu-window-menu =
+ .label = Ikkuna
+menu-window-bring-all-to-front =
+ .label = Näytä kaikki
+
+## Help Menu
+
+
+# NOTE: For Engineers, any additions or changes to Help menu strings should
+# also be reflected in the related strings in appmenu.ftl. Those strings, by
+# convention, will have the same ID as these, but prefixed with "app".
+# Example: appmenu-get-help
+#
+# These strings are duplicated to allow for different casing depending on
+# where the strings appear.
+
+menu-help =
+ .label = Ohje
+ .accesskey = O
+menu-get-help =
+ .label = Etsi ohjeita
+ .accesskey = h
+menu-help-more-troubleshooting-info =
+ .label = Lisää vianmääritystietoja
+ .accesskey = L
+menu-help-report-site-issue =
+ .label = Ilmoita sivuston ongelmasta…
+menu-help-share-ideas =
+ .label = Jaa ideoita ja palautetta…
+ .accesskey = d
+menu-help-enter-troubleshoot-mode2 =
+ .label = Vianmääritystila…
+ .accesskey = V
+menu-help-exit-troubleshoot-mode =
+ .label = Poista vianmääritystila käytöstä
+ .accesskey = P
+menu-help-switch-device =
+ .label = Uuteen laitteeseen vaihtaminen
+ .accesskey = N
+# Label of the Help menu item. Either this or
+# menu-help-notdeceptive is shown.
+menu-help-report-deceptive-site =
+ .label = Ilmoita petollinen sivusto…
+ .accesskey = p
+menu-help-not-deceptive =
+ .label = Tämä ei ole petollinen sivusto…
+ .accesskey = p
+menu-report-broken-site =
+ .label = Ilmoita rikkinäisestä sivustosta
diff --git a/l10n-fi/browser/browser/migration.ftl b/l10n-fi/browser/browser/migration.ftl
new file mode 100644
index 0000000000..2436cd1e1f
--- /dev/null
+++ b/l10n-fi/browser/browser/migration.ftl
@@ -0,0 +1,174 @@
+# 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/.
+
+migration-wizard =
+ .title = Ohjattu profiilin tuonti
+
+import-from =
+ { PLATFORM() ->
+ [windows] Tuo asetukset, kirjanmerkit, sivuhistoria, salasanat ja muut tiedot ohjelmasta:
+ *[other] Tuo asetukset, kirjanmerkit, sivuhistoria, salasanat ja muut tiedot ohjelmasta:
+ }
+
+import-from-bookmarks = Tuo kirjanmerkit ohjelmasta:
+import-from-ie =
+ .label = Microsoft Internet Explorer
+ .accesskey = M
+import-from-edge =
+ .label = Microsoft Edge
+ .accesskey = E
+import-from-edge-legacy =
+ .label = Vanha Microsoft Edge
+ .accesskey = V
+import-from-edge-beta =
+ .label = Microsoft Edge Beta
+ .accesskey = d
+import-from-nothing =
+ .label = Älä tuo mitään
+ .accesskey = Ä
+import-from-safari =
+ .label = Safari
+ .accesskey = S
+import-from-opera =
+ .label = Opera
+ .accesskey = O
+import-from-vivaldi =
+ .label = Vivaldi
+ .accesskey = V
+import-from-brave =
+ .label = Brave
+ .accesskey = r
+import-from-canary =
+ .label = Chrome Canary
+ .accesskey = n
+import-from-chrome =
+ .label = Chrome
+ .accesskey = C
+import-from-chrome-beta =
+ .label = Chrome Beta
+ .accesskey = B
+import-from-chrome-dev =
+ .label = Chrome Dev
+ .accesskey = D
+import-from-chromium =
+ .label = Chromium
+ .accesskey = u
+import-from-firefox =
+ .label = Firefox
+ .accesskey = X
+import-from-360se =
+ .label = 360 Secure Browser
+ .accesskey = 3
+import-from-opera-gx =
+ .label = Opera GX
+ .accesskey = G
+
+no-migration-sources = Ei löydetty ohjelmia, joista voitaisiin hakea kirjanmerkkejä, sivuhistoriaa tai salasanoja.
+
+import-source-page-title = Asetusten ja tietojen tuonti ohjelmasta
+import-items-page-title = Tuotavat tiedot
+
+import-items-description = Valitse tuotavat tiedot:
+
+import-permissions-page-title = Anna { -brand-short-name }-selaimelle oikeudet
+
+# Do not translate "Safari" (the name of the browser on Apple devices)
+import-safari-permissions-string = macOS vaatii, että myönnät { -brand-short-name }ille erillisen oikeuden käyttää Safarin tietoja. Napsauta ”Jatka”, valitse avautuvasta Finderin ikkunasta ”Safari”-kansio ja napsauta sitten “Avaa”.
+
+import-migrating-page-title = Tuodaan…
+
+import-migrating-description = Seuraavia tietoja tuodaan…
+
+import-select-profile-page-title = Valitse profiili
+
+import-select-profile-description = Seuraavat profiilit voidaan tuoda ohjelmista:
+
+import-done-page-title = Tuonti valmis
+
+import-done-description = Seuraavat tiedot tuotiin:
+
+import-close-source-browser = Varmista, että valittu selain on suljettu ennen kuin jatkat.
+
+source-name-ie = Internet Explorer
+source-name-edge = Microsoft Edge
+source-name-chrome = Google Chrome
+
+imported-safari-reading-list = Lukulista (Safarista)
+imported-edge-reading-list = Lukulista (Edgestä)
+
+## Browser data types
+## All of these strings get a $browser variable passed in.
+## You can use the browser variable to differentiate the name of items,
+## which may have different labels in different browsers.
+## The supported values for the $browser variable are:
+## 360se
+## chrome
+## edge
+## firefox
+## ie
+## safari
+## The various beta and development versions of edge and chrome all get
+## normalized to just "edge" and "chrome" for these strings.
+
+browser-data-cookies-checkbox =
+ .label = Evästeet
+browser-data-cookies-label =
+ .value = Evästeet
+
+browser-data-history-checkbox =
+ .label =
+ { $browser ->
+ [firefox] Sivuhistoria ja kirjanmerkit
+ *[other] Sivuhistoria
+ }
+browser-data-history-label =
+ .value =
+ { $browser ->
+ [firefox] Sivuhistoria ja kirjanmerkit
+ *[other] Sivuhistoria
+ }
+
+browser-data-formdata-checkbox =
+ .label = Tallennetut lomaketiedot
+browser-data-formdata-label =
+ .value = Tallennetut lomaketiedot
+
+# This string should use the same phrase for "logins and passwords" as the
+# label in the main hamburger menu that opens about:logins.
+browser-data-passwords-checkbox =
+ .label = Tallennetut käyttäjätunnukset ja salasanat
+# This string should use the same phrase for "logins and passwords" as the
+# label in the main hamburger menu that opens about:logins.
+browser-data-passwords-label =
+ .value = Tallennetut käyttäjätunnukset ja salasanat
+
+browser-data-bookmarks-checkbox =
+ .label =
+ { $browser ->
+ [ie] Suosikit
+ [edge] Suosikit
+ *[other] Kirjanmerkit
+ }
+browser-data-bookmarks-label =
+ .value =
+ { $browser ->
+ [ie] Suosikit
+ [edge] Suosikit
+ *[other] Kirjanmerkit
+ }
+
+browser-data-otherdata-checkbox =
+ .label = Muut tiedot
+browser-data-otherdata-label =
+ .label = Muut tiedot
+
+browser-data-session-checkbox =
+ .label = Ikkunat ja välilehdet
+browser-data-session-label =
+ .value = Ikkunat ja välilehdet
+
+browser-data-payment-methods-checkbox =
+ .label = Maksutavat
+browser-data-payment-methods-label =
+ .value = Maksutavat
diff --git a/l10n-fi/browser/browser/migrationWizard.ftl b/l10n-fi/browser/browser/migrationWizard.ftl
new file mode 100644
index 0000000000..bc8c9464d4
--- /dev/null
+++ b/l10n-fi/browser/browser/migrationWizard.ftl
@@ -0,0 +1,286 @@
+# 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/.
+
+migration-wizard-selection-header = Tuo selaimen tiedot
+migration-wizard-selection-list = Valitse tiedot, jotka haluat tuoda.
+# Shown in the new migration wizard's dropdown selector for choosing the browser
+# to import from. This variant is shown when the selected browser doesn't support
+# user profiles, and so we only show the browser name.
+#
+# Variables:
+# $sourceBrowser (String): the name of the browser to import from.
+migration-wizard-selection-option-without-profile = { $sourceBrowser }
+# Shown in the new migration wizard's dropdown selector for choosing the browser
+# and user profile to import from. This variant is shown when the selected browser
+# supports user profiles.
+#
+# Variables:
+# $sourceBrowser (String): the name of the browser to import from.
+# $profileName (String): the name of the user profile to import from.
+migration-wizard-selection-option-with-profile = { $sourceBrowser } — { $profileName }
+
+# Each migrator is expected to include a display name string, and that display
+# name string should have a key with "migration-wizard-migrator-display-name-"
+# as a prefix followed by the unique identification key for the migrator.
+
+migration-wizard-migrator-display-name-brave = Brave
+migration-wizard-migrator-display-name-canary = Chrome Canary
+migration-wizard-migrator-display-name-chrome = Chrome
+migration-wizard-migrator-display-name-chrome-beta = Chrome Beta
+migration-wizard-migrator-display-name-chrome-dev = Chrome Dev
+migration-wizard-migrator-display-name-chromium = Chromium
+migration-wizard-migrator-display-name-chromium-360se = 360 Secure Browser
+migration-wizard-migrator-display-name-chromium-edge = Microsoft Edge
+migration-wizard-migrator-display-name-chromium-edge-beta = Microsoft Edge Beta
+migration-wizard-migrator-display-name-edge-legacy = Vanha Microsoft Edge
+migration-wizard-migrator-display-name-firefox = Firefox
+migration-wizard-migrator-display-name-file-password-csv = Salasanat CSV-tiedostosta
+migration-wizard-migrator-display-name-file-bookmarks = Kirjanmerkit HTML-tiedostosta
+migration-wizard-migrator-display-name-ie = Microsoft Internet Explorer
+migration-wizard-migrator-display-name-opera = Opera
+migration-wizard-migrator-display-name-opera-gx = Opera GX
+migration-wizard-migrator-display-name-safari = Safari
+migration-wizard-migrator-display-name-vivaldi = Vivaldi
+migration-source-name-ie = Internet Explorer
+migration-source-name-edge = Microsoft Edge
+migration-source-name-chrome = Google Chrome
+migration-imported-safari-reading-list = Lukulista (Safarista)
+migration-imported-edge-reading-list = Lukulista (Edgestä)
+
+## These strings are shown if the selected browser data directory is unreadable.
+## In practice, this tends to only occur on Linux when Firefox
+## is installed as a Snap.
+
+migration-no-permissions-message = { -brand-short-name }illa ei ole pääsyä muiden tähän laitteeseen asennettujen selainten profiileihin.
+migration-no-permissions-instructions = Jos haluat jatkaa tietojen tuontia toisesta selaimesta, anna { -brand-short-name }ille käyttöoikeus sen profiilikansioon.
+migration-no-permissions-instructions-step1 = Valitse “Jatka”
+# The second step in getting permissions to read data for the selected
+# browser type.
+#
+# Variables:
+# $permissionsPath (String): the file system path that the user will need to grant read permission to.
+migration-no-permissions-instructions-step2 = Siirry tiedostovalitsimessa polkuun <code>{ $permissionsPath }</code> ja valitse “Jatka”
+
+## These strings will be displayed based on how many resources are selected to import
+
+migration-all-available-data-label = Tuo kaikki saatavilla olevat tiedot
+migration-no-selected-data-label = Tietoja ei ole valittu tuotavaksi
+migration-selected-data-label = Tuo valitut tiedot
+
+##
+
+migration-select-all-option-label = Valitse kaikki
+migration-bookmarks-option-label = Kirjanmerkit
+# Favorites is used for Bookmarks when importing from Internet Explorer or
+# Edge, as this is the terminology for bookmarks on those browsers.
+migration-favorites-option-label = Suosikit
+migration-logins-and-passwords-option-label = Tallennetut käyttäjätunnukset ja salasanat
+migration-passwords-option-label = Tallennetut salasanat
+migration-history-option-label = Selaushistoria
+migration-extensions-option-label = Laajennukset
+migration-form-autofill-option-label = Lomakkeiden automaattisen täytön tiedot
+migration-payment-methods-option-label = Maksutavat
+migration-cookies-option-label = Evästeet
+migration-session-option-label = Ikkunat ja välilehdet
+migration-otherdata-option-label = Muut tiedot
+migration-passwords-from-file-progress-header = Tuo salasanojen tiedosto
+migration-passwords-from-file-success-header = Salasanat tuotu onnistuneesti
+migration-passwords-from-file = Tarkistetaan tiedostoa salasanojen varalta
+migration-passwords-new = Uudet salasanat
+migration-passwords-updated = Olemassa olevat salasanat
+migration-passwords-from-file-no-valid-data = Tiedosto ei sisällä kelvollisia salasanatietoja. Valitse toinen tiedosto.
+migration-passwords-from-file-picker-title = Tuo salasanojen tiedosto
+# A description for the .csv file format that may be shown as the file type
+# filter by the operating system.
+migration-passwords-from-file-csv-filter-title =
+ { PLATFORM() ->
+ [macos] CSV-tiedosto
+ *[other] CSV-tiedosto
+ }
+# A description for the .tsv file format that may be shown as the file type
+# filter by the operating system. TSV is short for 'tab separated values'.
+migration-passwords-from-file-tsv-filter-title =
+ { PLATFORM() ->
+ [macos] TSV-tiedosto
+ *[other] TSV-tiedosto
+ }
+# Shown in the migration wizard after importing passwords from a file
+# has completed, if new passwords were added.
+#
+# Variables:
+# $newEntries (Number): the number of new successfully imported passwords
+migration-wizard-progress-success-new-passwords =
+ { $newEntries ->
+ [one] { $newEntries } lisätty
+ *[other] { $newEntries } lisätty
+ }
+# Shown in the migration wizard after importing passwords from a file
+# has completed, if existing passwords were updated.
+#
+# Variables:
+# $updatedEntries (Number): the number of updated passwords
+migration-wizard-progress-success-updated-passwords =
+ { $updatedEntries ->
+ [one] { $updatedEntries } päivitetty
+ *[other] { $updatedEntries } päivitetty
+ }
+migration-bookmarks-from-file-picker-title = Tuo kirjanmerkkitiedosto
+migration-bookmarks-from-file-progress-header = Tuodaan kirjanmerkkejä
+migration-bookmarks-from-file = Kirjanmerkit
+migration-bookmarks-from-file-success-header = Kirjanmerkit tuotu onnistuneesti
+migration-bookmarks-from-file-no-valid-data = Tiedosto ei sisällä kirjanmerkkejä. Valitse toinen tiedosto.
+# A description for the .html file format that may be shown as the file type
+# filter by the operating system.
+migration-bookmarks-from-file-html-filter-title =
+ { PLATFORM() ->
+ [macos] HTML-dokumentti
+ *[other] HTML-tiedosto
+ }
+# A description for the .json file format that may be shown as the file type
+# filter by the operating system.
+migration-bookmarks-from-file-json-filter-title = JSON-tiedosto
+# Shown in the migration wizard after importing bookmarks from a file
+# has completed.
+#
+# Variables:
+# $newEntries (Number): the number of imported bookmarks.
+migration-wizard-progress-success-new-bookmarks =
+ { $newEntries ->
+ [one] { $newEntries } kirjanmerkki
+ *[other] { $newEntries } kirjanmerkkiä
+ }
+migration-import-button-label = Tuo
+migration-choose-to-import-from-file-button-label = Tuo tiedostosta
+migration-import-from-file-button-label = Valitse tiedosto
+migration-cancel-button-label = Peruuta
+migration-done-button-label = Valmis
+migration-continue-button-label = Jatka
+migration-wizard-import-browser-no-browsers = { -brand-short-name } ei löytänyt ohjelmia, jotka sisältävät kirjanmerkki-, historia- tai salasanatietoja.
+migration-wizard-import-browser-no-resources = Tapahtui virhe. { -brand-short-name } ei löydä tietoja tuotavaksi kyseisestä selainprofiilista.
+
+## These strings will be used to create a dynamic list of items that can be
+## imported. The list will be created using Intl.ListFormat(), so it will
+## follow each locale's rules, and the first item will be capitalized by code.
+## When applicable, the resources should be in their plural form.
+## For example, a possible list could be "Bookmarks, passwords and autofill data".
+
+migration-list-bookmark-label = kirjanmerkit
+# “favorites” refers to bookmarks in Edge and Internet Explorer. Use the same terminology
+# if the browser is available in your language.
+migration-list-favorites-label = suosikit
+migration-list-password-label = salasanat
+migration-list-history-label = historia
+migration-list-extensions-label = laajennukset
+migration-list-autofill-label = automaattisen täytön tiedot
+migration-list-payment-methods-label = maksutavat
+
+##
+
+migration-wizard-progress-header = Tuodaan tietoja
+# This header appears in the final page of the migration wizard only if
+# all resources were imported successfully.
+migration-wizard-progress-done-header = Tietojen tuonti onnistui
+# This header appears in the final page of the migration wizard if only
+# some of the resources were imported successfully. This is meant to be
+# distinct from migration-wizard-progress-done-header, which is only shown
+# if all resources were imported successfully.
+migration-wizard-progress-done-with-warnings-header = Tietojen tuonti valmis
+migration-wizard-progress-icon-in-progress =
+ .aria-label = Tuodaan…
+migration-wizard-progress-icon-completed =
+ .aria-label = Valmis
+migration-safari-password-import-header = Tuo salasanat Safarista
+migration-safari-password-import-steps-header = Tuo Safari-salasanat seuraavasti:
+migration-safari-password-import-step1 = Avaa Safari, napsauta “Safari”-valikkoa vasemmasta yläkulmasta ja valitse Asetukset > Salasanat
+migration-safari-password-import-step2 = Napsauta <img data-l10n-name="safari-icon-3dots"/>-painiketta ja valitse “Vie kaikki salasanat”
+migration-safari-password-import-step3 = Tallenna salasanatiedosto
+migration-safari-password-import-step4 = Napsauta "Valitse tiedosto" alla valitaksesi tallentamasi salasanatiedoston
+migration-safari-password-import-skip-button = Ohita
+migration-safari-password-import-select-button = Valitse tiedosto
+# Shown in the migration wizard after importing bookmarks from another
+# browser has completed.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported bookmarks
+migration-wizard-progress-success-bookmarks =
+ { $quantity ->
+ [one] { $quantity } kirjanmerkki
+ *[other] { $quantity } kirjanmerkkiä
+ }
+# Shown in the migration wizard after importing bookmarks from either
+# Internet Explorer or Edge.
+#
+# Use the same terminology if the browser is available in your language.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported bookmarks
+migration-wizard-progress-success-favorites =
+ { $quantity ->
+ [one] { $quantity } suosikki
+ *[other] { $quantity } suosikkia
+ }
+
+## The import process identifies extensions installed in other supported
+## browsers and installs the corresponding (matching) extensions compatible
+## with Firefox, if available.
+
+# Shown in the migration wizard after importing all matched extensions
+# from supported browsers.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported extensions
+migration-wizard-progress-success-extensions =
+ { $quantity ->
+ [one] { $quantity } laajennus
+ *[other] { $quantity } laajennusta
+ }
+# Shown in the migration wizard after importing a partial amount of
+# matched extensions from supported browsers.
+#
+# Variables:
+# $matched (Number): the number of matched imported extensions
+# $quantity (Number): the number of total extensions found during import
+migration-wizard-progress-partial-success-extensions = { $matched }/{ $quantity } laajennusta
+migration-wizard-progress-extensions-support-link = Lisätietoja siitä, kuinka { -brand-product-name } tekee laajennusten täsmäytyksiä
+# Shown in the migration wizard if there are no matched extensions
+# on import from supported browsers.
+migration-wizard-progress-no-matched-extensions = Ei täsmääviä laajennuksia
+migration-wizard-progress-extensions-addons-link = Selaa { -brand-short-name }in laajennuksia
+
+##
+
+# Shown in the migration wizard after importing passwords from another
+# browser has completed.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported passwords
+migration-wizard-progress-success-passwords =
+ { $quantity ->
+ [one] { $quantity } salasana
+ *[other] { $quantity } salasanaa
+ }
+# Shown in the migration wizard after importing history from another
+# browser has completed.
+#
+# Variables:
+# $maxAgeInDays (Number): the maximum number of days of history that might be imported.
+migration-wizard-progress-success-history =
+ { $maxAgeInDays ->
+ [one] Viimeisen päivän ajalta
+ *[other] Viimeisen { $maxAgeInDays } päivän ajalta
+ }
+migration-wizard-progress-success-formdata = Lomakehistoria
+# Shown in the migration wizard after importing payment methods from another
+# browser has completed.
+#
+# Variables:
+# $quantity (Number): the number of successfully imported payment methods
+migration-wizard-progress-success-payment-methods =
+ { $quantity ->
+ [one] { $quantity } maksutapa
+ *[other] { $quantity } maksutapaa
+ }
+migration-wizard-safari-permissions-sub-header = Tuo Safari-kirjanmerkit ja -selaushistoria seuraavasti:
+migration-wizard-safari-instructions-continue = Valitse "Jatka"
+migration-wizard-safari-instructions-folder = Valitse luettelosta Safari-kansio ja valitse "Avaa"
diff --git a/l10n-fi/browser/browser/newtab/asrouter.ftl b/l10n-fi/browser/browser/newtab/asrouter.ftl
new file mode 100644
index 0000000000..5b1fa44023
--- /dev/null
+++ b/l10n-fi/browser/browser/newtab/asrouter.ftl
@@ -0,0 +1,274 @@
+# 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/.
+
+
+## These messages are used as headings in the recommendation doorhanger
+
+cfr-doorhanger-extension-heading = Suositeltu laajennus
+cfr-doorhanger-feature-heading = Suositeltu ominaisuus
+
+##
+
+cfr-doorhanger-extension-sumo-link =
+ .tooltiptext = Miksi näen tämän
+cfr-doorhanger-extension-cancel-button = Ei nyt
+ .accesskey = E
+cfr-doorhanger-extension-ok-button = Lisää nyt
+ .accesskey = L
+cfr-doorhanger-extension-manage-settings-button = Hallitse suositteluasetuksia
+ .accesskey = H
+cfr-doorhanger-extension-never-show-recommendation = Älä näytä tätä suositusta minulle
+ .accesskey = n
+cfr-doorhanger-extension-learn-more-link = Lue lisää
+# This string is used on a new line below the add-on name
+# Variables:
+# $name (String) - Add-on author name
+cfr-doorhanger-extension-author = tekijältä { $name }
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+cfr-doorhanger-extension-notification = Suositus
+# .a11y-announcement is extracted in JS and announced via A11y.announce.
+cfr-doorhanger-extension-notification2 = Suositus
+ .tooltiptext = Laajennussuositus
+ .a11y-announcement = Laajennussuositus saatavilla
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+# .a11y-announcement is extracted in JS and announced via A11y.announce.
+cfr-doorhanger-feature-notification = Suositus
+ .tooltiptext = Ominaisuussuositus
+ .a11y-announcement = Ominaisuussuositus saatavilla
+
+## Add-on statistics
+## These strings are used to display the total number of
+## users and rating for an add-on. They are shown next to each other.
+
+# Variables:
+# $total (Number) - The rating of the add-on from 1 to 5
+cfr-doorhanger-extension-rating =
+ .tooltiptext =
+ { $total ->
+ [one] { $total } tähti
+ *[other] { $total } tähteä
+ }
+# Variables:
+# $total (Number) - The total number of users using the add-on
+cfr-doorhanger-extension-total-users =
+ { $total ->
+ [one] { $total } käyttäjä
+ *[other] { $total } käyttäjää
+ }
+
+## Firefox Accounts Message
+
+cfr-doorhanger-bookmark-fxa-header = Synkronoi kirjanmerkkisi kaikkialla.
+cfr-doorhanger-bookmark-fxa-body = Hyvä löytö! Älä jää ilman tätä kirjanmerkkiä mobiililaitteillasi. Aloita { -fxaccount-brand-name(case: "genitive") } käyttö.
+cfr-doorhanger-bookmark-fxa-link-text = Synkronoi kirjanmerkit nyt…
+cfr-doorhanger-bookmark-fxa-close-btn-tooltip =
+ .aria-label = Sulje-painike
+ .title = Sulje
+
+## Protections panel
+
+cfr-protections-panel-header = Selaa ilman seurantaa
+cfr-protections-panel-body = Pidä tietosi itselläsi. { -brand-short-name } suojaa sinua useilta yleisiltä seuraimilta, jotka seuraavat tekemisiäsi verkossa.
+cfr-protections-panel-link-text = Lue lisää
+
+## What's New toolbar button and panel
+
+# This string is used by screen readers to offer a text based alternative for
+# the notification icon
+cfr-badge-reader-label-newfeature = Uusi ominaisuus:
+cfr-whatsnew-button =
+ .label = Mitä uutta
+ .tooltiptext = Mitä uutta
+cfr-whatsnew-release-notes-link-text = Lue julkaisutiedote
+
+## Enhanced Tracking Protection Milestones
+
+# Variables:
+# $blockedCount (Number) - The total count of blocked trackers. This number will always be greater than 1.
+# $date (Datetime) - The date we began recording the count of blocked trackers
+cfr-doorhanger-milestone-heading2 =
+ { $blockedCount ->
+ *[other] { -brand-short-name } on estänyt yli <b>{ $blockedCount }</b> seurainta { DATETIME($date, month: "long", year: "numeric") } alkaen!
+ }
+cfr-doorhanger-milestone-ok-button = Näytä kaikki
+ .accesskey = N
+cfr-doorhanger-milestone-close-button = Sulje
+ .accesskey = S
+
+## DOH Message
+
+cfr-doorhanger-doh-body = Yksityisyydelläsi on merkitystä. { -brand-short-name } reitittää nyt DNS-pyynnöt suojatusti, mikäli mahdollista, kumppanipalveluun suojellaksesi sinua, kun selaat verkkoa.
+cfr-doorhanger-doh-header = Turvallisemmat, salatut DNS-haut
+cfr-doorhanger-doh-primary-button-2 = OK
+ .accesskey = O
+cfr-doorhanger-doh-secondary-button = Poista käytöstä
+ .accesskey = P
+
+## Full Video Support CFR message
+
+cfr-doorhanger-video-support-body = Videot tällä sivustolla eivät välttämättä toimi kunnolla tällä { -brand-short-name }in versiolla. Päivitä { -brand-short-name } nyt saadaksesi täyden videotuen.
+cfr-doorhanger-video-support-header = Päivitä { -brand-short-name } toistaaksesi videon
+cfr-doorhanger-video-support-primary-button = Päivitä nyt
+ .accesskey = P
+
+## VPN promotion dialog for public Wi-Fi users
+##
+## If a user is detected to be on a public Wi-Fi network, they are given a
+## bit of info about how to improve their privacy and then offered a button
+## to the Mozilla VPN page and a link to dismiss the dialog.
+
+# This header text can be explicitly wrapped.
+spotlight-public-wifi-vpn-header = Vaikuttaa siltä, että käytät julkista Wi-Fi-yhteyttä
+spotlight-public-wifi-vpn-body = Harkitse VPN-erillisverkon käyttöä piilottaaksesi sijaintisi ja selailutoimintasi. Erillisverkko suojaa yhteytesi julkisissa tiloissa kuten lentokentillä ja kahviloissa.
+spotlight-public-wifi-vpn-primary-button = Pysy yksityisenä { -mozilla-vpn-brand-name }:n avulla
+ .accesskey = S
+spotlight-public-wifi-vpn-link = Ei nyt
+ .accesskey = E
+
+## Emotive Continuous Onboarding
+
+spotlight-better-internet-header = Parempi internet alkaa sinusta
+spotlight-better-internet-body = Kun käytät { -brand-short-name }ia, äänestät avoimen ja saavutettavan internetin puolesta, joka on parempi kaikille.
+spotlight-peace-mind-header = Pidämme huolen sinusta
+spotlight-peace-mind-body = Joka kuukausi { -brand-short-name } estää keskimäärin yli 3 000 seurainta käyttäjää kohden. Koska minkään, etenkään yksityisyyteen liittyvien haittojen, kuten seurainten, ei pitäisi olla sinun ja hyvän internetin välissä.
+spotlight-pin-primary-button =
+ { PLATFORM() ->
+ [macos] Pidä Dockissa
+ *[other] Kiinnitä tehtäväpalkkiin
+ }
+spotlight-pin-secondary-button = Ei nyt
+
+## MR2022 Background Update Windows native toast notification strings.
+##
+## These strings will be displayed by the Windows operating system in
+## a native toast, like:
+##
+## <b>multi-line title</b>
+## multi-line text
+## <img>
+## [ primary button ] [ secondary button ]
+##
+## The button labels are fitted into narrow fixed-width buttons by
+## Windows and therefore must be as narrow as possible.
+
+mr2022-background-update-toast-title = Uusi { -brand-short-name }. Entistä yksityisempi. Vähemmän seuraimia. Ei kompromisseja.
+mr2022-background-update-toast-text = Kokeile uusinta { -brand-short-name }ia nyt. Päivitetty tähän mennessä vahvimmalla seurantasuojauksella.
+# This button label will be fitted into a narrow fixed-width button by
+# Windows. Try to not exceed the width of the English text (compare it
+# using a variable font like Arial): the button can only fit 1-2
+# additional characters, exceeding characters will be truncated.
+mr2022-background-update-toast-primary-button-label = Avaa { -brand-shorter-name } nyt
+# This button label will be fitted into a narrow fixed-width button by
+# Windows. Try to not exceed the width of the English text (compare it using a
+# variable font like Arial): the button can only fit 1-2 additional characters,
+# exceeding characters will be truncated.
+mr2022-background-update-toast-secondary-button-label = Muistuta minua myöhemmin
+
+## Firefox View CFR
+
+firefoxview-cfr-primarybutton = Kokeile
+ .accesskey = o
+firefoxview-cfr-secondarybutton = Ei nyt
+ .accesskey = n
+firefoxview-cfr-header-v2 = Jatka siitä mihin jäit
+firefoxview-cfr-body-v2 = Hanki äskettäin suljetut välilehdet takaisin ja siirry saumattomasti laitteiden välillä { -firefoxview-brand-name }llä.
+
+## Firefox View Spotlight
+
+firefoxview-spotlight-promo-title = Tervehdi { -firefoxview-brand-name }ä
+# “Poof” refers to the expression to convey when something or someone suddenly disappears, or in this case, reappears. For example, “Poof, it’s gone.”
+firefoxview-spotlight-promo-subtitle = Haluatko avoimen välilehden puhelimeltasi? Nappaa se. Tarvitsetko sivuston, jolla juuri vierailit? Hokkuspokkus, se on palannut { -firefoxview-brand-name }llä.
+firefoxview-spotlight-promo-primarybutton = Katso miten se toimii
+firefoxview-spotlight-promo-secondarybutton = Ohita
+
+## Colorways expiry reminder CFR
+
+colorways-cfr-primarybutton = Valitse väriteema
+ .accesskey = ä
+# "shades" refers to the different color options available to users in colorways.
+colorways-cfr-body = Väritä selaimesi { -brand-short-name }in erityisillä sävyillä, jotka ovat saaneet vaikutteita kulttuuria muuttaneista äänistä.
+colorways-cfr-header-28days = Itsenäiset äänet -väriteemat vanhenevat 16. tammikuuta
+colorways-cfr-header-14days = Itsenäiset äänet -väriteemat vanhenevat kahden viikon kuluttua
+colorways-cfr-header-7days = Itsenäiset äänet -väriteemat vanhenevat tällä viikolla
+colorways-cfr-header-today = Itsenäiset äänet -väriteemat vanhenevat tänään
+
+## Cookie Banner Handling CFR
+
+cfr-cbh-header = Sallitko { -brand-short-name }in vastata evästekyselyihin kielteisesti?
+cfr-cbh-body = { -brand-short-name } voi automattisesti vastata moniin evästekyselyihin kielteisesti.
+cfr-cbh-confirm-button = Vastaa evästepyyntöihin kieltävästi
+ .accesskey = V
+cfr-cbh-dismiss-button = Ei nyt
+ .accesskey = N
+cookie-banner-blocker-cfr-header = { -brand-short-name } esti juuri evästeet
+cookie-banner-blocker-cfr-body = Estämme automaattisesti monet evästeiden ponnahdusilmoitukset, jotta sivustojen on vaikea seurata sinua.
+
+## These strings are used in the Fox doodle Pin/set default spotlights
+
+july-jam-headline = Pidämme sinusta huolen
+july-jam-body = Joka kuukausi { -brand-short-name } estää keskimäärin 3 000+ seurainta käyttäjää kohden, jonka ansiosta sinulla on turvallinen ja nopea pääsy hyvään internetiin.
+july-jam-set-default-primary = Avaa linkit { -brand-short-name }illa
+fox-doodle-pin-headline = Tervetuloa takaisin
+# “indie” is short for the term “independent”.
+# In this instance, free from outside influence or control.
+fox-doodle-pin-body = Tässä on pieni muistutus siitä, että voit pitää suosikkiselaimesi vain yhden napsautuksen päässä.
+fox-doodle-pin-primary = Avaa linkit { -brand-short-name }illa
+fox-doodle-pin-secondary = Ei nyt
+
+## These strings are used in the Set Firefox as Default PDF Handler for Existing Users experiment
+
+set-default-pdf-handler-headline = <strong>PDF-tiedostot avataan nyt { -brand-short-name }issa.</strong> Muokkaa tai allekirjoita lomakkeita suoraan selaimessa. Muuttaksesi toimintaa, etsi asetuksista “PDF”.
+set-default-pdf-handler-primary = Selvä
+
+## FxA sync CFR
+
+fxa-sync-cfr-header = Uusi laite tulevaisuudessa?
+fxa-sync-cfr-body = Varmista, että uusimmat kirjanmerkkisi, salasanasi ja välilehdet tulevat mukanasi aina, kun avaat uuden { -brand-product-name }-selaimen.
+fxa-sync-cfr-primary = Lue lisää
+ .accesskey = L
+fxa-sync-cfr-secondary = Muistuta myöhemmin
+ .accesskey = y
+
+## Device Migration FxA Spotlight
+
+device-migration-fxa-spotlight-header = Käytätkö vanhempaa laitetta?
+device-migration-fxa-spotlight-body = Varmuuskopioi tietosi varmistaaksesi, ettet menetä tärkeitä tietoja, kuten kirjanmerkkejä ja salasanoja – varsinkin jos vaihdat uuteen laitteeseen.
+device-migration-fxa-spotlight-primary-button = Kuinka varmuuskopioida omat tiedot
+device-migration-fxa-spotlight-link = Muistuta myöhemmin
+device-migration-fxa-spotlight-heavy-user-header = Älä unohda varmuuskopioida tietojasi
+device-migration-fxa-spotlight-heavy-user-body = Varmista, että tärkeät tiedot, kuten kirjanmerkit ja salasanat, päivitetään ja suojataan kaikilla laitteillasi.
+device-migration-fxa-spotlight-heavy-user-primary-button = Aloitetaan
+device-migration-fxa-spotlight-older-device-header = Mielenrauhaa { -brand-product-name }lta
+device-migration-fxa-spotlight-older-device-body = Tili pitää tärkeät tietosi ajan tasalla ja suojattuina kaikissa yhdistetyissä laitteissa.
+device-migration-fxa-spotlight-older-device-primary-button = Luo tili
+device-migration-fxa-spotlight-getting-new-device-header-2 = Uusi laite tulevaisuudessa?
+device-migration-fxa-spotlight-getting-new-device-body-2 = Noudata muutamia yksinkertaisia ohjeita tuodaksesi kirjanmerkkisi, historiasi ja salasanasi, kun aloitat uuden laitteen käytön.
+device-migration-fxa-spotlight-getting-new-device-primary-button = Kuinka varmuuskopioida omat tiedot
+
+## Set as Default PDF Reader Infobar
+
+# The question portion of the following message should have the <strong> and </strong> tags surrounding it.
+pdf-default-notification-message = <strong>Asetetaanko { -brand-short-name } oletusarvoiseksi PDF-lukijaksi?</strong> Käytä { -brand-short-name }ia lukeaksesi ja muokataksesi tietokoneelle tallennettuja PDF-tiedostoja.
+pdf-default-notification-set-default-button =
+ .label = Aseta oletukseksi
+pdf-default-notification-decline-button =
+ .label = Ei nyt
+
+## Launch on login infobar notification
+
+launch-on-login-infobar-message = <strong>Avataanko { -brand-short-name } aina, kun käynnistät tietokoneen uudelleen?</strong> Nyt voit asettaa { -brand-short-name }in avautumaan automaattisesti, kun käynnistät laitteen uudelleen.
+launch-on-login-learnmore = Lue lisää
+launch-on-login-infobar-confirm-button = Kyllä, avaa { -brand-short-name }
+ .accesskey = y
+launch-on-login-infobar-reject-button = Ei nyt
+ .accesskey = n
+
+## These string variants are used when the “launch on login” infobar
+## notification is displayed for a second time.
+
+launch-on-login-infobar-final-message = <strong>Avataanko { -brand-short-name } aina, kun käynnistät tietokoneen uudelleen?</strong> Voit hallita käynnistysasetuksia etsimällä asetuksista “käynnistys”.
+launch-on-login-infobar-final-reject-button = Ei kiitos
+ .accesskey = E
diff --git a/l10n-fi/browser/browser/newtab/newtab.ftl b/l10n-fi/browser/browser/newtab/newtab.ftl
new file mode 100644
index 0000000000..c026039a9b
--- /dev/null
+++ b/l10n-fi/browser/browser/newtab/newtab.ftl
@@ -0,0 +1,272 @@
+# 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/.
+
+
+### Firefox Home / New Tab strings for about:home / about:newtab.
+
+newtab-page-title = Uusi välilehti
+newtab-settings-button =
+ .title = Muokkaa Uusi välilehti -sivua
+newtab-personalize-icon-label =
+ .title = Muokkaa uutta välilehteä
+ .aria-label = Muokkaa uutta välilehteä
+newtab-personalize-dialog-label =
+ .aria-label = Muokkaa
+
+## Search box component.
+
+# "Search" is a verb/action
+newtab-search-box-search-button =
+ .title = Haku
+ .aria-label = Haku
+# Variables:
+# $engine (string) - The name of the user's default search engine
+newtab-search-box-handoff-text = Hae hakukoneella { $engine } tai kirjoita osoite
+newtab-search-box-handoff-text-no-engine = Kirjoita osoite tai hakusana
+# Variables:
+# $engine (string) - The name of the user's default search engine
+newtab-search-box-handoff-input =
+ .placeholder = Hae hakukoneella { $engine } tai kirjoita osoite
+ .title = Hae hakukoneella { $engine } tai kirjoita osoite
+ .aria-label = Hae hakukoneella { $engine } tai kirjoita osoite
+newtab-search-box-handoff-input-no-engine =
+ .placeholder = Kirjoita osoite tai hakusana
+ .title = Kirjoita osoite tai hakusana
+ .aria-label = Kirjoita osoite tai hakusana
+newtab-search-box-text = Verkkohaku
+newtab-search-box-input =
+ .placeholder = Verkkohaku
+ .aria-label = Verkkohaku
+
+## Top Sites - General form dialog.
+
+newtab-topsites-add-search-engine-header = Lisää hakukone
+newtab-topsites-add-shortcut-header = Uusi oikotie
+newtab-topsites-edit-topsites-header = Muokkaa ykkössivustoa
+newtab-topsites-edit-shortcut-header = Muokkaa oikotietä
+newtab-topsites-title-label = Otsikko
+newtab-topsites-title-input =
+ .placeholder = Kirjoita otsikko
+newtab-topsites-url-label = Osoite
+newtab-topsites-url-input =
+ .placeholder = Kirjoita tai liitä osoite
+newtab-topsites-url-validation = Kelvollinen osoite vaaditaan
+newtab-topsites-image-url-label = Oman kuvan osoite
+newtab-topsites-use-image-link = Käytä omaa kuvaa…
+newtab-topsites-image-validation = Kuvan lataaminen epäonnistui. Kokeile toista osoitetta.
+
+## Top Sites - General form dialog buttons. These are verbs/actions.
+
+newtab-topsites-cancel-button = Peruuta
+newtab-topsites-delete-history-button = Poista historiasta
+newtab-topsites-save-button = Tallenna
+newtab-topsites-preview-button = Esikatsele
+newtab-topsites-add-button = Lisää
+
+## Top Sites - Delete history confirmation dialog.
+
+newtab-confirm-delete-history-p1 = Haluatko varmasti poistaa tämän sivun kaikkialta historiastasi?
+# "This action" refers to deleting a page from history.
+newtab-confirm-delete-history-p2 = Tämä toiminto on peruuttamaton.
+
+## Top Sites - Sponsored label
+
+newtab-topsite-sponsored = Sponsoroitu
+
+## Context Menu - Action Tooltips.
+
+# General tooltip for context menus.
+newtab-menu-section-tooltip =
+ .title = Avaa valikko
+ .aria-label = Avaa valikko
+# Tooltip for dismiss button
+newtab-dismiss-button-tooltip =
+ .title = Poista
+ .aria-label = Poista
+# This tooltip is for the context menu of Pocket cards or Topsites
+# Variables:
+# $title (string) - The label or hostname of the site. This is for screen readers when the context menu button is focused/active.
+newtab-menu-content-tooltip =
+ .title = Avaa valikko
+ .aria-label = Avaa pikavalikko sivustolle { $title }
+# Tooltip on an empty topsite box to open the New Top Site dialog.
+newtab-menu-topsites-placeholder-tooltip =
+ .title = Muokkaa tätä sivustoa
+ .aria-label = Muokkaa tätä sivustoa
+
+## Context Menu: These strings are displayed in a context menu and are meant as a call to action for a given page.
+
+newtab-menu-edit-topsites = Muokkaa
+newtab-menu-open-new-window = Avaa uuteen ikkunaan
+newtab-menu-open-new-private-window = Avaa uuteen yksityiseen ikkunaan
+newtab-menu-dismiss = Hylkää
+newtab-menu-pin = Kiinnitä
+newtab-menu-unpin = Poista kiinnitys
+newtab-menu-delete-history = Poista historiasta
+newtab-menu-save-to-pocket = Tallenna { -pocket-brand-name }-palveluun
+newtab-menu-delete-pocket = Poista { -pocket-brand-name }-palvelusta
+newtab-menu-archive-pocket = Arkistoi { -pocket-brand-name }-palveluun
+newtab-menu-show-privacy-info = Tukijamme ja yksityisyytesi
+
+## Message displayed in a modal window to explain privacy and provide context for sponsored content.
+
+newtab-privacy-modal-button-done = Valmis
+newtab-privacy-modal-button-manage = Hallitse sponsoroidun sisällön asetuksia
+newtab-privacy-modal-header = Yksityisyydelläsi on merkitystä.
+newtab-privacy-modal-paragraph-2 =
+ Kiehtovien tarinoiden tarjoamisen lisäksi näytämme sinulle myös kiinnostavaa,
+ tarkastettua sisältöä valituilta sponsoreilta. Voit olla varma, että <strong>selaustietosi
+ pysyvät omassa { -brand-product-name }-kopiossasi</strong> – emme näe niitä eivätkä
+ myöskään sponsorimme.
+newtab-privacy-modal-link = Opi miten yksityisyys on esillä uusi välilehti -sivulla
+
+##
+
+# Bookmark is a noun in this case, "Remove bookmark".
+newtab-menu-remove-bookmark = Poista kirjanmerkki
+# Bookmark is a verb here.
+newtab-menu-bookmark = Lisää kirjanmerkki
+
+## Context Menu - Downloaded Menu. "Download" in these cases is not a verb,
+## it is a noun. As in, "Copy the link that belongs to this downloaded item".
+
+newtab-menu-copy-download-link = Kopioi latauslinkki
+newtab-menu-go-to-download-page = Siirry lataussivulle
+newtab-menu-remove-download = Poista historiasta
+
+## Context Menu - Download Menu: These are platform specific strings found in the context menu of an item that has
+## been downloaded. The intention behind "this action" is that it will show where the downloaded file exists on the file
+## system for each operating system.
+
+newtab-menu-show-file =
+ { PLATFORM() ->
+ [macos] Näytä Finderissa
+ *[other] Avaa kohteen kansio
+ }
+newtab-menu-open-file = Avaa tiedosto
+
+## Card Labels: These labels are associated to pages to give
+## context on how the element is related to the user, e.g. type indicates that
+## the page is bookmarked, or is currently open on another device.
+
+newtab-label-visited = Vierailtu
+newtab-label-bookmarked = Kirjanmerkki
+newtab-label-removed-bookmark = Kirjanmerkki poistettu
+newtab-label-recommended = Pinnalla
+newtab-label-saved = Tallennettu { -pocket-brand-name }-palveluun
+newtab-label-download = Ladatut
+# This string is used in the story cards to indicate sponsored content
+# Variables:
+# $sponsorOrSource (string) - The name of a company or their domain
+newtab-label-sponsored = { $sponsorOrSource } · Sponsoroitu
+# This string is used at the bottom of story cards to indicate sponsored content
+# Variables:
+# $sponsor (string) - The name of a sponsor
+newtab-label-sponsored-by = Sponsorina { $sponsor }
+# This string is used under the image of story cards to indicate source and time to read
+# Variables:
+# $source (string) - The name of a company or their domain
+# $timeToRead (number) - The estimated number of minutes to read this story
+newtab-label-source-read-time = { $source } · { $timeToRead } min
+
+## Section Menu: These strings are displayed in the section context menu and are
+## meant as a call to action for the given section.
+
+newtab-section-menu-remove-section = Poista osio
+newtab-section-menu-collapse-section = Pienennä osio
+newtab-section-menu-expand-section = Laajenna osio
+newtab-section-menu-manage-section = Muokkaa osiota
+newtab-section-menu-manage-webext = Hallitse laajennusta
+newtab-section-menu-add-topsite = Lisää ykkössivusto
+newtab-section-menu-add-search-engine = Lisää hakukone
+newtab-section-menu-move-up = Siirrä ylös
+newtab-section-menu-move-down = Siirrä alas
+newtab-section-menu-privacy-notice = Tietosuojakäytäntö
+
+## Section aria-labels
+
+newtab-section-collapse-section-label =
+ .aria-label = Pienennä osio
+newtab-section-expand-section-label =
+ .aria-label = Laajenna osio
+
+## Section Headers.
+
+newtab-section-header-topsites = Ykkössivustot
+newtab-section-header-recent-activity = Viimeisin toiminta
+# Variables:
+# $provider (string) - Name of the corresponding content provider.
+newtab-section-header-pocket = Suositukset lähteestä { $provider }
+
+## Empty Section States: These show when there are no more items in a section. Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead.
+
+newtab-empty-section-highlights = Ala selata, niin tässä alkaa näkyä hyviä juttuja, videoita ja muita sivuja, joilla olet käynyt hiljattain tai jotka olet lisännyt kirjanmerkkeihin.
+# Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead.
+# Variables:
+# $provider (string) - Name of the content provider for this section, e.g "Pocket".
+newtab-empty-section-topstories = Ei enempää suosituksia juuri nyt. Katso myöhemmin uudestaan lisää ykkösjuttuja lähteestä { $provider }. Etkö malta odottaa? Valitse suosittu aihe ja löydä lisää hyviä juttuja ympäri verkkoa.
+
+## Empty Section (Content Discovery Experience). These show when there are no more stories or when some stories fail to load.
+
+newtab-discovery-empty-section-topstories-header = Olet ajan tasalla!
+newtab-discovery-empty-section-topstories-content = Katso myöhemmin lisää juttuja.
+newtab-discovery-empty-section-topstories-try-again-button = Yritä uudelleen
+newtab-discovery-empty-section-topstories-loading = Ladataan…
+# Displays when a layout in a section took too long to fetch articles.
+newtab-discovery-empty-section-topstories-timed-out = Hups! Tämä osio ladattiin melkein, mutta ei ihan.
+
+## Pocket Content Section.
+
+# This is shown at the bottom of the trending stories section and precedes a list of links to popular topics.
+newtab-pocket-read-more = Suositut aiheet:
+newtab-pocket-new-topics-title = Haluatko lisää tarinoita? Katso nämä suositut aiheet { -pocket-brand-name }ista
+newtab-pocket-more-recommendations = Lisää suosituksia
+newtab-pocket-learn-more = Lue lisää
+newtab-pocket-cta-button = Hanki { -pocket-brand-name }
+newtab-pocket-cta-text = Tallenna tykkäämäsi tekstit { -pocket-brand-name }iin ja ravitse mieltäsi kiinnostavilla teksteillä.
+newtab-pocket-pocket-firefox-family = { -pocket-brand-name } on osa { -brand-product-name }-perhettä
+# A save to Pocket button that shows over the card thumbnail on hover.
+newtab-pocket-save = Tallenna
+newtab-pocket-saved = Tallennettu
+
+## Pocket content onboarding experience dialog and modal for new users seeing the Pocket section for the first time, shown as the first item in the Pocket section.
+
+newtab-pocket-onboarding-discover = Löydä verkon parhaat puolet
+newtab-pocket-onboarding-cta = { -pocket-brand-name } tutkii monenlaisia julkaisuja tarjotakseen informatiivisimman, inspiroivimman ja luotettavimman sisällön suoraan { -brand-product-name }-selaimellesi.
+
+## Error Fallback Content.
+## This message and suggested action link are shown in each section of UI that fails to render.
+
+newtab-error-fallback-info = Hups, jotain meni vikaan tätä sisältöä ladattaessa.
+newtab-error-fallback-refresh-link = Yritä uudestaan päivittämällä sivu.
+
+## Customization Menu
+
+newtab-custom-shortcuts-title = Oikotiet
+newtab-custom-shortcuts-subtitle = Tallentamasi tai vierailemasi sivustot
+newtab-custom-shortcuts-toggle =
+ .label = Oikotiet
+ .description = Tallentamasi tai vierailemasi sivustot
+# Variables
+# $num (number) - Number of rows to display
+newtab-custom-row-selector =
+ { $num ->
+ [one] { $num } rivi
+ *[other] { $num } riviä
+ }
+newtab-custom-sponsored-sites = Sponsoroidut oikotiet
+newtab-custom-pocket-title = { -pocket-brand-name } suosittelee
+newtab-custom-pocket-subtitle = Poikkeuksellista, valikoitua sisältöä { -pocket-brand-name }-palvelulta, osana { -brand-product-name }-perhettä
+newtab-custom-pocket-toggle =
+ .label = { -pocket-brand-name } suosittelee
+ .description = Poikkeuksellista, valikoitua sisältöä { -pocket-brand-name }-palvelulta, osana { -brand-product-name }-perhettä
+newtab-custom-pocket-sponsored = Sponsoroidut tarinat
+newtab-custom-pocket-show-recent-saves = Näytä viimeisimmät tallennukset
+newtab-custom-recent-title = Viimeisin toiminta
+newtab-custom-recent-subtitle = Valikoima viimeisimpiä sivustoja ja sisältöä
+newtab-custom-recent-toggle =
+ .label = Viimeisin toiminta
+ .description = Valikoima viimeisimpiä sivustoja ja sisältöä
+newtab-custom-close-button = Sulje
+newtab-custom-settings = Muokkaa lisää asetuksia
diff --git a/l10n-fi/browser/browser/newtab/onboarding.ftl b/l10n-fi/browser/browser/newtab/onboarding.ftl
new file mode 100644
index 0000000000..72f64172c0
--- /dev/null
+++ b/l10n-fi/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,346 @@
+# 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/.
+
+
+### UI strings for the MR1 onboarding / multistage about:welcome
+### Various strings use a non-breaking space to avoid a single dangling /
+### widowed word, so test on various window sizes if you also want this.
+
+
+## Welcome page strings
+
+onboarding-welcome-header = Tässä { -brand-short-name }, tervetuloa
+onboarding-start-browsing-button-label = Aloita selaaminen
+onboarding-not-now-button-label = Ei nyt
+mr1-onboarding-get-started-primary-button-label = Aloita
+
+## Custom Return To AMO onboarding strings
+
+return-to-amo-subtitle = Hienoa, sinulla on { -brand-short-name }
+# <img data-l10n-name="icon"/> will be replaced with the icon belonging to the extension
+#
+# Variables:
+# $addon-name (String) - Name of the add-on
+return-to-amo-addon-title = Hankitaanpa sinulle nyt <img data-l10n-name="icon"/> <b>{ $addon-name }</b>.
+return-to-amo-add-extension-label = Lisää laajennus
+return-to-amo-add-theme-label = Lisää teema
+
+## Variables: $addon-name (String) - Name of the add-on to be installed
+
+mr1-return-to-amo-subtitle = Tervehdi { -brand-short-name }ia
+mr1-return-to-amo-addon-title = Sinulla on nopea, yksityinen selain sormiesi ulottuvilla. Nyt voit lisätä laajennuksen <b>{ $addon-name }</b> ja tehdä entistä enemmän { -brand-short-name }illa.
+mr1-return-to-amo-add-extension-label = Lisää { $addon-name }
+
+## Multistage onboarding strings (about:welcome pages)
+
+
+# Aria-label to make the "steps" of multistage onboarding visible to screen readers.
+# Variables:
+# $current (Int) - Number of the current page
+# $total (Int) - Total number of pages
+
+onboarding-welcome-steps-indicator-label =
+ .aria-label = Edistyminen: vaihe { $current }/{ $total }
+# This button will open system settings to turn on prefers-reduced-motion
+mr1-onboarding-reduce-motion-button-label = Poista animaatiot käytöstä
+# String for the Firefox Accounts button
+mr1-onboarding-sign-in-button-label = Kirjaudu sisään
+# The primary import button label will depend on whether we can detect which browser was used to download Firefox.
+# Variables:
+# $previous (Str) - Previous browser name, such as Edge, Chrome
+mr1-onboarding-import-primary-button-label-attribution = Tuo selaimesta { $previous }
+mr1-onboarding-theme-header = Omalla tyylillä
+mr1-onboarding-theme-subtitle = Valitse { -brand-short-name }-teema makusi mukaan.
+mr1-onboarding-theme-secondary-button-label = Ei nyt
+# System theme uses operating system color settings
+mr1-onboarding-theme-label-system = Järjestelmän teema
+mr1-onboarding-theme-label-light = Vaalea
+mr1-onboarding-theme-label-dark = Tumma
+# "Alpenglow" here is the name of the theme, and should be kept in English.
+mr1-onboarding-theme-label-alpenglow = Alpenglow
+onboarding-theme-primary-button-label = Valmis
+
+## Please make sure to split the content of the title attribute into lines whose
+## width corresponds to about 40 Latin characters, to ensure that the tooltip
+## doesn't become too long. Line breaks will be preserved when displaying the
+## tooltip.
+
+# Tooltip displayed on hover of system theme
+mr1-onboarding-theme-tooltip-system =
+ .title =
+ Seuraa käyttöjärjestelmän teemaa
+ painikkeille, valikoille ja ikkunoille.
+# Input description for system theme
+mr1-onboarding-theme-description-system =
+ .aria-description =
+ Seuraa käyttöjärjestelmän teemaa
+ painikkeille, valikoille ja ikkunoille.
+# Tooltip displayed on hover of light theme
+mr1-onboarding-theme-tooltip-light =
+ .title =
+ Käytä vaaleaa teemaa painikkeille,
+ valikoille ja ikkunoille.
+# Input description for light theme
+mr1-onboarding-theme-description-light =
+ .aria-description =
+ Käytä vaaleaa teemaa painikkeille,
+ valikoille ja ikkunoille.
+# Tooltip displayed on hover of dark theme
+mr1-onboarding-theme-tooltip-dark =
+ .title =
+ Käytä tummaa teemaa painikkeille,
+ valikoille ja ikkunoille.
+# Input description for dark theme
+mr1-onboarding-theme-description-dark =
+ .aria-description =
+ Käytä tummaa teemaa painikkeille,
+ valikoille ja ikkunoille.
+# Tooltip displayed on hover of Alpenglow theme
+mr1-onboarding-theme-tooltip-alpenglow =
+ .title =
+ Käytä dynaamista ja värikästä teemaa
+ painikkeille, valikoille ja ikkunoille.
+# Input description for Alpenglow theme
+mr1-onboarding-theme-description-alpenglow =
+ .aria-description =
+ Käytä dynaamista ja värikästä teemaa
+ painikkeille, valikoille ja ikkunoille.
+# Selector description for default themes
+mr2-onboarding-default-theme-label = Selaa oletusteemoja.
+
+## Strings for Thank You page
+
+mr2-onboarding-thank-you-header = Kiitos, että valitsit meidät
+mr2-onboarding-thank-you-text = { -brand-short-name } on itsenäinen selain, jota tukee voittoa tavoittelematon taho. Yhdessä teemme verkosta aiempaa turvallisemman, terveellisemmän ja yksityisemmän.
+mr2-onboarding-start-browsing-button-label = Aloita selaaminen
+
+## Multistage live language reloading onboarding strings (about:welcome pages)
+##
+## The following language names are generated by the browser's Intl.DisplayNames API.
+##
+## Variables:
+## $negotiatedLanguage (String) - The name of the langpack's language, e.g. "Español (ES)"
+## $systemLanguage (String) - The name of the system language, e.g "Español (ES)"
+## $appLanguage (String) - The name of the language shipping in the browser build, e.g. "English (EN)"
+
+onboarding-live-language-header = Valitse kieli
+mr2022-onboarding-live-language-text = { -brand-short-name } puhuu kieltäsi
+mr2022-language-mismatch-subtitle = Yhteisömme ansiosta { -brand-short-name } on käännetty yli 90 kielelle. Vaikuttaa siltä, että järjestelmäsi kieli on { $systemLanguage } ja { -brand-short-name } käyttää kieltä { $appLanguage }.
+onboarding-live-language-button-label-downloading = Ladataan kielen { $negotiatedLanguage } kielipakettia…
+onboarding-live-language-waiting-button = Haetaan saatavilla olevia kieliä…
+onboarding-live-language-installing = Asennetaan kielen { $negotiatedLanguage } kielipakettia…
+mr2022-onboarding-live-language-switch-to = Vaihda kieleen { $negotiatedLanguage }
+mr2022-onboarding-live-language-continue-in = Jatka kielellä { $appLanguage }
+onboarding-live-language-secondary-cancel-download = Peruuta
+onboarding-live-language-skip-button-label = Ohita
+
+## Firefox 100 Thank You screens
+
+# "Hero Text" displayed on left side of welcome screen. This text can be
+# formatted to span multiple lines as needed. The <span data-l10n-name="zap">
+# </span> in this string allows a "zap" underline style to be automatically
+# added to the text inside it. "Yous" should stay inside the zap span, but
+# "Thank" can be put inside instead if there's no "you" in the translation.
+# The English text would normally be "100 Thank-Yous" i.e., plural noun, but for
+# aesthetics of splitting it across multiple lines, the hyphen is omitted.
+fx100-thank-you-hero-text =
+ 100
+ kiitosta
+ <span data-l10n-name="zap">teille</span>
+fx100-thank-you-subtitle = Tämä on 100:s julkaisumme! Kiitos, että autat meitä rakentamaan paremman ja terveellisemmän internetin.
+fx100-thank-you-pin-primary-button-label =
+ { PLATFORM() ->
+ [macos] Pidä { -brand-short-name } Dockissa
+ *[other] Kiinnitä { -brand-short-name } tehtäväpalkkiin
+ }
+fx100-upgrade-thanks-header = 100 kiitosta
+# Message shown with a start-browsing button. Emphasis <em> should be for "you"
+# but "Thank" can be used instead if there's no "you" in the translation.
+fx100-upgrade-thank-you-body = Tämä on 100:s { -brand-short-name }in julkaisu. Kiitos <em>sinulle</em>, että autat meitä rakentamaan paremman ja terveellisemän internetin.
+# Message shown with either a pin-to-taskbar or set-default button.
+fx100-upgrade-thanks-keep-body = Tämä on 100:s julkaisumme! Kiitos, että olet osa yhteisöämme. Pidä { -brand-short-name } yhden napsautuksen päässä seuraavan sadan verran.
+mr2022-onboarding-secondary-skip-button-label = Ohita tämä vaihe
+
+## MR2022 New User Easy Setup screen strings
+
+# Primary button string used on new user onboarding first screen showing multiple actions such as Set Default, Import from previous browser.
+mr2022-onboarding-easy-setup-primary-button-label = Tallenna ja jatka
+# Set Default action checkbox label used on new user onboarding first screen
+mr2022-onboarding-easy-setup-set-default-checkbox-label = Aseta { -brand-short-name } oletusselaimeksi
+# Import action checkbox label used on new user onboarding first screen
+mr2022-onboarding-easy-setup-import-checkbox-label = Tuo edellisestä selaimesta
+
+## MR2022 New User Pin Firefox screen strings
+
+# Title used on about:welcome for new users when Firefox is not pinned.
+# In this context, open up is synonymous with "Discover".
+# The metaphor is that when they open their Firefox browser, it helps them discover an amazing internet.
+# If this translation does not make sense in your language, feel free to use the word "discover."
+mr2022-onboarding-welcome-pin-header = Avaa hämmästyttävä internet
+# Subtitle is used on onboarding page for new users page when Firefox is not pinned
+mr2022-onboarding-welcome-pin-subtitle = Käynnistä { -brand-short-name } mistä tahansa yhdellä napsautuksella. Joka kerta kun teet niin, valitset entistä avoimemman ja itsenäisemmän internetin.
+# Primary button string used on welcome page for when Firefox is not pinned.
+mr2022-onboarding-pin-primary-button-label =
+ { PLATFORM() ->
+ [macos] Kiinnitä { -brand-short-name } Dockiin
+ *[other] Kiinnitä { -brand-short-name } tehtäväpalkkiin
+ }
+# Subtitle will be used when user already has Firefox pinned, but
+# has not set it as their default browser.
+# When translating "zip", please feel free to pick a verb that signifies movement and/or exploration
+# and makes sense in the context of navigating the web.
+mr2022-onboarding-set-default-only-subtitle = Aloita voittoa tavoittelemattoman säätiön tukemalla selaimella. Puolustamme yksityisyyttäsi, kun selaat verkkoa.
+
+## MR2022 Existing User Pin Firefox Screen Strings
+
+# Title used on multistage onboarding page for existing users when Firefox is not pinned
+mr2022-onboarding-existing-pin-header = Kiitos että arvostat { -brand-product-name }ia
+# Subtitle is used on onboarding page for existing users when Firefox is not pinned
+mr2022-onboarding-existing-pin-subtitle = Käynnistä terveellisempi internet missä tahansa yhdellä napsautuksella. Uusin päivityksemme on täynnä uusia asioita, joista uskomme sinun pitävän.
+# Subtitle will be used on the welcome screen for existing users
+# when they already have Firefox pinned but not set as default
+mr2022-onboarding-existing-set-default-only-subtitle = Käytä selainta, joka suojaa yksityisyyttäsi selatessasi verkkoa. Uusin päivityksemme on täynnä asioita, joita tulet arvostamaan.
+mr2022-onboarding-existing-pin-checkbox-label = Lisää myös { -brand-short-name }in yksityinen selaus
+
+## MR2022 New User Set Default screen strings
+
+# This string is the title used when the user already has pinned the browser, but has not set default.
+mr2022-onboarding-set-default-title = Tee { -brand-short-name }ista selaimesi
+mr2022-onboarding-set-default-primary-button-label = Aseta { -brand-short-name } oletusselaimeksi
+# When translating "zip", please feel free to pick a verb that signifies movement and/or exploration
+# and makes sense in the context of navigating the web.
+mr2022-onboarding-set-default-subtitle = Käytä voittoa tavoittelemattoman säätiön tukemaa selainta. Puolustamme yksityisyyttäsi, kun selaat verkkoa.
+
+## MR2022 Get Started screen strings.
+## These strings will be used on the welcome page
+## when Firefox is already set to default and pinned.
+
+# When translating "zip", please feel free to pick a verb that signifies movement and/or exploration
+# and makes sense in the context of navigating the web.
+mr2022-onboarding-get-started-primary-subtitle = Uusin versiomme on rakennettu ympärillesi; verkossa liikkuminen on helpompaa kuin koskaan. Se on täynnä ominaisuuksia, joihin uskomme sinun ihastuvan.
+mr2022-onboarding-get-started-primary-button-label = Määritä sekunneissa
+
+## MR2022 Import Settings screen strings
+
+mr2022-onboarding-import-header = Salamannopea määritys
+mr2022-onboarding-import-subtitle = Määritä { -brand-short-name } haluamallasi tavalla. Lisää kirjanmerkkisi, salasanasi ja paljon muuta aiemmin käyttämästäsi selaimesta.
+mr2022-onboarding-import-primary-button-label-no-attribution = Tuo edellisestä selaimesta
+
+## If your language uses grammatical genders, in the description for the
+## colorway feel free to switch from "You are a X. You…" (e.g. "You are a
+## Playmaker. You create…") to "X: you…" ("Playmaker: You create…"). This might
+## help creating a more inclusive translation.
+
+mr2022-onboarding-colorway-title = Valitse väri, joka inspiroi sinua
+mr2022-onboarding-colorway-subtitle = Itsenäiset äänet voivat muuttaa kulttuuria.
+mr2022-onboarding-colorway-primary-button-label-continue = Aseta ja jatka
+mr2022-onboarding-existing-colorway-checkbox-label = Tee { -firefox-home-brand-name }ista värikäs kotisivusi
+mr2022-onboarding-colorway-label-default = Oletus
+mr2022-onboarding-colorway-tooltip-default2 =
+ .title = Nykyiset { -brand-short-name }-värit
+mr2022-onboarding-colorway-description-default = <b>Käytä nykyisiä { -brand-short-name }-värejä.</b>
+mr2022-onboarding-colorway-label-playmaker = Pelinrakentaja
+mr2022-onboarding-colorway-tooltip-playmaker2 =
+ .title = Pelinrakentaja (punainen)
+mr2022-onboarding-colorway-description-playmaker = <b>Olet pelinrakentaja.</b> Luot mahdollisuuksia voittaa ja autat kaikkia ympärilläsi olevia nostamaan panostaan.
+mr2022-onboarding-colorway-label-expressionist = Ekspressionisti
+mr2022-onboarding-colorway-tooltip-expressionist2 =
+ .title = Ekspressionisti (keltainen)
+mr2022-onboarding-colorway-description-expressionist = <b>Olet ekspressionisti.</b> Näet maailman eri tavalla ja luomuksesi herättävät muissa tunteita.
+mr2022-onboarding-colorway-label-visionary = Visionääri
+mr2022-onboarding-colorway-tooltip-visionary2 =
+ .title = Visionääri (vihreä)
+mr2022-onboarding-colorway-description-visionary = <b>Olet visionääri.</b> Kyseenalaistat nykytilan ja kannustat muita kuvittelemaan parempaa tulevaisuutta.
+mr2022-onboarding-colorway-label-activist = Aktivisti
+mr2022-onboarding-colorway-tooltip-activist2 =
+ .title = Aktivisti (sininen)
+mr2022-onboarding-colorway-description-activist = <b>Olet aktivisti.</b> Jätät maailman aiempaa paremmaksi paikaksi ja saat muut uskomaan parempaan.
+mr2022-onboarding-colorway-label-dreamer = Unelmoija
+mr2022-onboarding-colorway-tooltip-dreamer2 =
+ .title = Unelmoija (violetti)
+mr2022-onboarding-colorway-description-dreamer = <b>Olet unelmoija.</b> Uskot, että onni suosii rohkeita ja innostat muita olemaan rohkeita.
+mr2022-onboarding-colorway-label-innovator = Uudistaja
+mr2022-onboarding-colorway-tooltip-innovator2 =
+ .title = Uudistaja (oranssi)
+mr2022-onboarding-colorway-description-innovator = <b>Olet uudistaja.</b> Näet mahdollisuuksia kaikkialla ja vaikutat muiden ympärilläsi olevien elämään.
+
+## MR2022 Multistage Mobile Download screen strings
+
+mr2022-onboarding-mobile-download-title = Hyppää kannettavalta tietokoneelta puhelimelle ja takaisin
+mr2022-onboarding-mobile-download-subtitle = Nouda välilehdet yhdeltä laitteelta ja jatka toisella laitteella siitä mihin jäit. Synkronoi kirjanmerkkisi ja salasanasi missä tahansa käytät { -brand-product-name }ia.
+mr2022-onboarding-mobile-download-cta-text = Skannaa QR-koodi saadaksesi { -brand-product-name }in mobiililaitteille tai <a data-l10n-name="download-label">lähetä itsellesi latauslinkki.</a>
+mr2022-onboarding-no-mobile-download-cta-text = Skannaa QR-koodi saadaksesi { -brand-product-name }in mobiililaitteille.
+
+## MR2022 Upgrade Dialog screens
+## Pin private window screen shown only for users who don't have Firefox private pinned
+
+mr2022-upgrade-onboarding-pin-private-window-header = Yksityisen selauksen vapautta yhdellä napsautuksella
+mr2022-upgrade-onboarding-pin-private-window-subtitle = Ei tallennettuja evästeitä tai historiaa, käynnistä suoraan työpöydältäsi. Selaa kuin kukaan ei näkisi.
+mr2022-upgrade-onboarding-pin-private-window-primary-button-label =
+ { PLATFORM() ->
+ [macos] Pidä { -brand-short-name }in yksityinen selaus Dockissa
+ *[other] Kiinnitä { -brand-short-name }in yksityinen selaus tehtäväpalkkiin
+ }
+
+## MR2022 Privacy Segmentation screen strings
+
+mr2022-onboarding-privacy-segmentation-title = Kunnioitamme aina yksityisyyttäsi
+mr2022-onboarding-privacy-segmentation-subtitle = Pyrimme jatkuvasti luomaan paremman, henkilökohtaisemman { -brand-product-name }in ominaisuuksilla kuten älykkäät ehdotukset ja entistä älykkäämpi haku.
+mr2022-onboarding-privacy-segmentation-text-cta = Mitä haluat nähdä, kun tarjoamme uusia ominaisuuksia, jotka käyttävät tietojasi selauskokemuksen parantamiseksi?
+mr2022-onboarding-privacy-segmentation-button-primary-label = Käytä { -brand-product-name }-suosituksia
+mr2022-onboarding-privacy-segmentation-button-secondary-label = Näytä yksityiskohtaiset tiedot
+
+## MR2022 Multistage Gratitude screen strings
+
+mr2022-onboarding-gratitude-title = Autat meitä rakentamaan parempaa verkkoa
+mr2022-onboarding-gratitude-subtitle = Kiitos, että käytit { -brand-short-name }ia, jota Mozilla Foundation tukee. Tukesi avulla pyrimme tekemään internetistä entistä avoimemman, saavutettavamman ja paremman kaikille.
+mr2022-onboarding-gratitude-primary-button-label = Katso, mikä on uutta
+mr2022-onboarding-gratitude-secondary-button-label = Aloita selaaminen
+
+## Onboarding spotlight for infrequent users
+
+onboarding-infrequent-import-title = Tee olosi kotoisaksi
+onboarding-infrequent-import-subtitle = Oletpa sitten asettumassa tai vain poikkeamassa, muista, että voit tuoda kirjanmerkkisi, salasanasi ja paljon muuta.
+onboarding-infrequent-import-primary-button = Tuo { -brand-short-name }iin
+
+## MR2022 Illustration alt tags
+## Descriptive tags for illustrations used by screen readers and other assistive tech
+
+mr2022-onboarding-pin-image-alt =
+ .aria-label = Henkilö työskentelemässä kannettavalla tietokoneella tähtien ja kukkien ympäröimänä
+mr2022-onboarding-default-image-alt =
+ .aria-label = Henkilö halaamassa { -brand-product-name }-logoa
+mr2022-onboarding-import-image-alt =
+ .aria-label = Henkilö rullalautailemassa ohjelmistokuvakkeiden keskellä
+mr2022-onboarding-mobile-download-image-alt =
+ .aria-label = Sammakot hyppimässä QR-koodin sävytteisten liljalehtien kanssa, ladatakseen { -brand-product-name }in mobiililaitteelle.
+mr2022-onboarding-pin-private-image-alt =
+ .aria-label = Taikasauva saa { -brand-product-name }in yksityisen selauksen logon ilmestymään hatusta
+mr2022-onboarding-privacy-segmentation-image-alt =
+ .aria-label = Vaalea- ja tummaihoiset kädet tekemässä ylävitosta
+mr2022-onboarding-gratitude-image-alt =
+ .aria-label = Näkymä auringonlaskuun ikkunan läpi, jossa on kettu ja huonekasvi ikkunalaudalla
+mr2022-onboarding-colorways-image-alt =
+ .aria-label = Käsisuihke maalaa värikkään kollaasin vihreästä silmästä, oranssista kengästä, punaisesta koripallosta, violeteista kuulokkeista, sinisestä sydämestä ja keltaisesta kruunusta
+
+## Device migration onboarding
+
+onboarding-device-migration-image-alt =
+ .aria-label = Kettu kannettavan tietokoneen näytöllä heiluttamassa. Kannettavassa tietokoneessa on hiiri kytkettynä.
+onboarding-device-migration-title = Tervetuloa takaisin!
+onboarding-device-migration-subtitle = Kirjaudu sisään { -fxaccount-brand-name(capitalization: "sentence") }llesi, niin voit tuoda kirjanmerkkisi, salasanasi ja historiasi uudelle laitteellesi.
+onboarding-device-migration-subtitle2 = Kirjaudu tilillesi tuodaksesi kirjanmerkkisi, salasanasi ja historiasi uudelle laitteellesi.
+onboarding-device-migration-primary-button-label = Kirjaudu sisään
+
+## The following screens have been updated to use security and privacy focused strings:
+
+# Easy setup screen
+onboarding-easy-setup-security-and-privacy-title = Turvaamisesi on tärkeää meille
+onboarding-easy-setup-security-and-privacy-subtitle = Voittoa tavoittelemattoman tahon tukema selaimemme auttaa estämään yrityksiä seuraamasta sinua salaa verkossa.
+# Mobile download screen
+onboarding-mobile-download-security-and-privacy-title = Pysy salattuna, kun vaihtelet laitteiden välillä
+onboarding-mobile-download-security-and-privacy-subtitle = Synkronoinnin myötä { -brand-short-name } salaa salasanasi, kirjanmerkkisi ja paljon muuta. Lisäksi voit valita välilehtiä muilta laitteiltasi.
+# Gratitude screen
+onboarding-gratitude-security-and-privacy-title = { -brand-short-name } huolehtii sinusta
+onboarding-gratitude-security-and-privacy-subtitle = Kiitos, että käytät Mozilla-säätiön tukemaa { -brand-short-name }ia. Tukesi avulla pyrimme tekemään Internetistä entistä turvallisemman ja helpommin saavutettavan kaikille.
diff --git a/l10n-fi/browser/browser/originControls.ftl b/l10n-fi/browser/browser/originControls.ftl
new file mode 100644
index 0000000000..a40516df4a
--- /dev/null
+++ b/l10n-fi/browser/browser/originControls.ftl
@@ -0,0 +1,64 @@
+# 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/.
+
+
+## These strings appear in Origin Controls for Extensions. Currently,
+## they are visible in the context menu for extension toolbar buttons,
+## and are used to inform the user how the extension can access their
+## data for the current website, and allow them to control it.
+
+origin-controls-no-access =
+ .label = Laajennus ei voi lukea ja muuttaa tietoja
+origin-controls-quarantined =
+ .label = Laajennuksen ei ole sallittu lukea ja muuttaa tietoja
+origin-controls-quarantined-status =
+ .label = Laajennus ei ole sallittu rajoitetuilla sivustoilla
+origin-controls-quarantined-allow =
+ .label = Salli rajoitetuilla sivustoilla
+origin-controls-options =
+ .label = Laajennus voi lukea ja muuttaa tietoja:
+origin-controls-option-all-domains =
+ .label = Kaikilla sivustoilla
+origin-controls-option-when-clicked =
+ .label = Vain napsautettaessa
+# This string denotes an option that grants the extension access to
+# the current site whenever they visit it.
+# Variables:
+# $domain (String) - The domain for which the access is granted.
+origin-controls-option-always-on =
+ .label = Salli aina verkkotunnuksessa { $domain }
+
+## These strings are used to map Origin Controls states to user-friendly
+## messages. They currently appear in the unified extensions panel.
+
+origin-controls-state-no-access = Ei voi lukea ja muuttaa tietoja tällä sivustolla
+origin-controls-state-quarantined = { -vendor-short-name } ei ole sallinut tällä sivustolla
+origin-controls-state-always-on = Voi aina lukea ja muuttaa tietoja tällä sivustolla
+origin-controls-state-when-clicked = Lupa vaaditaan tietojen lukemiseen ja muuttamiseen
+origin-controls-state-hover-run-visit-only = Suorita vain tällä käyntikerralla
+origin-controls-state-runnable-hover-open = Avaa laajennus
+origin-controls-state-runnable-hover-run = Suorita laajennus
+origin-controls-state-temporary-access = Voi lukea ja muuttaa tietoja tällä käyntikerralla
+
+## Extension's toolbar button.
+## Variables:
+## $extensionTitle (String) - Extension name or title message.
+
+origin-controls-toolbar-button =
+ .label = { $extensionTitle }
+ .tooltiptext = { $extensionTitle }
+# Extension's toolbar button when permission is needed.
+# Note that the new line is intentionally part of the tooltip.
+origin-controls-toolbar-button-permission-needed =
+ .label = { $extensionTitle }
+ .tooltiptext =
+ { $extensionTitle }
+ Lupa vaaditaan
+# Extension's toolbar button when quarantined.
+# Note that the new line is intentionally part of the tooltip.
+origin-controls-toolbar-button-quarantined =
+ .label = { $extensionTitle }
+ .tooltiptext =
+ { $extensionTitle }
+ { -vendor-short-name } ei ole sallinut tällä sivustolla
diff --git a/l10n-fi/browser/browser/pageInfo.ftl b/l10n-fi/browser/browser/pageInfo.ftl
new file mode 100644
index 0000000000..a9b3453d85
--- /dev/null
+++ b/l10n-fi/browser/browser/pageInfo.ftl
@@ -0,0 +1,264 @@
+# 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-info-window =
+ .style = width: 600px; min-height: 550px;
+
+copy =
+ .key = C
+menu-copy =
+ .label = Kopioi
+ .accesskey = K
+
+select-all =
+ .key = A
+menu-select-all =
+ .label = Valitse kaikki
+ .accesskey = V
+
+close-dialog =
+ .key = w
+
+general-tab =
+ .label = Yleiset
+ .accesskey = Y
+general-title =
+ .value = Otsikko:
+general-url =
+ .value = Osoite:
+general-type =
+ .value = Tyyppi:
+general-mode =
+ .value = Mallinnustila:
+general-size =
+ .value = Koko:
+general-referrer =
+ .value = Viittaava URL:
+general-modified =
+ .value = Muokattu:
+general-encoding =
+ .value = Merkistökoodaus:
+general-meta-name =
+ .label = Nimi
+general-meta-content =
+ .label = Sisältö
+
+media-tab =
+ .label = Media
+ .accesskey = M
+media-location =
+ .value = Osoite:
+media-text =
+ .value = Liittyvä teksti:
+media-alt-header =
+ .label = Vaihtoehtoinen teksti
+media-address =
+ .label = Osoite
+media-type =
+ .label = Tyyppi
+media-size =
+ .label = Koko
+media-count =
+ .label = Lukumäärä
+media-dimension =
+ .value = Mitat:
+media-long-desc =
+ .value = Pitkä kuvaus:
+media-select-all =
+ .label = Valitse kaikki
+ .accesskey = e
+media-save-as =
+ .label = Tallenna nimellä…
+ .accesskey = a
+media-save-image-as =
+ .label = Tallenna nimellä…
+ .accesskey = l
+
+perm-tab =
+ .label = Oikeudet
+ .accesskey = O
+permissions-for =
+ .value = Oikeudet sivustolle:
+
+security-tab =
+ .label = Turvallisuus
+ .accesskey = T
+security-view =
+ .label = Näytä varmenne
+ .accesskey = N
+security-view-unknown = Tuntematon
+ .value = Tuntematon
+security-view-identity =
+ .value = Sivuston identiteetti
+security-view-identity-owner =
+ .value = Omistaja:
+security-view-identity-domain =
+ .value = Sivusto:
+security-view-identity-verifier =
+ .value = Varmentaja:
+security-view-identity-validity =
+ .value = Vanhenee:
+security-view-privacy =
+ .value = Tietosuoja ja sivuhistoria
+
+security-view-privacy-history-value = Onko sivustolla käyty ennen tätä päivää?
+security-view-privacy-sitedata-value = Tallentaako tämä sivusto tietoja koneelleni?
+
+security-view-privacy-clearsitedata =
+ .label = Tyhjennä evästeet ja sivustotiedot
+ .accesskey = e
+
+security-view-privacy-passwords-value = Onko sivuston salasanoja tallennettu?
+
+security-view-privacy-viewpasswords =
+ .label = Näytä tallennetut salasanat
+ .accesskey = u
+security-view-technical =
+ .value = Tekniset tiedot
+
+help-button =
+ .label = Ohje
+
+## These strings are used to tell the user if the website is storing cookies
+## and data on the users computer in the security tab of pageInfo
+## Variables:
+## $value (number) - Amount of data being stored
+## $unit (string) - The unit of data being stored (Usually KB)
+
+security-site-data-cookies = Kyllä, evästeitä ja { $value } { $unit } sivustotietoja
+security-site-data-only = Kyllä, { $value } { $unit } sivustotietoja
+
+security-site-data-cookies-only = Kyllä, evästeitä
+security-site-data-no = Ei
+
+##
+
+image-size-unknown = Tuntematon
+page-info-not-specified =
+ .value = Ei määritetty
+not-set-alternative-text = Ei määritetty
+not-set-date = Ei määritetty
+media-img = Kuva
+media-bg-img = Taustakuva
+media-border-img = Kehys
+media-list-img = Luettelomerkki
+media-cursor = Osoitin
+media-object = Objekti
+media-embed = Upotettu
+media-link = Kuvake
+media-input = Syötekenttä
+media-video = Video
+media-audio = Ääni
+saved-passwords-yes = Kyllä
+saved-passwords-no = Ei
+
+no-page-title =
+ .value = Nimetön sivu
+general-quirks-mode =
+ .value = Yhteensopivuustila
+general-strict-mode =
+ .value = Standarditila
+page-info-security-no-owner =
+ .value = Sivustoon ei liity tietoa omistajasta
+media-select-folder = Valitse kuvien tallennuskansio
+media-unknown-not-cached =
+ .value = Tuntematon (ei välimuistissa)
+permissions-use-default =
+ .label = Käytä oletusta
+security-no-visits = Ei
+
+# This string is used to display the number of meta tags
+# in the General Tab
+# Variables:
+# $tags (number) - The number of meta tags
+general-meta-tags =
+ .value =
+ { $tags ->
+ [one] Metatiedot (1 merkintä)
+ *[other] Metatiedot ({ $tags } merkintää)
+ }
+
+# This string is used to display the number of times
+# the user has visited the website prior
+# Variables:
+# $visits (number) - The number of previous visits
+security-visits-number =
+ { $visits ->
+ [0] Ei
+ [one] Kyllä, kerran
+ *[other] Kyllä, { $visits } kertaa
+ }
+
+# This string is used to display the size of a media file
+# Variables:
+# $kb (number) - The size of an image in Kilobytes
+# $bytes (number) - The size of an image in Bytes
+properties-general-size =
+ .value =
+ { $bytes ->
+ [one] { $kb } kt ({ $bytes } tavu)
+ *[other] { $kb } kt ({ $bytes } tavua)
+ }
+
+# This string is used to display the type and number
+# of frames of a animated image
+# Variables:
+# $type (string) - The type of a animated image
+# $frames (number) - The number of frames in an animated image
+media-animated-image-type =
+ .value =
+ { $frames ->
+ [one] { $type }-kuva (animoitu, { $frames } kuva)
+ *[other] { $type }-kuva (animoitu, { $frames } kuvaa)
+ }
+
+# This string is used to display the type of
+# an image
+# Variables:
+# $type (string) - The type of an image
+media-image-type =
+ .value = { $type }-kuva
+
+# This string is used to display the size of a scaled image
+# in both scaled and unscaled pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+# $scaledx (number) - The scaled horizontal size of an image
+# $scaledy (number) - The scaled vertical size of an image
+media-dimensions-scaled =
+ .value = { $dimx }px × { $dimy }px (skaalattu kokoon { $scaledx }px × { $scaledy }px)
+
+# This string is used to display the size of an image in pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+media-dimensions =
+ .value = { $dimx }px × { $dimy }px
+
+# This string is used to display the size of a media
+# file in kilobytes
+# Variables:
+# $size (number) - The size of the media file in kilobytes
+media-file-size = { $size } kt
+
+## Variables:
+## $website (string) — The url of the website pageInfo is getting info for
+
+# This string is used to display the website name next to the
+# "Block Images" checkbox in the media tab
+# Variables:
+# $website (string) - The website name
+media-block-image =
+ .label = Estä kuvat palvelimelta { $website }
+ .accesskey = E
+
+# This string is used to display the URL of the website on top of the
+# pageInfo dialog box
+# Variables:
+# $website (string) — The url of the website pageInfo is getting info for
+page-info-page =
+ .title = Tietoja sivusta — { $website }
+page-info-frame =
+ .title = Kehyksen tiedot — { $website }
diff --git a/l10n-fi/browser/browser/panelUI.ftl b/l10n-fi/browser/browser/panelUI.ftl
new file mode 100644
index 0000000000..1406fae4fa
--- /dev/null
+++ b/l10n-fi/browser/browser/panelUI.ftl
@@ -0,0 +1,25 @@
+# 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/.
+
+
+## Customization Menu
+
+# The overflow menu is the menu that appears if you click the chevron (>> button) in the location bar.
+customize-menu-unpin-from-overflowmenu =
+ .label = Poista ylivuotovalikosta
+ .accesskey = o
+customize-menu-add-to-toolbar =
+ .label = Lisää työkalupalkkiin
+ .accesskey = L
+customize-menu-add-to-overflowmenu =
+ .label = Lisää ylivuotovalikkoon
+ .accesskey = v
+
+## Forget Button
+
+# The forget button can be added to the toolbar or overflow menu via the cutomization menu.
+panic-button-thankyou-msg1 = Tapahtumahistoria on poistettu.
+panic-button-thankyou-msg2 = Turvallista selaamista!
+panic-button-thankyou-button =
+ .label = Kiitos!
diff --git a/l10n-fi/browser/browser/panicButton.ftl b/l10n-fi/browser/browser/panicButton.ftl
new file mode 100644
index 0000000000..66f0078b42
--- /dev/null
+++ b/l10n-fi/browser/browser/panicButton.ftl
@@ -0,0 +1,31 @@
+# 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/.
+
+panic-button-open-new-window = Avaa uuden puhtaan ikkunan
+panic-button-undo-warning = Tätä toimintoa ei voi perua.
+panic-button-forget-button =
+ .label = Unohda!
+
+## These strings are combined to form a complete sentence starting with
+## panic-main-timeframe-desc. For example: "Forget the last: Five minutes".
+## Please ensure that this remains the case in the translation.
+
+panic-main-timeframe-desc = Unohda viimeiset:
+panic-button-5min =
+ .label = Viisi minuuttia
+panic-button-2hr =
+ .label = Kaksi tuntia
+panic-button-day =
+ .label = 24 tuntia
+
+## These strings are combined to form a complete sentence starting with
+## panic-button-action-desc. For example: "Proceeding will: Delete Recent Cookies".
+## Please ensure that this remains the case in the translation.
+## Note also that some strings include <strong> tags for emphasis on the
+## words "Cookies", "History", "Tabs" and "Windows". The translation should do the same.
+
+panic-button-action-desc = Toiminnon suorittaminen:
+panic-button-delete-cookies = Poistaa kertyneet <strong>evästeet</strong>
+panic-button-delete-history = Poistaa kertyneen <strong>sivuhistorian</strong>
+panic-button-delete-tabs-and-windows = Sulkee kaikki avatut <strong>välilehdet</strong> ja <strong>ikkunat</strong>
diff --git a/l10n-fi/browser/browser/places.ftl b/l10n-fi/browser/browser/places.ftl
new file mode 100644
index 0000000000..137d776870
--- /dev/null
+++ b/l10n-fi/browser/browser/places.ftl
@@ -0,0 +1,268 @@
+# 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/.
+
+places-open =
+ .label = Avaa
+ .accesskey = A
+places-open-in-tab =
+ .label = Avaa uuteen välilehteen
+ .accesskey = u
+places-open-in-container-tab =
+ .label = Avaa uuteen eristettyyn välilehteen
+ .accesskey = i
+places-open-all-bookmarks =
+ .label = Avaa kaikki kirjanmerkit
+ .accesskey = A
+places-open-all-in-tabs =
+ .label = Avaa välilehtiin
+ .accesskey = A
+places-open-in-window =
+ .label = Avaa uuteen ikkunaan
+ .accesskey = v
+places-open-in-private-window =
+ .label = Avaa uuteen yksityiseen ikkunaan
+ .accesskey = y
+places-empty-bookmarks-folder =
+ .label = (Tyhjä)
+places-add-bookmark =
+ .label = Lisää kirjanmerkki…
+ .accesskey = r
+places-add-folder-contextmenu =
+ .label = Lisää kansio…
+ .accesskey = ä
+places-add-folder =
+ .label = Lisää kansio…
+ .accesskey = o
+places-add-separator =
+ .label = Lisää erotin
+ .accesskey = e
+places-view =
+ .label = Näytä
+ .accesskey = N
+places-by-date =
+ .label = Päivämäärän mukaan
+ .accesskey = P
+places-by-site =
+ .label = Sivuston mukaan
+ .accesskey = S
+places-by-most-visited =
+ .label = Vierailukertojen mukaan
+ .accesskey = k
+places-by-last-visited =
+ .label = Vierailuajan mukaan
+ .accesskey = a
+places-by-day-and-site =
+ .label = Päivämäärän ja sivuston mukaan
+ .accesskey = j
+places-history-search =
+ .placeholder = Etsi historiasta
+places-history =
+ .aria-label = Sivuhistoria
+places-bookmarks-search =
+ .placeholder = Etsi kirjanmerkeistä
+places-delete-domain-data =
+ .label = Unohda tämä sivusto
+ .accesskey = U
+places-forget-domain-data =
+ .label = Unohda tämä sivusto…
+ .accesskey = U
+places-sortby-name =
+ .label = Lajittele nimen mukaan
+ .accesskey = L
+# places-edit-bookmark and places-edit-generic will show one or the other and can have the same access key.
+places-edit-bookmark =
+ .label = Muokkaa kirjanmerkkiä…
+ .accesskey = j
+places-edit-generic =
+ .label = Muokkaa…
+ .accesskey = M
+places-edit-folder2 =
+ .label = Muokkaa kansiota…
+ .accesskey = M
+# Variables
+# $count (number) - Number of folders to delete
+places-delete-folder =
+ .label =
+ { $count ->
+ [1] Poista kansio
+ *[other] Poista kansiot
+ }
+ .accesskey = P
+# Variables:
+# $count (number) - The number of pages selected for removal.
+places-delete-page =
+ .label =
+ { $count ->
+ [1] Poista sivu
+ *[other] Poista sivut
+ }
+ .accesskey = P
+# Managed bookmarks are created by an administrator and cannot be changed by the user.
+managed-bookmarks =
+ .label = Hallinnoidut kirjanmerkit
+# This label is used when a managed bookmarks folder doesn't have a name.
+managed-bookmarks-subfolder =
+ .label = Alikansio
+# This label is used for the "Other Bookmarks" folder that appears in the bookmarks toolbar.
+other-bookmarks-folder =
+ .label = Muut kirjanmerkit
+places-show-in-folder =
+ .label = Näytä kansiossa
+ .accesskey = N
+# Variables:
+# $count (number) - The number of elements being selected for removal.
+places-delete-bookmark =
+ .label =
+ { $count ->
+ [1] Poista kirjanmerkki
+ *[other] Poista kirjanmerkit
+ }
+ .accesskey = r
+# Variables:
+# $count (number) - The number of bookmarks being added.
+places-create-bookmark =
+ .label =
+ { $count ->
+ [1] Lisää sivu kirjanmerkkeihin…
+ *[other] Lisää sivut kirjanmerkkeihin…
+ }
+ .accesskey = L
+places-untag-bookmark =
+ .label = Poista avainsana
+ .accesskey = P
+places-manage-bookmarks =
+ .label = Järjestele kirjanmerkkejä
+ .accesskey = J
+places-forget-about-this-site-confirmation-title = Sivuston unohtaminen
+# Variables:
+# $hostOrBaseDomain (string) - The base domain (or host in case there is no base domain) for which data is being removed
+places-forget-about-this-site-confirmation-msg = Tämä toiminto poistaa kaikki sivustoon { $hostOrBaseDomain } liittyvät tiedot mukaan lukien historian, salasanat, evästeet, välimuistin ja sisältöasetukset. Sivustoon liittyviä kirjanmerkkejä ja salasanoja ei poisteta. Haluatko varmasti jatkaa?
+places-forget-about-this-site-forget = Unohda
+places-library3 =
+ .title = Kirjasto
+places-organize-button =
+ .label = Järjestä
+ .tooltiptext = Järjestele kirjanmerkkejäsi
+ .accesskey = J
+places-organize-button-mac =
+ .label = Järjestä
+ .tooltiptext = Järjestele kirjanmerkkejäsi
+places-file-close =
+ .label = Sulje
+ .accesskey = S
+places-cmd-close =
+ .key = w
+places-view-button =
+ .label = Näkymät
+ .tooltiptext = Muokkaa näkymää
+ .accesskey = N
+places-view-button-mac =
+ .label = Näkymät
+ .tooltiptext = Muokkaa näkymää
+places-view-menu-columns =
+ .label = Näytä sarakkeet
+ .accesskey = N
+places-view-menu-sort =
+ .label = Lajitteluperuste
+ .accesskey = L
+places-view-sort-unsorted =
+ .label = Ei lajiteltu
+ .accesskey = E
+places-view-sort-ascending =
+ .label = A > Z lajittelu
+ .accesskey = A
+places-view-sort-descending =
+ .label = Z > A lajittelu
+ .accesskey = Z
+places-maintenance-button =
+ .label = Tuo ja varmuuskopioi
+ .tooltiptext = Tuo ja varmuuskopioi kirjanmerkkejä
+ .accesskey = T
+places-maintenance-button-mac =
+ .label = Tuo ja varmuuskopioi
+ .tooltiptext = Tuo ja varmuuskopioi kirjanmerkkejä
+places-cmd-backup =
+ .label = Varmuuskopioi…
+ .accesskey = V
+places-cmd-restore =
+ .label = Palauta
+ .accesskey = P
+places-cmd-restore-from-file =
+ .label = Valitse tiedosto…
+ .accesskey = V
+places-import-bookmarks-from-html =
+ .label = Tuo kirjanmerkit HTML-tiedostosta…
+ .accesskey = T
+places-export-bookmarks-to-html =
+ .label = Vie kirjanmerkit HTML-tiedostoon…
+ .accesskey = V
+places-import-other-browser =
+ .label = Tuo tietoja toisesta selaimesta…
+ .accesskey = u
+places-view-sort-col-name =
+ .label = Nimi
+places-view-sort-col-tags =
+ .label = Avainsanat
+places-view-sort-col-url =
+ .label = Osoite
+places-view-sort-col-most-recent-visit =
+ .label = Viimeisin vierailu
+places-view-sort-col-visit-count =
+ .label = Vierailukerrat
+places-view-sort-col-date-added =
+ .label = Lisäyspäivä
+places-view-sort-col-last-modified =
+ .label = Viimeisin muokkaus
+places-view-sortby-name =
+ .label = Nimi
+ .accesskey = N
+places-view-sortby-url =
+ .label = Osoite
+ .accesskey = O
+places-view-sortby-date =
+ .label = Vierailupäivä
+ .accesskey = V
+places-view-sortby-visit-count =
+ .label = Vierailukerrat
+ .accesskey = i
+places-view-sortby-date-added =
+ .label = Lisäyspäivä
+ .accesskey = L
+places-view-sortby-last-modified =
+ .label = Muokkauspäivä
+ .accesskey = M
+places-view-sortby-tags =
+ .label = Avainsanat
+ .accesskey = s
+places-cmd-find-key =
+ .key = f
+places-back-button =
+ .tooltiptext = Palaa edelliseen
+places-forward-button =
+ .tooltiptext = Siirry seuraavaan
+places-details-pane-select-an-item-description = Valitse kohde, jonka ominaisuuksia muokataan tai näytetään
+places-details-pane-no-items =
+ .value = Ei osumia
+# Variables:
+# $count (Number): number of items
+places-details-pane-items-count =
+ .value =
+ { $count ->
+ [one] Yksi osuma
+ *[other] { $count } osumaa
+ }
+
+## Strings used as a placeholder in the Library search field. For example,
+## "Search History" stands for "Search through the browser's history".
+
+places-search-bookmarks =
+ .placeholder = Etsi kirjanmerkeistä
+places-search-history =
+ .placeholder = Etsi sivuhistoriasta
+places-search-downloads =
+ .placeholder = Etsi latauksista
+
+##
+
+places-locked-prompt = Selaimen kirjanmerkki- ja sivuhistoriatoiminnot eivät ole käytössä, koska jokin { -brand-short-name }in tiedostoista on toisen ohjelman käytössä. Jotkin tietoturvallisuusohjelmat voivat aiheuttaa tämän ongelman.
diff --git a/l10n-fi/browser/browser/placesPrompts.ftl b/l10n-fi/browser/browser/placesPrompts.ftl
new file mode 100644
index 0000000000..d117ec15af
--- /dev/null
+++ b/l10n-fi/browser/browser/placesPrompts.ftl
@@ -0,0 +1,20 @@
+# 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/.
+
+places-error-title = { -brand-short-name }
+places-no-title = (ei otsikkoa)
+
+# Do not translate `javascript:` and `data:`, they refer to the scheme used in URLs
+places-load-js-data-url-error = Turvallisuussyistä "javascript:"- tai "data:"-osoitteita ei voi ladata historiaikkunasta tai sivupalkista.
+
+places-bookmarks-backup-title = Kirjanmerkkien varmuuskopion tiedostonimi
+places-bookmarks-restore-alert-title = Palauta kirjanmerkit
+places-bookmarks-restore-alert = Tämä toiminto korvaa olemassa olevat kirjanmerkit varmuuskopioiduilla kirjanmerkeillä. Palautetaanko kirjanmerkit?
+places-bookmarks-restore-title = Valitse kirjanmerkkien varmuuskopio
+places-bookmarks-restore-filter-name = JSON
+places-bookmarks-restore-format-error = Tiedostomuotoa ei tueta.
+places-bookmarks-restore-parse-error = Varmuuskopiota ei voitu käsitellä.
+
+places-bookmarks-import = Tuo kirjanmerkkitiedosto
+places-bookmarks-export = Vie kirjanmerkkitiedosto
diff --git a/l10n-fi/browser/browser/policies/policies-descriptions.ftl b/l10n-fi/browser/browser/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..2aaae78652
--- /dev/null
+++ b/l10n-fi/browser/browser/policies/policies-descriptions.ftl
@@ -0,0 +1,128 @@
+# 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/.
+
+
+## The Enterprise Policies feature is aimed at system administrators
+## who want to deploy these settings across several Firefox installations
+## all at once. This is traditionally done through the Windows Group Policy
+## feature, but the system also supports other forms of deployment.
+## These are short descriptions for individual policies, to be displayed
+## in the documentation section in about:policies.
+
+policy-3rdparty = Aseta käytäntöjä, joita WebExtensionit voivat käyttää chrome.storage.managed-objektin kautta.
+policy-AllowedDomainsForApps = Määritä verkkotunnukset, joilla on pääsy Google Workspaceen.
+policy-AppAutoUpdate = Käytä tai poista käytöstä sovelluksen automaattiset päivitykset.
+policy-AppUpdatePin = Estä { -brand-short-name }in päivitykset määritettyä versiota uudemmaksi.
+policy-AppUpdateURL = Aseta oma sovelluksen päivittämisen URL-osoite.
+policy-Authentication = Määritä sisäänrakennettu tunnistautuminen sivustoille, jotka tukevat sitä.
+policy-AutoLaunchProtocolsFromOrigins = Määritä lista ulkoisista yhteyskäytännöistä, joita voi käyttää määrätyistä lähteistä kysymättä lupaa käyttäjältä.
+policy-BackgroundAppUpdate2 = Ota käyttöön tai poista käytöstä taustalla suoritettavien päivitysten toiminnallisuus.
+policy-BlockAboutAddons = Estä pääsy lisäosien hallintaan (about:addons).
+policy-BlockAboutConfig = Estä pääsy about:config-sivulle.
+policy-BlockAboutProfiles = Estä pääsy about:profiles-sivulle.
+policy-BlockAboutSupport = Estä pääsy about:support-sivulle.
+policy-Bookmarks = Luo kirjanmerkkejä kirjanmerkkipalkkiin, Kirjanmerkit-valikkoon tai tiettyyn kansioon niiden sisälle.
+policy-CaptivePortal = Ota käyttöön tai poista käytöstä vahtiportaalien tuki.
+policy-CertificatesDescription = Lisää varmenteita tai käytä sisäänrakennettuja varmenteita.
+policy-Cookies = Salli tai estä, että sivustot asettavat evästeitä.
+# Containers in this context is referring to container tabs in Firefox.
+policy-Containers = Aseta eristystiloihin liittyvät käytännöt.
+policy-DisableAccounts = Poista käytöstä tilipohjaiset palvelut, mukaan lukien synkronointi.
+policy-DisabledCiphers = Poista salausalgoritmeja käytöstä.
+policy-DefaultDownloadDirectory = Aseta oletuslatauskansio.
+policy-DisableAppUpdate = Estä selainta päivittymästä.
+policy-DisableBuiltinPDFViewer = Poista käytöstä PDF.js, { -brand-short-name }in sisäänrakennettu PDF-katselin.
+policy-DisableDefaultBrowserAgent = Estä oletusselainagenttia tekemästä mitään. Tällä on vaikutusta vain Windowsissa, koska agenttia ei ole muille ympäristöille.
+policy-DisableDeveloperTools = Estä pääsy web-työkaluihin.
+policy-DisableFeedbackCommands = Estä komennot, joilla voi antaa palautetta Ohje-valikosta (Anna palautetta ja Ilmoita petollinen sivusto).
+policy-DisableFirefoxAccounts = Poista käytöstä { -fxaccount-brand-name }-pohjaiset palvelut, mukaan lukien Sync.
+# Firefox Screenshots is the name of the feature, and should not be translated.
+policy-DisableFirefoxScreenshots = Poista Firefox Screenshots -ominaisuus käytöstä.
+policy-DisableFirefoxStudies = Estä { -brand-short-name } suorittamasta tutkimuksia.
+policy-DisableForgetButton = Estä pääsy Unohda-painikkeeseen.
+policy-DisableFormHistory = Älä tallenna haku- ja lomakehistoriaa.
+policy-DisablePrimaryPasswordCreation = Jos tosi, pääsalasanaa ei voi luoda.
+policy-DisablePasswordReveal = Älä salli salasanojen paljastamista tallennetuissa kirjautumistiedoissa.
+policy-DisablePocket2 = Poista käytöstä ominaisuus, jolla verkkosivuja voi tallentaa { -pocket-brand-name }-palveluun.
+policy-DisablePrivateBrowsing = Poista yksityinen selaus käytöstä.
+policy-DisableProfileImport = Poista käytöstä valikon komento, jolla tiedot voi tuoda toisesta selaimesta.
+policy-DisableProfileRefresh = Poista käytöstä about:support-sivulla oleva Palauta { -brand-short-name } -painike.
+policy-DisableSafeMode = Poista käytöstä ominaisuus, jolla selaimen voi käynnistää vikasietotilassa. Huomaa: Vaihto-näppäimen käyttö vikasietotilaan käynnistymiseen voidaan poistaa käytöstä Windowsissa vain käyttäen ryhmäkäytäntöä.
+policy-DisableSecurityBypass = Estä käyttäjää ohittamasta tiettyjä tietoturvavaroituksia.
+policy-DisableSetAsDesktopBackground = Poista käytöstä kuville tarkoitettu valikon komento Aseta työpöydän taustakuvaksi.
+policy-DisableSystemAddonUpdate = Estä selainta asentamasta ja päivittämästä järjestelmälisäosia.
+policy-DisableTelemetry = Poista kaukomittaus käytöstä.
+policy-DisableThirdPartyModuleBlocking = Estä käyttäjää estämästä ulkopuolisia moduuleja, jotka injektoidaan { -brand-short-name }-prosessiin.
+policy-DisplayBookmarksToolbar = Näytä kirjanmerkkipalkki oletusarvoisesti.
+policy-DisplayMenuBar = Näytä valikkopalkki oletusarvoisesti.
+policy-DNSOverHTTPS = Käytä DNS:ää HTTPS:n välityksellä.
+policy-DontCheckDefaultBrowser = Poista käytöstä oletusselaimen tarkistus käynnistettäessä.
+policy-DownloadDirectory = Aseta ja lukitse latauskansio.
+# “lock” means that the user won’t be able to change this setting
+policy-EnableTrackingProtection = Ota käyttöön tai poista käytöstä sisällön esto, ja valinnaisesti lukitse asetus.
+# “lock” means that the user won’t be able to change this setting
+policy-EncryptedMediaExtensions = Ota käyttöön tai poista käytöstä suojatun median laajennukset (Encrypted Media Extensions), ja valinnaisesti lukitse asetus.
+policy-ExemptDomainFileTypePairsFromFileTypeDownloadWarnings = Poista käytöstä tiedostopäätteeseen perustuvat varoitukset tietyistä tiedostotyypeistä verkkotunnuksissa.
+# A “locked” extension can’t be disabled or removed by the user. This policy
+# takes 3 keys (“Install”, ”Uninstall”, ”Locked”), you can either keep them in
+# English or translate them as verbs.
+policy-Extensions = Asenna, poista tai lukitse laajennuksia. Asennusasetus ottaa parametreiksi URL-osoitteita tai polkuja. Poisto- ja lukitsemisasetukset ottavat parametreiksi laajennusten ID:itä.
+policy-ExtensionSettings = Hallitse kaikkia laajennusten asennukseen liittyviä asioita.
+policy-ExtensionUpdate = Ota käyttöön tai poista käytöstä laajennusten automaattipäivitykset.
+policy-FirefoxHome2 = Määritä { -firefox-home-brand-name }.
+policy-FirefoxSuggest = Määritä { -firefox-suggest-brand-name }.
+policy-GoToIntranetSiteForSingleWordEntryInAddressBar = Pakota suora intranet-sivustonavigointi internethaun sijaan, kun yksittäisiä sanoja kirjoitetaan osoitepalkkiin.
+policy-Handlers = Määritä oletussovelluskäsittelijät.
+policy-HardwareAcceleration = Jos epätosi, poista laitteistokiihdytys käytöstä.
+# “lock” means that the user won’t be able to change this setting
+policy-Homepage = Aseta ja valinnaisesti lukitse aloitussivu.
+policy-InstallAddonsPermission = Salli tiettyjen sivustojen asentaa lisäosia.
+policy-LegacyProfiles = Poista käytöstä ominaisuus, joka pakottaa erillisen profiilin kullekin asennukselle
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+policy-LegacySameSiteCookieBehaviorEnabled = Käytä oletuksena SameSite-evästeiden vanhaa toimintaa.
+policy-LegacySameSiteCookieBehaviorEnabledForDomainList = Palaa vanhaan SameSite-toimintaan tiettyjen sivustojen evästeiden osalta.
+
+##
+
+policy-LocalFileLinks = Salli tiettyjen sivustojen linkittää paikallisiin tiedostoihin.
+policy-ManagedBookmarks = Määrittää listan järjestelmänvalvojan hallinnoimista kirjanmerkeistä, joita käyttäjä ei voi muuttaa.
+policy-ManualAppUpdateOnly = Salli vain manuaaliset päivitykset, älä ilmoita käyttäjälle päivityksistä.
+policy-PrimaryPassword = Vaadi tai estä pääsalasanan käyttö.
+policy-PrintingEnabled = Ota tulostus käyttöön tai poista se käytöstä.
+policy-NetworkPrediction = Ota käyttöön tai poista käytöstä verkkoennakointi (DNS-esihaku).
+policy-NewTabPage = Ota käyttöön tai poista käytöstä Uusi välilehti -sivu
+policy-NoDefaultBookmarks = Poista käytöstä { -brand-short-name }in mukana tulevien oletuskirjanmerkkien luonti ja älykkäiden kirjanmerkkien (Useimmin avatut, Viimeiset avainsanat) luonti. Huomaa: tällä käytännöllä on vaikutusta vain, kun profiili käynnistetään ensimmäisen kerran.
+policy-OfferToSaveLogins = Pakota asetus, joka sallii { -brand-short-name }in tarjota käyttäjätunnusten ja salasanojen tallentamista. Sekä tosi- että epätosi-arvot hyväksytään.
+policy-OfferToSaveLoginsDefault = Aseta oletusarvo sille, saako { -brand-short-name } tarjota käyttäjätunnusten ja salasanojen muistamista. Kelpuuttaa arvot true ja false.
+policy-OverrideFirstRunPage = Korvaa ensimmäisen käynnistyskerran sivu. Aseta tämä käytäntö tyhjäksi, jos haluat poistaa ensimmäisen käyttökerran sivun käytöstä.
+policy-OverridePostUpdatePage = Korvaa päivityksen jälkeinen ”Mitä uutta” -sivu. Aseta tämä käytäntö tyhjäksi, jos haluat poistaa päivityksen jälkeisen sivun käytöstä.
+policy-PasswordManagerEnabled = Ota käyttöön salasanojen tallennus salasanojen hallintaan.
+policy-PasswordManagerExceptions = Estä { -brand-short-name }ia tallentamasta tiettyjen sivustojen salasanoja.
+# PDF.js and PDF should not be translated
+policy-PDFjs = Poista käytöstä tai määritä PDF.js, { -brand-short-name }in sisäänrakennettu PDF-katselin.
+policy-Permissions2 = Aseta kameran, mikrofonin, sijainnin, ilmoitusten ja automaattisen toiston käyttöoikeuksien asetukset.
+policy-PictureInPicture = Ota käyttöön tai poista käytöstä Kuva kuvassa -ominaisuus.
+policy-PopupBlocking = Salli tiettyjen sivustojen näyttää ponnahdusikkunoita oletusarvoisesti.
+policy-Preferences = Aseta ja lukitse arvo asetusten osajoukolle.
+policy-PromptForDownloadLocation = Kysy ladattaessa minne tiedostot tallennetaan.
+policy-Proxy = Määritä välityspalvelimen asetukset.
+policy-RequestedLocales = Aseta pyydetyt sovelluksen kielet suosituimmuusjärjestyksessä.
+policy-SanitizeOnShutdown2 = Tyhjennä selaustiedot sammutuksen yhteydessä.
+policy-SearchBar = Aseta hakupalkin oletussijainti. Käyttäjä voi silti vaihtaa sitä.
+policy-SearchEngines = Aseta hakukoneasetukset. Tämä käytäntö on käytettävissä vain Extended Support Release (ESR) -versiossa.
+policy-SearchSuggestEnabled = Ota käyttöön tai poista käytöstä hakuehdotukset.
+# For more information, see https://wikipedia.org/wiki/PKCS_11
+policy-SecurityDevices2 = Lisää tai poista PKCS #11 -moduuleja.
+policy-ShowHomeButton = Näytä kotipainike työkalupalkissa.
+policy-SSLVersionMax = Aseta SSL:n enimmäisversio.
+policy-SSLVersionMin = Aseta SSL:n vähimmäisversio.
+policy-StartDownloadsInTempDirectory = Pakota lataukset alkamaan paikallisesta väliaikaisesta sijainnista oletusarvoisen latauskansion sijaan.
+policy-SupportMenu = Lisää Ohje-valikkoon oma valikkokohta tukea varten.
+policy-UserMessaging = Älä näytä tiettyjä viestejä käyttäjälle.
+policy-UseSystemPrintDialog = Tulosta käyttäen järjestelmän tulostusikkunaa.
+# “format” refers to the format used for the value of this policy.
+policy-WebsiteFilter = Estä sivustojen avaaminen. Katso ohjeista lisätietoja käyttötavasta.
+policy-Windows10SSO = Salli Windowsin kertakirjautuminen Microsoft-, työ- ja koulutileille.
diff --git a/l10n-fi/browser/browser/preferences/addEngine.ftl b/l10n-fi/browser/browser/preferences/addEngine.ftl
new file mode 100644
index 0000000000..5a1b9d0c81
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/addEngine.ftl
@@ -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/.
+
+add-engine-window2 =
+ .title = Lisää hakukone
+ .style = min-width: 32em;
+
+add-engine-button = Lisää mukautettu hakukone
+
+add-engine-name = Hakukoneen nimi
+
+add-engine-alias = Alias
+
+add-engine-url = Hakukoneen osoite, käytä merkkijonoa %s hakuehdon sijaan
+
+add-engine-dialog =
+ .buttonlabelaccept = Lisää hakukone
+ .buttonaccesskeyaccept = L
+
+engine-name-exists = Hakukone samalla nimellä on jo olemassa
+engine-alias-exists = Hakukone samalla aliaksella on jo olemassa
diff --git a/l10n-fi/browser/browser/preferences/applicationManager.ftl b/l10n-fi/browser/browser/preferences/applicationManager.ftl
new file mode 100644
index 0000000000..e13669e0b4
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/applicationManager.ftl
@@ -0,0 +1,25 @@
+# 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/.
+
+app-manager-window2 =
+ .title = Ohjelman tiedot
+ .style = min-width: 30em; min-height: 20em;
+
+app-manager-remove =
+ .label = Poista
+ .accesskey = P
+
+# Variables:
+# $type (String) - the URI scheme of the link (e.g. mailto:)
+app-manager-handle-protocol = Seuraavilla sovelluksilla voi avata { $type }-linkkejä.
+
+# Variables:
+# $type (String) - the MIME type (e.g. application/binary)
+app-manager-handle-file = Seuraavilla sovelluksilla voi avata { $type }-tiedostoja.
+
+## These strings are followed, on a new line,
+## by the URL or path of the application.
+
+app-manager-web-app-info = Tämän verkkosovelluksen osoite on:
+app-manager-local-app-info = Tämä ohjelma on kansiossa:
diff --git a/l10n-fi/browser/browser/preferences/blocklists.ftl b/l10n-fi/browser/browser/preferences/blocklists.ftl
new file mode 100644
index 0000000000..e1e8f66093
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/blocklists.ftl
@@ -0,0 +1,33 @@
+# 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/.
+
+blocklist-window2 =
+ .title = Estolistat
+ .style = min-width: 50em
+
+blocklist-description = Valitse lista, jota { -brand-short-name } käyttää verkkoseurainten estämiseen. Listat tarjoaa <a data-l10n-name="disconnect-link" title="Disconnect">Disconnect</a>.
+blocklist-close-key =
+ .key = w
+
+blocklist-treehead-list =
+ .label = Lista
+
+blocklist-dialog =
+ .buttonlabelaccept = Tallenna muutokset
+ .buttonaccesskeyaccept = T
+
+
+# This template constructs the name of the block list in the block lists dialog.
+# It combines the list name and description.
+# e.g. "Standard (Recommended). This list does a pretty good job."
+#
+# Variables:
+# $listName {string, "Standard (Recommended)."} - List name.
+# $description {string, "This list does a pretty good job."} - Description of the list.
+blocklist-item-list-template = { $listName } { $description }
+
+blocklist-item-moz-std-listName = Tason 1 estolista (suositeltu).
+blocklist-item-moz-std-description = Sallii jotkin seuraimet, jotta useimmat verkkosivustot eivät rikkoutuisi.
+blocklist-item-moz-full-listName = Tason 2 estolista.
+blocklist-item-moz-full-description = Estää kaikki havaitut seuraimet. Jotkin sivustot tai niiden sisältö ei välttämättä lataudu kunnolla.
diff --git a/l10n-fi/browser/browser/preferences/clearSiteData.ftl b/l10n-fi/browser/browser/preferences/clearSiteData.ftl
new file mode 100644
index 0000000000..4d7ee7c594
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/clearSiteData.ftl
@@ -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/.
+
+clear-site-data-window2 =
+ .title = Tyhjennä tiedot
+ .style = min-width: 35em
+
+clear-site-data-description = Jos poistat kaikki evästeet ja sivuston { -brand-short-name }iin tallentamat tiedot, sinut saatetaan kirjata ulos sivustoilta ja yhteydetöntä tilaa varten tallennettu sisältö saatetaan poistaa. Välimuistissa olevan sisällön poistaminen ei kirjaa sinua ulos sivustoilta.
+
+clear-site-data-close-key =
+ .key = w
+
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cookies and Site Data (24 KB)"
+# Variables:
+# $amount (Number) - Amount of site data currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cookies-with-data =
+ .label = Evästeet ja sivustotiedot ({ $amount } { $unit })
+ .accesskey = E
+
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cookies-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cookies-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cookies-empty =
+ .label = Evästeet ja sivustotiedot
+ .accesskey = E
+
+clear-site-data-cookies-info = Näiden poistaminen saattaa kirjata sinut ulos sivustoilta
+
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cached Web Content (24 KB)"
+# Variables:
+# $amount (Number) - Amount of cache currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cache-with-data =
+ .label = Välimuistissa oleva verkkosisältö ({ $amount } { $unit })
+ .accesskey = V
+
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cache-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cache-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cache-empty =
+ .label = Välimuistissa oleva verkkosisältö
+ .accesskey = V
+
+clear-site-data-cache-info = Vaatii sivustot lataamaan kuvat ja tiedot uudestaan
+
+clear-site-data-dialog =
+ .buttonlabelaccept = Tyhjennä
+ .buttonaccesskeyaccept = T
diff --git a/l10n-fi/browser/browser/preferences/colors.ftl b/l10n-fi/browser/browser/preferences/colors.ftl
new file mode 100644
index 0000000000..3a486b6855
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/colors.ftl
@@ -0,0 +1,44 @@
+# 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/.
+
+colors-dialog2 =
+ .title = Värit
+ .style = min-width: 41em;
+
+colors-close-key =
+ .key = w
+
+colors-page-override = Korvaa sivun määrittelemät värit yllä olevilla valinnoilla
+ .accesskey = r
+
+colors-page-override-option-always =
+ .label = Aina
+colors-page-override-option-auto =
+ .label = Vain suuren kontrastin teemojen kanssa
+colors-page-override-option-never =
+ .label = Ei koskaan
+
+colors-text-and-background = Tekstin ja taustan asetukset
+
+colors-text-header = Teksti
+ .accesskey = T
+
+colors-background = Tausta
+ .accesskey = u
+
+colors-use-system =
+ .label = Käytä järjestelmän värejä
+ .accesskey = K
+
+colors-underline-links =
+ .label = Alleviivaa linkit
+ .accesskey = A
+
+colors-links-header = Linkkien värit
+
+colors-unvisited-links = Avaamattomat linkit
+ .accesskey = m
+
+colors-visited-links = Avatut linkit
+ .accesskey = v
diff --git a/l10n-fi/browser/browser/preferences/connection.ftl b/l10n-fi/browser/browser/preferences/connection.ftl
new file mode 100644
index 0000000000..5db4c4fd9d
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/connection.ftl
@@ -0,0 +1,99 @@
+# 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/.
+
+connection-window2 =
+ .title = Yhteysasetukset
+ .style =
+ { PLATFORM() ->
+ [macos] min-width: 44em
+ *[other] min-width: 49em
+ }
+
+connection-close-key =
+ .key = w
+
+connection-disable-extension =
+ .label = Poista laajennus käytöstä
+
+connection-proxy-configure = Määritä välityspalvelinasetukset
+
+connection-proxy-option-no =
+ .label = Ei välityspalvelinta
+ .accesskey = E
+connection-proxy-option-system =
+ .label = Käytä järjestelmän välityspalvelinasetuksia
+ .accesskey = K
+connection-proxy-option-auto =
+ .label = Automaattiset välityspalvelinasetukset
+ .accesskey = A
+connection-proxy-option-manual =
+ .label = Aseta välityspalvelinasetukset käsin
+ .accesskey = s
+
+connection-proxy-http = HTTP-välityspalvelin
+ .accesskey = H
+connection-proxy-http-port = Portti
+ .accesskey = P
+connection-proxy-https-sharing =
+ .label = Käytä tätä välityspalvelinta myös HTTPS:lle
+ .accesskey = S
+
+connection-proxy-https = HTTPS-välityspalvelin
+ .accesskey = H
+connection-proxy-ssl-port = Portti
+ .accesskey = r
+
+connection-proxy-socks = SOCKS-palvelin
+ .accesskey = C
+connection-proxy-socks-port = Portti
+ .accesskey = i
+
+connection-proxy-socks4 =
+ .label = SOCKS v4
+ .accesskey = 4
+connection-proxy-socks5 =
+ .label = SOCKS v5
+ .accesskey = 5
+connection-proxy-noproxy = Ei välitystä osoitteille
+ .accesskey = v
+
+connection-proxy-noproxy-desc = Esimerkiksi: 192.168.1.0/24, .mozilla.org, .fi
+
+# Do not translate "localhost", "127.0.0.1/8" and "::1". (You can translate "and".)
+connection-proxy-noproxy-localhost-desc-2 = Yhteyksiä kohteisiin localhost, 127.0.0.1/8 ja ::1 ei koskaan ohjata välityspalvelimen kautta.
+
+connection-proxy-autotype =
+ .label = Nouda välityspalvelinasetukset osoitteesta
+ .accesskey = N
+
+connection-proxy-reload =
+ .label = Päivitä
+ .accesskey = ä
+
+connection-proxy-autologin =
+ .label = Älä kysy kirjautumistietoja jos salasana on tallennettu
+ .accesskey = Ä
+ .tooltip = Kirjautuminen välityspalvelimelle tapahtuu automaattisesti jos salasana palvelimelle on tallennettu. Kirjautumistietoja kysytään jos automaattinen kirjautuminen epäonnistuu.
+
+connection-proxy-autologin-checkbox =
+ .label = Älä kysy kirjautumistietoja jos salasana on tallennettu
+ .accesskey = Ä
+ .tooltiptext = Kirjautuminen välityspalvelimelle tapahtuu automaattisesti jos salasana palvelimelle on tallennettu. Kirjautumistietoja kysytään jos automaattinen kirjautuminen epäonnistuu.
+
+connection-proxy-socks-remote-dns =
+ .label = Käytä välityspalvelinta DNS:lle käytettäessä SOCKS v5:tä
+ .accesskey = E
+
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name } (oletus)
+ .tooltiptext = Käytä oletusosoitetta nimipalvelukyselyjen tekemiseksi HTTPS:n välityksellä
+
+connection-dns-over-https-url-custom =
+ .label = Oma
+ .accesskey = m
+ .tooltiptext = Kirjoita ensijainen osoite DNS-kyselyjen selvittämiseen HTTPS:n välityksellä
+
+connection-dns-over-https-custom-label = Oma
diff --git a/l10n-fi/browser/browser/preferences/containers.ftl b/l10n-fi/browser/browser/preferences/containers.ftl
new file mode 100644
index 0000000000..7978fab3b6
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/containers.ftl
@@ -0,0 +1,93 @@
+# 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/.
+
+containers-window-new2 =
+ .title = Lisää uusi eristystila
+ .style = min-width: 45em
+# Variables
+# $name (String) - Name of the container
+containers-window-update-settings2 =
+ .title = { $name }-eristystilan asetukset
+ .style = min-width: 45em
+
+containers-window-close =
+ .key = w
+
+# This is a term to store style to be applied
+# on the three labels in the containers add/edit dialog:
+# - name
+# - icon
+# - color
+#
+# Using this term and referencing it in the `.style` attribute
+# of the three messages ensures that all three labels
+# will be aligned correctly.
+-containers-labels-style = min-width: 4rem
+
+containers-name-label = Nimi
+ .accesskey = N
+ .style = { -containers-labels-style }
+
+containers-name-text =
+ .placeholder = Kirjoita eristystilan nimi
+
+containers-icon-label = Kuvake
+ .accesskey = K
+ .style = { -containers-labels-style }
+
+containers-color-label = Väri
+ .accesskey = r
+ .style = { -containers-labels-style }
+
+containers-dialog =
+ .buttonlabelaccept = Valmis
+ .buttonaccesskeyaccept = V
+
+containers-color-blue =
+ .label = Sininen
+containers-color-turquoise =
+ .label = Turkoosi
+containers-color-green =
+ .label = Vihreä
+containers-color-yellow =
+ .label = Keltainen
+containers-color-orange =
+ .label = Oranssi
+containers-color-red =
+ .label = Punainen
+containers-color-pink =
+ .label = Pinkki
+containers-color-purple =
+ .label = Violetti
+containers-color-toolbar =
+ .label = Sama kuin työkalupalkin
+
+containers-icon-fence =
+ .label = Aita
+containers-icon-fingerprint =
+ .label = Sormenjälki
+containers-icon-briefcase =
+ .label = Salkku
+# String represents a money sign but currently uses a dollar sign
+# so don't change to local currency. See Bug 1291672.
+containers-icon-dollar =
+ .label = Dollarimerkki
+containers-icon-cart =
+ .label = Ostoskärryt
+containers-icon-circle =
+ .label = Piste
+containers-icon-vacation =
+ .label = Loma
+containers-icon-gift =
+ .label = Lahja
+containers-icon-food =
+ .label = Ruoka
+containers-icon-fruit =
+ .label = Hedelmä
+containers-icon-pet =
+ .label = Lemmikki
+containers-icon-tree =
+ .label = Puu
+containers-icon-chill =
+ .label = Rento
diff --git a/l10n-fi/browser/browser/preferences/fonts.ftl b/l10n-fi/browser/browser/preferences/fonts.ftl
new file mode 100644
index 0000000000..0bebdb8796
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/fonts.ftl
@@ -0,0 +1,121 @@
+# 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/.
+
+fonts-window =
+ .title = Kirjasinlajit
+
+fonts-window-close =
+ .key = w
+
+## Font groups by language
+
+fonts-langgroup-header = Merkistö
+ .accesskey = M
+
+fonts-langgroup-arabic =
+ .label = Arabialainen
+fonts-langgroup-armenian =
+ .label = Armenialainen
+fonts-langgroup-bengali =
+ .label = Bengalilainen
+fonts-langgroup-simpl-chinese =
+ .label = Yksinkertaistettu kiinalainen
+fonts-langgroup-trad-chinese-hk =
+ .label = Perinteinen kiinalainen (Hongkong)
+fonts-langgroup-trad-chinese =
+ .label = Perinteinen kiinalainen (Taiwan)
+fonts-langgroup-cyrillic =
+ .label = Kyrillinen
+fonts-langgroup-devanagari =
+ .label = Devanagari
+fonts-langgroup-ethiopic =
+ .label = Etiopialainen
+fonts-langgroup-georgian =
+ .label = Georgialainen
+fonts-langgroup-el =
+ .label = Kreikkalainen
+fonts-langgroup-gujarati =
+ .label = Gujaratilainen
+fonts-langgroup-gurmukhi =
+ .label = Gurmukhilainen
+fonts-langgroup-japanese =
+ .label = Japanilainen
+fonts-langgroup-hebrew =
+ .label = Heprealainen
+fonts-langgroup-kannada =
+ .label = Kannadalainen
+fonts-langgroup-khmer =
+ .label = Khmerlainen
+fonts-langgroup-korean =
+ .label = Korealainen
+# Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+fonts-langgroup-latin =
+ .label = Latinalainen
+fonts-langgroup-malayalam =
+ .label = Malaijalamilainen
+fonts-langgroup-math =
+ .label = Matematiikka
+fonts-langgroup-odia =
+ .label = Orija
+fonts-langgroup-sinhala =
+ .label = Singalilainen
+fonts-langgroup-tamil =
+ .label = Tamilialainen
+fonts-langgroup-telugu =
+ .label = Telugulainen
+fonts-langgroup-thai =
+ .label = Thaimaalainen
+fonts-langgroup-tibetan =
+ .label = Tiibettiläinen
+fonts-langgroup-canadian =
+ .label = Kanadalainen tavumerkistö
+fonts-langgroup-other =
+ .label = Muut kirjoitusjärjestelmät
+
+## Default fonts and their sizes
+
+fonts-proportional-header = Suhteellinen
+ .accesskey = S
+
+fonts-default-serif =
+ .label = Pääteviivallinen
+fonts-default-sans-serif =
+ .label = Pääteviivaton
+
+fonts-proportional-size = Koko
+ .accesskey = K
+
+fonts-serif = Pääteviivallinen
+ .accesskey = P
+
+fonts-sans-serif = Pääteviivaton
+ .accesskey = ä
+
+fonts-monospace = Tasavälinen
+ .accesskey = T
+
+fonts-monospace-size = Koko
+ .accesskey = o
+
+fonts-minsize = Pienin kirjasinkoko
+ .accesskey = e
+
+fonts-minsize-none =
+ .label = Ei ole
+
+fonts-allow-own =
+ .label = Sivut saavat käyttää omia kirjasinlajejaan oletusten sijaan
+ .accesskey = u
+
+## Text Encodings
+##
+## Translate the encoding names as adjectives for an encoding, not as the name
+## of the language.
+
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Oletus ({ $name })
+fonts-label-default-unnamed =
+ .label = Oletus
diff --git a/l10n-fi/browser/browser/preferences/formAutofill.ftl b/l10n-fi/browser/browser/preferences/formAutofill.ftl
new file mode 100644
index 0000000000..cf6a21b3a4
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/formAutofill.ftl
@@ -0,0 +1,156 @@
+# 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/.
+
+
+## The address and credit card autofill management dialog in browser preferences
+
+autofill-manage-addresses-title = Tallennetut osoitteet
+autofill-manage-addresses-list-header = Osoitteet
+autofill-manage-credit-cards-title = Tallennetut luottokortit
+autofill-manage-credit-cards-list-header = Luottokortit
+autofill-manage-payment-methods-title = Tallennetut maksutavat
+autofill-manage-cards-list-header = Kortit
+autofill-manage-dialog =
+ .style = min-width: 560px
+autofill-manage-remove-button = Poista
+autofill-manage-add-button = Lisää…
+autofill-manage-edit-button = Muokkaa…
+
+## The address capture doorhanger
+
+address-capture-save-doorhanger-header = Tallennetaanko osoite?
+address-capture-save-doorhanger-description = Tallenna tiedot { -brand-short-name }iin, jotta voit täyttää lomakkeita nopeasti.
+address-capture-update-doorhanger-header = Päivitetäänkö osoite?
+address-capture-edit-doorhanger-header = Muokkaa osoitetta
+address-capture-save-button =
+ .label = Tallenna
+ .accessKey = T
+address-capture-not-now-button =
+ .label = Ei nyt
+ .accessKey = N
+address-capture-cancel-button =
+ .label = Peruuta
+ .accessKey = P
+address-capture-update-button =
+ .label = Päivitä
+ .accessKey = Ä
+address-capture-manage-address-button =
+ .label = Osoiteasetukset
+address-capture-learn-more-button =
+ .label = Lue lisää
+# The dialog title for creating addresses in browser preferences.
+autofill-add-new-address-title = Lisää uusi osoite
+address-capture-open-menu-button =
+ .aria-label = Avaa valikko
+address-capture-edit-address-button =
+ .aria-label = Muokkaa osoitetta
+# The dialog title for creating addresses in browser preferences.
+autofill-add-address-title = Lisää osoite
+# The dialog title for editing addresses in browser preferences.
+autofill-edit-address-title = Muokkaa osoitetta
+autofill-address-name = Nimi
+autofill-address-given-name = Etunimi
+autofill-address-additional-name = Toinen nimi
+autofill-address-family-name = Sukunimi
+autofill-address-organization = Organisaatio
+autofill-address-street-address = Katuosoite
+autofill-address-street = Katuosoite
+
+## address-level-3 (Sublocality) names
+
+# Used in IR, MX
+autofill-address-neighborhood = Naapurusto
+# Used in MY
+autofill-address-village-township = Kylä tai kaupunki
+autofill-address-island = Saari
+# Used in IE
+autofill-address-townland = Alue
+
+## address-level-2 names
+
+autofill-address-city = Kaupunki
+# Used in HK, SD, SY, TR as Address Level-2 and used in KR as Sublocality.
+autofill-address-district = Alue
+# Used in GB, NO, SE
+autofill-address-post-town = Postitoimipaikka
+# Used in AU as Address Level-2 and used in ZZ as Sublocality.
+autofill-address-suburb = Lähiö
+
+## address-level-1 names
+
+autofill-address-province = Maakunta
+autofill-address-state = Osavaltio
+autofill-address-county = Maakunta
+# Used in BB, JM
+autofill-address-parish = Kirkonkylä
+# Used in JP
+autofill-address-prefecture = Prefektuuri
+# Used in HK
+autofill-address-area = Alue
+# Used in KR
+autofill-address-do-si = Do/Si
+# Used in NI, CO
+autofill-address-department = Departementti
+# Used in AE
+autofill-address-emirate = Emiirikunta
+# Used in RU and UA
+autofill-address-oblast = Oblasti
+
+## Postal code name types
+
+# Used in IN
+autofill-address-pin = Postinumero
+autofill-address-postal-code = Postinumero
+autofill-address-zip = Postinumero
+# Used in IE
+autofill-address-eircode = Eircode
+
+##
+
+
+##
+
+autofill-address-country = Maa tai alue
+autofill-address-country-only = Maa
+autofill-address-tel = Puhelin
+autofill-address-email = Sähköposti
+autofill-cancel-button = Peruuta
+autofill-save-button = Tallenna
+autofill-country-warning-message = Lomakkeiden automaattitäyttö on tällä hetkellä käytettävissä vain joillekin maille.
+# The dialog title for creating credit cards in browser preferences.
+autofill-add-new-card-title = Lisää uusi luottokortti
+# The dialog title for editing credit cards in browser preferences.
+autofill-edit-card-title = Muokkaa luottokorttia
+autofill-message-tooltip = Näytä automaattista täyttöä koskeva viesti
+# The dialog title for creating credit cards in browser preferences.
+autofill-add-card-title = Lisää kortti
+# The dialog title for editing credit cards in browser preferences.
+autofill-edit-card-title2 = Muokkaa korttia
+# In macOS, this string is preceded by the operating system with "Firefox is trying to ",
+# and has a period added to its end. Make sure to test in your locale.
+autofill-edit-card-password-prompt =
+ { PLATFORM() ->
+ [macos] esittää luottokorttitietoja
+ [windows] { -brand-short-name } yrittää näyttää luottokorttitietoja. Vahvista tämän Windows-tilin käyttöoikeus alla.
+ *[other] { -brand-short-name } yrittää esittää luottokorttitietoja.
+ }
+autofill-card-number = Luottokortti
+autofill-card-invalid-number = Kirjoita kelvollinen luottokortin numero
+autofill-card-name-on-card = Nimi kortissa
+autofill-card-expires-month = Vanhenemiskuukausi
+autofill-card-expires-year = Vanhenemisvuosi
+autofill-card-billing-address = Laskutusosoite
+autofill-card-network = Kortin tyyppi
+
+## These are brand names and should only be translated when a locale-specific name for that brand is in common use
+
+autofill-card-network-amex = American Express
+autofill-card-network-cartebancaire = Carte Bancaire
+autofill-card-network-diners = Diners Club
+autofill-card-network-discover = Discover
+autofill-card-network-jcb = JCB
+autofill-card-network-mastercard = MasterCard
+autofill-card-network-mir = MIR
+autofill-card-network-unionpay = Union Pay
+autofill-card-network-visa = Visa
diff --git a/l10n-fi/browser/browser/preferences/fxaPairDevice.ftl b/l10n-fi/browser/browser/preferences/fxaPairDevice.ftl
new file mode 100644
index 0000000000..ad7517f9df
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/fxaPairDevice.ftl
@@ -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/.
+
+fxa-pair-device-dialog-sync2 =
+ .style = min-width: 32em;
+
+fxa-qrcode-pair-title = Synkronoi { -brand-product-name } puhelimellasi tai tablet-laitteellasi
+fxa-qrcode-pair-step1 = 1. Avaa { -brand-product-name } mobiililaitteellasi.
+
+fxa-qrcode-pair-step2-signin = 2. Mene valikkoon (<img data-l10n-name="ios-menu-icon"/> iOS:llä tai <img data-l10n-name="android-menu-icon"/> Androidilla) ja napauta <strong>Synkronoi ja tallenna data</strong>
+
+fxa-qrcode-pair-step3 = 3. Napauta <strong>Valmis skannaamaan</strong> ja pidä puhelintasi tämän koodin päällä
+
+fxa-qrcode-error-title = Paritus epäonnistui.
+
+fxa-qrcode-error-body = Yritä uudelleen.
diff --git a/l10n-fi/browser/browser/preferences/languages.ftl b/l10n-fi/browser/browser/preferences/languages.ftl
new file mode 100644
index 0000000000..41694bc581
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/languages.ftl
@@ -0,0 +1,73 @@
+# 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/.
+
+webpage-languages-window2 =
+ .title = Verkkosivujen kieliasetukset
+ .style = min-width: 40em
+
+languages-close-key =
+ .key = w
+
+languages-description = Sivuista on joskus useammankielisiä versioita. Järjestä kielet niin, että ensimmäisenä on mieluiten lukemasi kieli
+
+languages-customize-spoof-english =
+ .label = Pyydä englanninkieliset versiot verkkosivuista yksityisyyden vuoksi
+
+languages-customize-moveup =
+ .label = Siirrä ylös
+ .accesskey = y
+
+languages-customize-movedown =
+ .label = Siirrä alas
+ .accesskey = a
+
+languages-customize-remove =
+ .label = Poista
+ .accesskey = P
+
+languages-customize-select-language =
+ .placeholder = Valitse lisättävä kieli…
+
+languages-customize-add =
+ .label = Lisää
+ .accesskey = L
+
+# The pattern used to generate strings presented to the user in the
+# locale selection list.
+#
+# Example:
+# Icelandic [is]
+# Spanish (Chile) [es-CL]
+#
+# Variables:
+# $locale (String) - A name of the locale (for example: "Icelandic", "Spanish (Chile)")
+# $code (String) - Locale code of the locale (for example: "is", "es-CL")
+languages-code-format =
+ .label = { $locale } [{ $code }]
+
+languages-active-code-format =
+ .value = { languages-code-format.label }
+
+browser-languages-window2 =
+ .title = { -brand-short-name }in kieliasetukset
+ .style = min-width: 40em
+
+browser-languages-description = { -brand-short-name } käyttää ensimmäistä kieltä oletuksena ja muita kieliä tarvittaessa, alla olevassa järjestyksessä.
+
+browser-languages-search = Etsi lisää kieliä…
+
+browser-languages-searching =
+ .label = Etsitään kieliä…
+
+browser-languages-downloading =
+ .label = Ladataan…
+
+browser-languages-select-language =
+ .label = Valitse lisättävä kieli…
+ .placeholder = Valitse lisättävä kieli…
+
+browser-languages-installed-label = Asennetut kielet
+browser-languages-available-label = Saatavilla olevat kielet
+
+browser-languages-error = { -brand-short-name } ei voi päivittää kieliä juuri nyt. Varmista, että yhteys internetiin toimii tai yritä uudestaan.
diff --git a/l10n-fi/browser/browser/preferences/moreFromMozilla.ftl b/l10n-fi/browser/browser/preferences/moreFromMozilla.ftl
new file mode 100644
index 0000000000..48fda10e25
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/moreFromMozilla.ftl
@@ -0,0 +1,33 @@
+# 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/.
+
+
+## These strings are used in the about:preferences moreFromMozilla page
+
+more-from-moz-title = Lisää { -vendor-short-name(case: "ablative") }
+more-from-moz-category =
+ .tooltiptext = Lisää { -vendor-short-name(case: "ablative") }
+
+more-from-moz-subtitle = Tutustu muihin { -vendor-short-name }-tuotteisiin, jotka tukevat terveellistä internetiä.
+
+more-from-moz-firefox-mobile-title = { -brand-product-name }in mobiiliversio
+more-from-moz-firefox-mobile-description = Mobiiliselain, joka asettaa yksityisyytesi etusijalle.
+
+more-from-moz-mozilla-vpn-title = { -mozilla-vpn-brand-name }
+more-from-moz-mozilla-vpn-description = Löydä lisätty taso anonyymiä selaamista ja suojausta.
+
+more-from-moz-qr-code-box-firefox-mobile-title = Lataa mobiililaitteellasi. Suuntaa kamerasi QR-koodiin. Kun linkki tulee näkyviin, napauta sitä.
+more-from-moz-qr-code-box-firefox-mobile-button = Lähetä sen sijaan sähköposti puhelimeesi
+more-from-moz-qr-code-firefox-mobile-img =
+ .alt = QR-koodi { -brand-product-name }in mobiiliversion lataamiseksi
+
+more-from-moz-button-mozilla-vpn-2 = Hanki VPN
+
+more-from-moz-learn-more-link = Lue lisää
+
+## These strings are for the Firefox Relay card in about:preferences moreFromMozilla page
+
+more-from-moz-firefox-relay-title = { -relay-brand-name }
+more-from-moz-firefox-relay-description = Suojaa postilaatikkosi ja henkilöytesi ilmaisella sähköpostimaskilla.
+more-from-moz-firefox-relay-button = Hanki { -relay-brand-short-name }
diff --git a/l10n-fi/browser/browser/preferences/permissions.ftl b/l10n-fi/browser/browser/preferences/permissions.ftl
new file mode 100644
index 0000000000..c4faefde17
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/permissions.ftl
@@ -0,0 +1,205 @@
+# 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/.
+
+permissions-window2 =
+ .title = Poikkeukset
+ .style = min-width: 36em
+permissions-close-key =
+ .key = w
+permissions-address = Sivuston osoite
+ .accesskey = i
+permissions-block =
+ .label = Estä
+ .accesskey = E
+permissions-disable-etp =
+ .label = Lisää poikkeus
+ .accesskey = E
+permissions-session =
+ .label = Salli istunnon ajaksi
+ .accesskey = i
+permissions-allow =
+ .label = Salli
+ .accesskey = a
+permissions-button-off =
+ .label = Poista käytöstä
+ .accesskey = P
+permissions-button-off-temporarily =
+ .label = Poista käytöstä väliaikaisesti
+ .accesskey = v
+permissions-site-name =
+ .label = Sivusto
+permissions-status =
+ .label = Tila
+permissions-remove =
+ .label = Poista sivusto
+ .accesskey = P
+permissions-remove-all =
+ .label = Poista kaikki sivustot
+ .accesskey = k
+permission-dialog =
+ .buttonlabelaccept = Tallenna muutokset
+ .buttonaccesskeyaccept = T
+permissions-autoplay-menu = Oletus kaikille sivustoille:
+permissions-searchbox =
+ .placeholder = Etsi sivustoa
+permissions-capabilities-autoplay-allow =
+ .label = Salli ääni ja video
+permissions-capabilities-autoplay-block =
+ .label = Estä ääni
+permissions-capabilities-autoplay-blockall =
+ .label = Estä ääni ja video
+permissions-capabilities-allow =
+ .label = Salli
+permissions-capabilities-block =
+ .label = Estä
+permissions-capabilities-prompt =
+ .label = Kysy aina
+permissions-capabilities-listitem-allow =
+ .value = Salli
+permissions-capabilities-listitem-block =
+ .value = Estä
+permissions-capabilities-listitem-allow-session =
+ .value = Salli istunnon ajaksi
+permissions-capabilities-listitem-off =
+ .value = Pois
+permissions-capabilities-listitem-off-temporarily =
+ .value = Pois väliaikaisesti
+
+## Invalid Hostname Dialog
+
+permissions-invalid-uri-title = Virheellinen palvelinnimi annettu
+permissions-invalid-uri-label = Kirjoita kelvollinen palvelinnimi
+
+## Exceptions - Tracking Protection
+
+permissions-exceptions-etp-window2 =
+ .title = Tehostetun seurannan suojauksen poikkeukset
+ .style = { permissions-window2.style }
+permissions-exceptions-manage-etp-desc = Voit määrittää, millä verkkosivustoilla tehostettu seurannan suojaus on poistettu käytöstä. Kirjoita sen sivuston tarkka osoite, jota haluat hallita, ja napsauta sitten Lisää poikkeus.
+
+## Exceptions - Cookies
+
+permissions-exceptions-cookie-window2 =
+ .title = Poikkeukset - Evästeet ja sivustotiedot
+ .style = { permissions-window2.style }
+permissions-exceptions-cookie-desc = Määrätyt sivustot saavat tai eivät saa asettaa evästeitä ja tallentaa tietoja tietokoneellesi. Kirjoita sivuston osoite ja napsauta Salli, Salli istunnon ajaksi tai Estä.
+
+## Exceptions - HTTPS-Only Mode
+
+permissions-exceptions-https-only-window2 =
+ .title = Poikkeukset - Vain HTTPS -tila
+ .style = { permissions-window2.style }
+permissions-exceptions-https-only-desc = Voit poistaa Vain HTTPS -tilan käytöstä haluamiesi sivustojen kohdalla. { -brand-short-name } ei näin ollen yritä päivittää yhteyttä suojattuun HTTPS-tilaan kyseisten sivustojen kohdalla. Poikkeukset eivät päde yksityisiin ikkunoihin.
+permissions-exceptions-https-only-desc2 = Voit poistaa Vain HTTPS -tilan käytöstä haluamiesi sivustojen kohdalla. { -brand-short-name } ei näin ollen yritä päivittää yhteyttä suojattuun HTTPS-tilaan kyseisten sivustojen kohdalla.
+
+## Exceptions - Pop-ups
+
+permissions-exceptions-popup-window2 =
+ .title = Sallitut sivustot - Ponnahdusikkunat
+ .style = { permissions-window2.style }
+permissions-exceptions-popup-desc = Määrätyt sivustot saavat avata ponnahdusikkunoita. Kirjoita sivuston osoite ja napsauta Salli.
+
+## Exceptions - Saved Logins
+
+permissions-exceptions-saved-logins-window2 =
+ .title = Poikkeukset - Tallennetut kirjautumistiedot
+ .style = { permissions-window2.style }
+permissions-exceptions-saved-logins-desc = Seuraavien sivustojen kirjautumistietoja ei tallenneta
+
+## Exceptions - Saved Passwords
+
+permissions-exceptions-saved-passwords-window =
+ .title = Poikkeukset - Tallennetut salasanat
+ .style = { permissions-window2.style }
+permissions-exceptions-saved-passwords-desc = { -brand-short-name } ei tallenna tässä lueteltujen sivustojen salasanoja.
+
+## Exceptions - Add-ons
+
+permissions-exceptions-addons-window2 =
+ .title = Sallitut sivustot - Lisäosien asentaminen
+ .style = { permissions-window2.style }
+permissions-exceptions-addons-desc = Lisäosia voidaan asentaa määrätyiltä sivustoilta. Kirjoita sivuston osoite ja napsauta Salli.
+
+## Site Permissions - Autoplay
+
+permissions-site-autoplay-window2 =
+ .title = Asetukset - Automaattinen toisto
+ .style = { permissions-window2.style }
+permissions-site-autoplay-desc = Tässä voit hallita sivustoja, jotka eivät noudata automaattisen toiston oletusasetuksia.
+
+## Site Permissions - Notifications
+
+permissions-site-notification-window2 =
+ .title = Asetukset - Ilmoitusten vastaanottaminen
+ .style = { permissions-window2.style }
+permissions-site-notification-desc = Seuraavat sivustot ovat pyytäneet lupaa lähettää ilmoituksia. Voit valita, mitkä sivustot saavat lähettää ilmoituksia sinulle. Voit myös estää uudet lupapyynnöt ilmoitusten lähettämiseksi.
+permissions-site-notification-disable-label =
+ .label = Estä uudet lupapyynnöt ilmoitusten lähettämiseksi
+permissions-site-notification-disable-desc = Tämä estää kaikki yllä mainitsemattomat sivustot pyytämästä lupaa lähettää ilmoituksia. Ilmoitusten estäminen voi rikkoa joitain sivuston ominaisuuksia.
+
+## Site Permissions - Location
+
+permissions-site-location-window2 =
+ .title = Asetukset - Sijaintioikeudet
+ .style = { permissions-window2.style }
+permissions-site-location-desc = Seuraavat sivustot ovat pyytäneet lupaa käyttää sijaintiasi. Voit valita, mitkä sivustot saavat käyttää sijaintiasi. Voit myös estää uudet lupapyynnöt sijainnin käyttämiseksi.
+permissions-site-location-disable-label =
+ .label = Estä uudet lupapyynnöt sijainnin käyttämiseksi
+permissions-site-location-disable-desc = Tämä estää kaikki yllä mainitsemattomat sivustot pyytämästä lupaa käyttää sijaintia. Sijainnin käytön estäminen voi rikkoa joitain sivuston ominaisuuksia.
+
+## Site Permissions - Virtual Reality
+
+permissions-site-xr-window2 =
+ .title = Asetukset - Virtuaalitodellisuuden oikeudet
+ .style = { permissions-window2.style }
+permissions-site-xr-desc = Seuraavat sivustot ovat pyytäneet lupaa käyttää virtuaalitodellisuuslaitteitasi. Voit valita, mitkä sivustot saavat käyttää virtuaalitodellisuuslaitteitasi. Voit myös estää uudet lupapyynnöt laitteiden käyttämiseksi.
+permissions-site-xr-disable-label =
+ .label = Estä uudet lupapyynnöt virtuaalitodellisuuslaitteiden käyttämiseksi
+permissions-site-xr-disable-desc = Tämä estää kaikki yllä mainitsemattomat sivustot pyytämästä lupaa käyttää virtuaalitodellisuuslaitteitasi. Virtuaalitodellisuuslaitteitesi käytön estäminen voi rikkoa joitain sivuston ominaisuuksia.
+
+## Site Permissions - Camera
+
+permissions-site-camera-window2 =
+ .title = Asetukset - Kameraoikeudet
+ .style = { permissions-window2.style }
+permissions-site-camera-desc = Seuraavat sivustot ovat pyytäneet lupaa käyttää kameraasi. Voit valita, mitkä sivustot saavat käyttää kameraasi. Voit myös estää uudet lupapyynnöt kameran käyttämiseksi.
+permissions-site-camera-disable-label =
+ .label = Estä uudet lupapyynnöt kameran käyttämiseksi
+permissions-site-camera-disable-desc = Tämä estää kaikki yllä mainitsemattomat sivustot pyytämästä lupaa käyttää kameraa. Kameran käytön estäminen voi rikkoa joitain sivuston ominaisuuksia.
+
+## Site Permissions - Microphone
+
+permissions-site-microphone-window2 =
+ .title = Asetukset - Mikrofonioikeudet
+ .style = { permissions-window2.style }
+permissions-site-microphone-desc = Seuraavat sivustot ovat pyytäneet lupaa käyttää mikrofoniasi. Voit valita, mitkä sivustot saavat käyttää mikrofoniasi. Voit myös estää uudet lupapyynnöt mikrofonin käyttämiseksi.
+permissions-site-microphone-disable-label =
+ .label = Estä uudet lupapyynnöt mikrofonin käyttämiseksi
+permissions-site-microphone-disable-desc = Tämä estää kaikki yllä mainitsemattomat sivustot pyytämästä lupaa käyttää mikrofonia. Mikrofonin käytön estäminen voi rikkoa joitain sivuston ominaisuuksia.
+
+## Site Permissions - Speaker
+##
+## "Speaker" refers to an audio output device.
+
+permissions-site-speaker-window =
+ .title = Asetukset - Äänentoistolaitteen oikeudet
+ .style = { permissions-window2.style }
+permissions-site-speaker-desc = Seuraavat sivustot ovat pyytäneet oikeutta valita äänentoistolaiteen. Voit määrittää millä sivustoilla on äänentoistolaitteen valintaoikeus.
+permissions-exceptions-doh-window =
+ .title = Verkkosivustojen poikkeukset DNS:lle HTTPS:n kautta
+ .style = { permissions-window2.style }
+permissions-exceptions-manage-doh-desc = { -brand-short-name } ei käytä suojattua DNS:ää näillä sivustoilla ja niiden aliverkkotunnuksissa.
+permissions-doh-entry-field = Anna verkkosivuston verkkotunnuksen nimi
+ .accesskey = v
+permissions-doh-add-exception =
+ .label = Lisää
+ .accesskey = L
+permissions-doh-col =
+ .label = Verkkotunnus
+permissions-doh-remove =
+ .label = Poista
+ .accesskey = P
+permissions-doh-remove-all =
+ .label = Poista kaikki
+ .accesskey = k
diff --git a/l10n-fi/browser/browser/preferences/preferences.ftl b/l10n-fi/browser/browser/preferences/preferences.ftl
new file mode 100644
index 0000000000..5018b35459
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,1386 @@
+# 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/.
+
+do-not-track-description = Lähetä sivustoille Älä seuraa -signaali, että et halua sinua seurattavan
+do-not-track-description2 =
+ .label = Lähetä verkkosivustoille "Älä seuraa"-pyyntö
+ .accesskey = ä
+do-not-track-learn-more = Lue lisää
+do-not-track-option-default-content-blocking-known =
+ .label = Vain, kun { -brand-short-name } on asetettu estämään tunnetut seuraimet
+do-not-track-option-always =
+ .label = Aina
+global-privacy-control-description =
+ .label = Pyydä verkkosivustoja olemaan myymättä tai jakamatta tietojani
+ .accesskey = s
+non-technical-privacy-header = Sivuston tietosuojakäytännöt
+# Do not translate.
+# "Global Privacy Control" or "GPC" are a web platform feature name and abbreviation
+# included to facilitate power-user search of the about:preferences page.
+global-privacy-control-search = Global Privacy Control (GPC)
+settings-page-title = Asetukset
+# This is used to determine the width of the search field in about:preferences,
+# in order to make the entire placeholder string visible
+#
+# Please keep the placeholder string short to avoid truncation.
+#
+# Notice: The value of the `.style` attribute is a CSS string, and the `width`
+# is the name of the CSS property. It is intended only to adjust the element's width.
+# Do not translate.
+search-input-box2 =
+ .style = width: 15.4em
+ .placeholder = Hae asetuksista
+managed-notice = Organisaatiosi hallitsee selaimesi asetuksia.
+category-list =
+ .aria-label = Luokat
+pane-general-title = Yleiset
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-home-title = Aloitussivu
+category-home =
+ .tooltiptext = { pane-home-title }
+pane-search-title = Haku
+category-search =
+ .tooltiptext = { pane-search-title }
+pane-privacy-title = Tietosuoja ja turvallisuus
+category-privacy =
+ .tooltiptext = { pane-privacy-title }
+pane-sync-title3 = Synkronointi
+category-sync3 =
+ .tooltiptext = { pane-sync-title3 }
+pane-experimental-title = { -brand-short-name }-kokeilut
+category-experimental =
+ .tooltiptext = { -brand-short-name }-kokeilut
+pane-experimental-subtitle = Jatka varoen
+pane-experimental-search-results-header = { -brand-short-name }-kokeilut: jatka varoen
+pane-experimental-description2 = Lisäasetusten muuttaminen voi vaikuttaa { -brand-short-name }in suorituskykyyn tai tietoturvaan.
+pane-experimental-reset =
+ .label = Palauta oletukset
+ .accesskey = P
+help-button-label = { -brand-short-name }-tuki
+addons-button-label = Laajennukset ja teemat
+focus-search =
+ .key = f
+close-button =
+ .aria-label = Sulje
+
+## Browser Restart Dialog
+
+feature-enable-requires-restart = { -brand-short-name } täytyy käynnistää uudestaan, jotta ominaisuus voidaan ottaa käyttöön.
+feature-disable-requires-restart = { -brand-short-name } täytyy käynnistää uudestaan, jotta ominaisuus voidaan poistaa käytöstä.
+should-restart-title = Käynnistä { -brand-short-name } uudestaan
+should-restart-ok = Käynnistä { -brand-short-name } uudestaan nyt
+cancel-no-restart-button = Peruuta
+restart-later = Käynnistä uudestaan myöhemmin
+
+## Extension Control Notifications
+##
+## These strings are used to inform the user
+## about changes made by extensions to browser settings.
+##
+## <img data-l10n-name="icon"/> is going to be replaced by the extension icon.
+##
+## Variables:
+## $name (string) - Name of the extension
+
+# This string is shown to notify the user that the password manager setting
+# is being controlled by an extension
+extension-controlling-password-saving = <img data-l10n-name="icon"/> <strong>{ $name }</strong> hallitsee tätä asetusta.
+# This string is shown to notify the user that their notifications permission
+# is being controlled by an extension.
+extension-controlling-web-notifications = <img data-l10n-name="icon"/> <strong>{ $name }</strong> hallitsee tätä asetusta.
+# This string is shown to notify the user that Container Tabs
+# are being enabled by an extension.
+extension-controlling-privacy-containers = <img data-l10n-name="icon"/> <strong>{ $name }</strong> vaatii eristettyjä välilehtiä.
+# This string is shown to notify the user that their content blocking "All Detected Trackers"
+# preferences are being controlled by an extension.
+extension-controlling-websites-content-blocking-all-trackers = <img data-l10n-name="icon"/> <strong>{ $name }</strong> hallitsee tätä asetusta.
+# This string is shown to notify the user that their proxy configuration preferences
+# are being controlled by an extension.
+extension-controlling-proxy-config = <img data-l10n-name ="icon"/> <strong>{ $name }</strong> hallitsee miten { -brand-short-name } yhdistää internetiin.
+# This string is shown after the user disables an extension to notify the user
+# how to enable an extension that they disabled.
+#
+# <img data-l10n-name="addons-icon"/> will be replaced with Add-ons icon
+# <img data-l10n-name="menu-icon"/> will be replaced with Menu icon
+extension-controlled-enable = Ota laajennus käyttöön siirtymällä <img data-l10n-name="addons-icon"/> Lisäosat -sivulle <img data-l10n-name="menu-icon"/>-valikosta.
+
+## Preferences UI Search Results
+
+search-results-header = Hakutulokset
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message2 = Ei hakutuloksia asetuksista haulle ”<span data-l10n-name="query"></span>”.
+search-results-help-link = Tarvitsetko apua? Avaa <a data-l10n-name="url">{ -brand-short-name }-tuki</a>
+
+## General Section
+
+startup-header = Käynnistys
+always-check-default =
+ .label = Tarkista aina, onko { -brand-short-name } oletusselain
+ .accesskey = i
+is-default = { -brand-short-name } on järjestelmän oletusselain
+is-not-default = { -brand-short-name } ei ole järjestelmän oletusselain
+set-as-my-default-browser =
+ .label = Aseta oletukseksi…
+ .accesskey = e
+startup-restore-windows-and-tabs =
+ .label = Avaa aiemmat ikkunat ja välilehdet
+ .accesskey = A
+windows-launch-on-login =
+ .label = Avaa { -brand-short-name } automaattisesti, kun tietokoneesi käynnistyy
+ .accesskey = O
+windows-launch-on-login-disabled = Tämä asetus on poistettu käytöstä Windowsissa. Jos haluat muuttaa sitä, siirry kohtaan <a data-l10n-name="startup-link">Käynnistyssovellukset</a> asetuksissa.
+startup-restore-warn-on-quit =
+ .label = Varoita, kun selainta ollaan sulkemassa
+disable-extension =
+ .label = Poista laajennus käytöstä
+preferences-data-migration-header = Tuo selaimen tiedot
+preferences-data-migration-description = Tuo kirjanmerkit, salasanat, historia ja automaattisen täytön tiedot { -brand-short-name }iin.
+preferences-data-migration-button =
+ .label = Tuo tietoja
+ .accesskey = T
+tabs-group-header = Välilehdet
+ctrl-tab-recently-used-order =
+ .label = Ctrl+Tab selaa välilehtiä käyttöjärjestyksessä alkaen viimeisimmästä
+ .accesskey = s
+open-new-link-as-tabs =
+ .label = Avaa linkit välilehtiin uusien ikkunoiden sijasta
+ .accesskey = A
+confirm-on-close-multiple-tabs =
+ .label = Vahvista ennen kuin useat välilehdet suljetaan
+ .accesskey = s
+# This string is used for the confirm before quitting preference.
+# Variables:
+# $quitKey (string) - the quit keyboard shortcut, and formatted
+# in the same manner as it would appear,
+# for example, in the File menu.
+confirm-on-quit-with-key =
+ .label = Vahvista ennen pikanäppäimellä { $quitKey } lopettamista
+ .accesskey = L
+warn-on-open-many-tabs =
+ .label = Varoita, kun useiden välilehtien avaaminen voi hidastaa { -brand-short-name }ia
+ .accesskey = r
+switch-to-new-tabs =
+ .label = Kun avaat linkin, kuvan tai median uudessa välilehdessä, vaihda siihen välittömästi
+ .accesskey = K
+show-tabs-in-taskbar =
+ .label = Näytä esikatselut välilehdistä Windowsin tehtäväpalkissa
+ .accesskey = y
+browser-containers-enabled =
+ .label = Käytä eristettyjä välilehtiä
+ .accesskey = v
+browser-containers-learn-more = Lue lisää
+browser-containers-settings =
+ .label = Asetukset…
+ .accesskey = e
+containers-disable-alert-title = Suljetaanko kaikki eristetyt välilehdet?
+
+## Variables:
+## $tabCount (number) - Number of tabs
+
+containers-disable-alert-desc =
+ { $tabCount ->
+ [one] Jos poistat eristetyt välilehdet käytöstä nyt, { $tabCount } eristetty välilehti suljetaan. Haluatko varmasti poistaa eristetyt välilehdet käytöstä?
+ *[other] Jos poistat eristetyt välilehdet käytöstä nyt, { $tabCount } eristettyä välilehteä suljetaan. Haluatko varmasti poistaa eristetyt välilehdet käytöstä?
+ }
+containers-disable-alert-ok-button =
+ { $tabCount ->
+ [one] Sulje { $tabCount } eristetty välilehti
+ *[other] Sulje { $tabCount } eristettyä välilehteä
+ }
+
+##
+
+containers-disable-alert-cancel-button = Pidä käytössä
+containers-remove-alert-title = Poistetaanko tämä eristystila?
+# Variables:
+# $count (number) - Number of tabs that will be closed.
+containers-remove-alert-msg =
+ { $count ->
+ [one] Jos poistat tämän eristystilan nyt, { $count } eristetty välilehti suljetaan. Haluatko varmasti poistaa eristystilan?
+ *[other] Jos poistat tämän eristystilan nyt, { $count } eristettyä välilehteä suljetaan. Haluatko varmasti poistaa eristystilan?
+ }
+containers-remove-ok-button = Poista eristystila
+containers-remove-cancel-button = Älä poista eristystilaa
+
+## General Section - Language & Appearance
+
+language-and-appearance-header = Kieli ja ulkoasu
+preferences-web-appearance-header = Verkkosivuston ulkoasu
+preferences-web-appearance-description = Jotkin verkkosivustot mukauttavat värimaailmaansa valintasi mukaan. Valitse, mitä värimaailmaa haluat käyttää tällaisilla sivustoilla.
+preferences-web-appearance-choice-auto = Automaattinen
+preferences-web-appearance-choice-light = Vaalea
+preferences-web-appearance-choice-dark = Tumma
+preferences-web-appearance-choice-tooltip-auto =
+ .title = Muuta automaattisesti verkkosivustojen taustaa ja sisältöä järjestelmäasetustesi ja { -brand-short-name }-teeman perusteella.
+preferences-web-appearance-choice-tooltip-light =
+ .title = Käytä vaaleaa ulkoasua verkkosivuston taustalle ja sisällölle.
+preferences-web-appearance-choice-tooltip-dark =
+ .title = Käytä tummaa ulkoasua verkkosivuston taustalle ja sisällölle.
+preferences-web-appearance-choice-input-auto =
+ .aria-description = { preferences-web-appearance-choice-tooltip-auto.title }
+preferences-web-appearance-choice-input-light =
+ .aria-description = { preferences-web-appearance-choice-tooltip-light.title }
+preferences-web-appearance-choice-input-dark =
+ .aria-description = { preferences-web-appearance-choice-tooltip-dark.title }
+# This can appear when using windows HCM or "Override colors: always" without
+# system colors.
+preferences-web-appearance-override-warning = Värivalintasi ohittavat verkkosivuston ulkoasun. <a data-l10n-name="colors-link">Hallinnoi värejä</a>
+# This message contains one link. It can be moved within the sentence as needed
+# to adapt to your language, but should not be changed.
+preferences-web-appearance-footer = Hallinnoi { -brand-short-name }in teemoja <a data-l10n-name="themes-link">Laajennukset ja teemat -osiossa</a>
+preferences-colors-header = Värit
+preferences-colors-description = Ohita { -brand-short-name }in oletusvärit tekstille, verkkosivustojen taustoille ja linkeille.
+preferences-colors-manage-button =
+ .label = Hallitse värejä…
+ .accesskey = ä
+preferences-fonts-header = Kirjasimet
+default-font = Oletuskirjasinlaji
+ .accesskey = t
+default-font-size = Koko
+ .accesskey = O
+advanced-fonts =
+ .label = Lisäasetukset…
+ .accesskey = a
+# Zoom is a noun, and the message is used as header for a group of options
+preferences-zoom-header = Suurennus
+preferences-default-zoom = Oletuskoko
+ .accesskey = O
+# Variables:
+# $percentage (number) - Zoom percentage value
+preferences-default-zoom-value =
+ .label = { $percentage } %
+preferences-zoom-text-only =
+ .label = Muuta vain tekstin kokoa
+ .accesskey = M
+language-header = Kieli
+choose-language-description = Valitse kielet, joilla sivut näytetään
+choose-button =
+ .label = Valitse…
+ .accesskey = V
+choose-browser-language-description = Valitse kielet, joilla { -brand-short-name }in valikot, viestit ja ilmoitukset näytetään.
+manage-browser-languages-button =
+ .label = Valitse lisäkielet…
+ .accesskey = k
+confirm-browser-language-change-description = Käytä näitä muutoksia käynnistämällä { -brand-short-name } uudestaan
+confirm-browser-language-change-button = Käytä ja käynnistä uudestaan
+translate-web-pages =
+ .label = Käännä sivustojen sisältö
+ .accesskey = n
+fx-translate-web-pages = { -translations-brand-name }
+# The <img> element is replaced by the logo of the provider
+# used to provide machine translations for web pages.
+translate-attribution = Sivujen kääntäjä <img data-l10n-name="logo"/>
+translate-exceptions =
+ .label = Poikkeukset…
+ .accesskey = i
+# Variables:
+# $localeName (string) - Localized name of the locale to be used.
+use-system-locale =
+ .label = Käytä käyttöjärjestelmän asetuksia alueelle ”{ $localeName }” muotoilemaan päivämäärät, kellonajat, luvut ja mittayksiköt.
+check-user-spelling =
+ .label = Oikolue käyttäjän kirjoitukset
+ .accesskey = l
+
+## General Section - Files and Applications
+
+files-and-applications-title = Tiedostot ja ohjelmat
+download-header = Lataukset
+download-save-where = Tallenna kansioon
+ .accesskey = T
+download-choose-folder =
+ .label =
+ { PLATFORM() ->
+ [macos] Valitse…
+ *[other] Selaa…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] V
+ *[other] S
+ }
+download-always-ask-where =
+ .label = Kysy aina tiedoston tallennuskansio
+ .accesskey = n
+applications-header = Ohjelmat
+applications-description = Valitse, miten { -brand-short-name } käsittelee verkosta lataamasi tiedostot tai verkkoa selatessa käyttämäsi ohjelmat.
+applications-filter =
+ .placeholder = Etsi tiedostotyyppejä tai ohjelmia
+applications-type-column =
+ .label = Sisältötyyppi
+ .accesskey = S
+applications-action-column =
+ .label = Toiminto
+ .accesskey = o
+# Variables:
+# $extension (String) - file extension (e.g .TXT)
+applications-file-ending = { $extension }-tiedosto
+applications-action-save =
+ .label = Tallenna tiedosto
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app =
+ .label = Käytä ohjelmaa { $app-name }
+# Variables:
+# $app-name (String) - Name of an application (e.g Adobe Acrobat)
+applications-use-app-default =
+ .label = Käytä ohjelmaa { $app-name } (oletus)
+applications-use-os-default =
+ .label =
+ { PLATFORM() ->
+ [macos] Käytä macOS:n oletussovellusta
+ [windows] Käytä Windowsin oletussovellusta
+ *[other] Käytä järjestelmän oletussovellusta
+ }
+applications-use-other =
+ .label = Valitse uusi apuohjelma…
+applications-select-helper = Valitse uusi apuohjelma
+applications-manage-app =
+ .label = Sovellusten tiedot…
+applications-always-ask =
+ .label = Kysy aina
+# Variables:
+# $type-description (string) - Description of the type (e.g "Portable Document Format")
+# $type (string) - The MIME type (e.g application/binary)
+applications-type-description-with-type = { $type-description } ({ $type })
+# Variables:
+# $extension (string) - File extension (e.g .TXT)
+# $type (string) - The MIME type (e.g application/binary)
+applications-file-ending-with-type = { applications-file-ending } ({ $type })
+# Variables:
+# $plugin-name (string) - Name of a plugin (e.g Adobe Flash)
+applications-use-plugin-in =
+ .label = Käytä liitännäistä { $plugin-name } (ohjelmassa { -brand-short-name })
+applications-open-inapp =
+ .label = Avaa { -brand-short-name(case: "inessive") }
+
+## The strings in this group are used to populate
+## selected label element based on the string from
+## the selected menu item.
+
+applications-use-plugin-in-label =
+ .value = { applications-use-plugin-in.label }
+applications-action-save-label =
+ .value = { applications-action-save.label }
+applications-use-app-label =
+ .value = { applications-use-app.label }
+applications-open-inapp-label =
+ .value = { applications-open-inapp.label }
+applications-always-ask-label =
+ .value = { applications-always-ask.label }
+applications-use-app-default-label =
+ .value = { applications-use-app-default.label }
+applications-use-other-label =
+ .value = { applications-use-other.label }
+applications-use-os-default-label =
+ .value = { applications-use-os-default.label }
+
+##
+
+applications-handle-new-file-types-description = Mitä { -brand-short-name }in pitäisi tehdä muille tiedostoille?
+applications-save-for-new-types =
+ .label = Tallenna tiedostot
+ .accesskey = s
+applications-ask-before-handling =
+ .label = Kysy avataanko vai tallennetaanko tiedostot
+ .accesskey = A
+drm-content-header = Käyttöoikeuksien hallintaa (DRM) käyttävä sisältö
+play-drm-content =
+ .label = Toista DRM-suojattua sisältöä
+ .accesskey = D
+play-drm-content-learn-more = Lue lisää
+update-application-title = { -brand-short-name }in päivitykset
+update-application-description = Pidä { -brand-short-name } ajan tasalla parhaan suorituskyvyn, vakauden ja turvallisuuden vuoksi.
+# Variables:
+# $version (string) - Firefox version
+update-application-version = Versio { $version } <a data-l10n-name="learn-more">Mitä uutta</a>
+update-history =
+ .label = Näytä päivityshistoria…
+ .accesskey = N
+update-application-allow-description = { -brand-short-name }in päivitystapa
+update-application-auto =
+ .label = Asenna päivitykset automaattisesti (suositellaan)
+ .accesskey = A
+update-application-check-choose =
+ .label = Hae päivitykset, mutta anna sinun päättää asennetaanko ne
+ .accesskey = e
+update-application-manual =
+ .label = Älä hae päivityksiä (ei suositella)
+ .accesskey = Ä
+update-application-background-enabled =
+ .label = Kun { -brand-short-name } ei ole käynnissä
+ .accesskey = K
+update-application-warning-cross-user-setting = Tämä asetus koskee kaikkia Windows-tilejä ja { -brand-short-name }-profiileja, jotka käyttävät tätä { -brand-short-name }-asennusta.
+update-application-use-service =
+ .label = Asenna päivitykset taustalla toimivalla palvelulla
+ .accesskey = u
+update-application-suppress-prompts =
+ .label = Näytä vähemmän päivitysilmoituksia
+ .accesskey = n
+update-setting-write-failure-title2 = Päivitysasetusten tallennusvirhe
+# Variables:
+# $path (string) - Path to the configuration file
+# The newlines between the main text and the line containing the path is
+# intentional so the path is easier to identify.
+update-setting-write-failure-message2 =
+ { -brand-short-name } havaitsi virheen eikä tallentanut tätä muutosta. Huomaa, että tämän päivitysasetuksen muuttaminen vaatii oikeuden kirjoittaa alla olevaan tiedostoon. Sinä tai järjestelmän ylläpitäjä voi pystyä ratkaisemaan virheen antamalla täydet oikeudet tähän tiedostoon Käyttäjät-ryhmälle.
+
+ Ei onnistuttu kirjoittamaan tiedostoon: { $path }
+update-in-progress-title = Päivitys meneillään
+update-in-progress-message = Haluatko, että { -brand-short-name } jatkaa tämän päivityksen asentamista?
+update-in-progress-ok-button = &Hylkää
+# Continue is the cancel button so pressing escape or using a platform standard
+# method of closing the UI will not discard the update.
+update-in-progress-cancel-button = &Jatka
+
+## General Section - Performance
+
+performance-title = Suorituskyky
+performance-use-recommended-settings-checkbox =
+ .label = Käytä suositeltuja suorituskykyasetuksia
+ .accesskey = u
+performance-use-recommended-settings-desc = Nämä asetukset sovitetaan tietokoneesi laitteiston ja käyttöjärjestelmän kanssa.
+performance-settings-learn-more = Lue lisää
+performance-allow-hw-accel =
+ .label = Käytä laitteistokiihdytystä jos mahdollista
+ .accesskey = K
+performance-limit-content-process-option = Sisältöprosessien yläraja
+ .accesskey = i
+performance-limit-content-process-enabled-desc = Useammat sisältöprosessit parantavat suorituskykyä käytettäessä useita välilehtiä, mutta kuluttavat myös enemmän muistia.
+performance-limit-content-process-blocked-desc = Sisältöprosessien määrän muokkaaminen on mahdollista vain useaa prosessia hyödyntävällä { -brand-short-name }illa. <a data-l10n-name="learn-more">Lue, miten usean prosessin hyödyntämisen tilanteen voi tarkistaa</a>
+# Variables:
+# $num (number) - Default value of the `dom.ipc.processCount` pref.
+performance-default-content-process-count =
+ .label = { $num } (oletus)
+
+## General Section - Browsing
+
+browsing-title = Selaus
+browsing-use-autoscroll =
+ .label = Vieritä sivua automaattisesti
+ .accesskey = V
+browsing-use-smooth-scrolling =
+ .label = Vieritä sivua tasaisesti
+ .accesskey = e
+browsing-gtk-use-non-overlay-scrollbars =
+ .label = Näytä aina vierityspalkit
+ .accesskey = v
+browsing-always-underline-links =
+ .label = Alleviivaa linkit aina
+ .accesskey = l
+browsing-use-onscreen-keyboard =
+ .label = Näytä kosketusnäppäimistö tarvittaessa
+ .accesskey = N
+browsing-use-cursor-navigation =
+ .label = Liiku sivuilla nuolinäppäimillä
+ .accesskey = s
+browsing-use-full-keyboard-navigation =
+ .label = Käytä sarkainnäppäintä siirtääksesi kohdistusta lomakkeen ohjauskontrollien ja linkkien välillä
+ .accesskey = t
+browsing-search-on-start-typing =
+ .label = Ala etsiä tekstistä heti kirjoitettaessa
+ .accesskey = A
+browsing-picture-in-picture-toggle-enabled =
+ .label = Käytä kuva kuvassa -video-ohjaimia
+ .accesskey = K
+browsing-picture-in-picture-learn-more = Lue lisää
+browsing-media-control =
+ .label = Ohjaa mediaa näppäimistön, kuulokemikrofonin tai virtuaalisen käyttöliittymän kautta
+ .accesskey = O
+browsing-media-control-learn-more = Lue lisää
+browsing-cfr-recommendations =
+ .label = Suosittele laajennuksia selaamisen yhteydessä
+ .accesskey = S
+browsing-cfr-features =
+ .label = Suosittele ominaisuuksia selaamisen yhteydessä
+ .accesskey = u
+browsing-cfr-recommendations-learn-more = Lue lisää
+
+## General Section - Proxy
+
+network-settings-title = Verkkoasetukset
+network-proxy-connection-description = Muokkaa { -brand-short-name }-selaimen verkkoyhteysasetuksia.
+network-proxy-connection-learn-more = Lue lisää
+network-proxy-connection-settings =
+ .label = Asetukset…
+ .accesskey = A
+
+## Home Section
+
+home-new-windows-tabs-header = Uudet ikkunat ja välilehdet
+home-new-windows-tabs-description2 = Valitse, mitä näet kun avaat aloitussivun, uuden ikkunan tai uuden välilehden.
+
+## Home Section - Home Page Customization
+
+home-homepage-mode-label = Aloitussivu ja uudet ikkunat
+home-newtabs-mode-label = Uudet välilehdet
+home-restore-defaults =
+ .label = Palauta oletukset
+ .accesskey = P
+home-mode-choice-default-fx =
+ .label = { -firefox-home-brand-name } (Oletus)
+home-mode-choice-custom =
+ .label = Omat osoitteet…
+home-mode-choice-blank =
+ .label = Tyhjä sivu
+home-homepage-custom-url =
+ .placeholder = Liitä osoite…
+# This string has a special case for '1' and [other] (default). If necessary for
+# your language, you can add {$tabCount} to your translations and use the
+# standard CLDR forms, or only use the form for [other] if both strings should
+# be identical.
+use-current-pages =
+ .label =
+ { $tabCount ->
+ [1] Käytä avointa sivua
+ *[other] Käytä avoimia sivuja
+ }
+ .accesskey = K
+choose-bookmark =
+ .label = Käytä kirjanmerkkiä…
+ .accesskey = m
+
+## Home Section - Firefox Home Content Customization
+
+home-prefs-content-header2 = { -firefox-home-brand-name }n sisältö
+home-prefs-content-description2 = Valitse mitä sisältöä haluat { -firefox-home-brand-name }lle.
+home-prefs-search-header =
+ .label = Verkkohaku
+home-prefs-shortcuts-header =
+ .label = Oikotiet
+home-prefs-shortcuts-description = Tallentamasi tai vierailemasi sivustot
+home-prefs-shortcuts-by-option-sponsored =
+ .label = Sponsoroidut oikotiet
+
+## Variables:
+## $provider (string) - Name of the corresponding content provider, e.g "Pocket".
+
+home-prefs-recommended-by-header =
+ .label = Suositukset lähteestä { $provider }
+home-prefs-recommended-by-description-new = Poikkeuksellista, valikoitua sisältöä { $provider }-palvelulta, osana { -brand-product-name }-perhettä
+
+##
+
+home-prefs-recommended-by-learn-more = Kuinka se toimii
+home-prefs-recommended-by-option-sponsored-stories =
+ .label = Sponsoroidut tarinat
+home-prefs-recommended-by-option-recent-saves =
+ .label = Näytä viimeisimmät tallennukset
+home-prefs-highlights-option-visited-pages =
+ .label = Vieraillut sivustot
+home-prefs-highlights-options-bookmarks =
+ .label = Kirjanmerkit
+home-prefs-highlights-option-most-recent-download =
+ .label = Viimeisimmät lataukset
+home-prefs-highlights-option-saved-to-pocket =
+ .label = { -pocket-brand-name }iin tallennetut sivut
+home-prefs-recent-activity-header =
+ .label = Viimeisin toiminta
+home-prefs-recent-activity-description = Valikoima viimeisimpiä sivustoja ja sisältöä
+# For the "Snippets" feature traditionally on about:home.
+# Alternative translation options: "Small Note" or something that
+# expresses the idea of "a small message, shortened from something else,
+# and non-essential but also not entirely trivial and useless.
+home-prefs-snippets-header =
+ .label = Tiedonmuruset
+home-prefs-snippets-description-new = Vinkit ja uutiset { -vendor-short-name }lta ja { -brand-product-name }ilta
+# Variables:
+# $num (number) - Number of rows displayed
+home-prefs-sections-rows-option =
+ .label =
+ { $num ->
+ [one] { $num } rivi
+ *[other] { $num } riviä
+ }
+
+## Search Section
+
+search-bar-header = Hakupalkki
+search-bar-hidden =
+ .label = Käytä osoitepalkkia hakemiseen ja sivuille siirtymiseen
+search-bar-shown =
+ .label = Lisää hakupalkki työkalupalkkiin
+search-engine-default-header = Oletushakukone
+search-engine-default-desc-2 = Tämä on oletushakukone, jota käytetään osoite- ja hakupalkeissa. Voit vaihtaa sen milloin hyvänsä.
+search-engine-default-private-desc-2 = Valitse eri oletushakukone vain yksityisiin ikkunoihin
+search-separate-default-engine =
+ .label = Käytä tätä hakukonetta yksityisissä ikkunoissa
+ .accesskey = K
+search-suggestions-header = Hakuehdotukset
+search-suggestions-desc = Valitse, millä tavalla hakukoneiden ehdotukset näkyvät.
+search-suggestions-option =
+ .label = Näytä hakuehdotuksia
+ .accesskey = N
+search-show-suggestions-option =
+ .label = Näytä hakuehdotukset
+ .accesskey = S
+search-show-suggestions-url-bar-option =
+ .label = Näytä hakuehdotukset osoitepalkkihauissa
+ .accesskey = o
+# With this option enabled, on the search results page
+# the URL will be replaced by the search terms in the address bar
+# when using the current default search engine.
+search-show-search-term-option =
+ .label = Näytä hakuehdot URL-osoitteen sijaan oletushakukoneen tulossivulla
+# This string describes what the user will observe when the system
+# prioritizes search suggestions over browsing history in the results
+# that extend down from the address bar. In the original English string,
+# "ahead" refers to location (appearing most proximate to), not time
+# (appearing before).
+search-show-suggestions-above-history-option =
+ .label = Näytä hakuehdotukset osoitepalkin tuloksissa ennen selaushistoriaa
+search-show-suggestions-private-windows =
+ .label = Näytä hakuehdotukset yksityisissä ikkunoissa
+suggestions-addressbar-settings-generic2 = Muuta osoitepalkin muiden ehdotusten asetuksia
+search-suggestions-cant-show = Hakuehdotuksia ei näytetä osoitepalkista tehtävistä hauista, koska olet valinnut, että { -brand-short-name } ei muista historiaa.
+search-one-click-header2 = Hakuoikotiet
+search-one-click-desc = Valitse vaihtoehtoiset hakukoneet, jotka ilmestyvät osoite- ja hakupalkin alalaitaan, kun alat kirjoittaa hakusanoja.
+search-choose-engine-column =
+ .label = Hakukone
+search-choose-keyword-column =
+ .label = Pikakomento
+search-restore-default =
+ .label = Palauta oletushakukoneet
+ .accesskey = a
+search-remove-engine =
+ .label = Poista
+ .accesskey = P
+search-add-engine =
+ .label = Lisää
+ .accesskey = L
+search-find-more-link = Etsi lisää hakukoneita
+# This warning is displayed when the chosen keyword is already in use
+# ('Duplicate' is an adjective)
+search-keyword-warning-title = Pikakomento jo käytössä
+# Variables:
+# $name (string) - Name of a search engine.
+search-keyword-warning-engine = Annettu pikakomento on jo kirjanmerkillä ”{ $name }”. Kirjoita uusi pikakomento.
+search-keyword-warning-bookmark = Annettu pikakomento on jo toisella kirjanmerkillä. Kirjoita uusi pikakomento.
+
+## Containers Section
+
+containers-back-button2 =
+ .aria-label = Takaisin asetuksiin
+containers-header = Eristetyt välilehdet
+containers-add-button =
+ .label = Lisää uusi eristystila
+ .accesskey = L
+containers-new-tab-check =
+ .label = Valitse eristystila jokaiselle uudelle välilehdelle
+ .accesskey = V
+containers-settings-button =
+ .label = Asetukset
+containers-remove-button =
+ .label = Poista
+
+## Firefox account - Signed out. Note that "Sync" and "Firefox account" are now
+## more discrete ("signed in" no longer means "and sync is connected").
+
+sync-signedout-caption = Pidä oma selain aina mukanasi
+sync-signedout-description2 = Synkronoi kirjanmerkit, sivuhistoria, välilehdet, salasanat, lisäosat ja asetukset kaikilla laitteillasi.
+sync-signedout-account-signin3 =
+ .label = Kirjaudu synkronoidaksesi…
+ .accesskey = K
+# This message contains two links and two icon images.
+# `<img data-l10n-name="android-icon"/>` - Android logo icon
+# `<a data-l10n-name="android-link">` - Link to Android Download
+# `<img data-l10n-name="ios-icon">` - iOS logo icon
+# `<a data-l10n-name="ios-link">` - Link to iOS Download
+#
+# They can be moved within the sentence as needed to adapt
+# to your language, but should not be changed or translated.
+sync-mobile-promo = Lataa Firefox <img data-l10n-name="android-icon"/> <a data-l10n-name="android-link">Androidille</a> tai <img data-l10n-name="ios-icon"/> <a data-l10n-name="ios-link">iOS:lle</a> ja synkronoi tietosi kannettavalle laitteellesi.
+
+## Firefox account - Signed in
+
+sync-profile-picture =
+ .tooltiptext = Vaihda kuva
+sync-sign-out =
+ .label = Kirjaudu ulos…
+ .accesskey = K
+sync-manage-account = Hallinnoi tiliä
+ .accesskey = H
+
+## Variables
+## $email (string) - Email used for Firefox account
+
+sync-signedin-unverified = Sähköpostiosoitetta { $email } ei ole vahvistettu.
+sync-signedin-login-failure = Kirjaudu sisään palauttaaksesi osoitteen { $email } yhteyden
+
+##
+
+sync-resend-verification =
+ .label = Lähetä vahvistus uudestaan
+ .accesskey = v
+sync-verify-account =
+ .label = Vahvista tili
+ .accesskey = V
+sync-remove-account =
+ .label = Poista tili
+ .accesskey = P
+sync-sign-in =
+ .label = Kirjaudu sisään
+ .accesskey = r
+
+## Sync section - enabling or disabling sync.
+
+prefs-syncing-on = Synkronointi: PÄÄLLÄ
+prefs-syncing-off = Synkronointi: POIS PÄÄLTÄ
+prefs-sync-turn-on-syncing =
+ .label = Ota synkronointi käyttöön…
+ .accesskey = O
+prefs-sync-offer-setup-label2 = Synkronoi kirjanmerkit, sivuhistoria, välilehdet, salasanat, lisäosat ja asetukset kaikilla laitteillasi.
+prefs-sync-now =
+ .labelnotsyncing = Synkronoi nyt
+ .accesskeynotsyncing = N
+ .labelsyncing = Synkronoidaan…
+prefs-sync-now-button =
+ .label = Synkronoi nyt
+ .accesskey = N
+prefs-syncing-button =
+ .label = Synkronoidaan…
+
+## The list of things currently syncing.
+
+sync-syncing-across-devices-heading = Synkronoit näitä tietoja kaikkien yhdistettyjen laitteiden välillä:
+sync-currently-syncing-bookmarks = Kirjanmerkit
+sync-currently-syncing-history = Historia
+sync-currently-syncing-tabs = Avoimet välilehdet
+sync-currently-syncing-logins-passwords = Käyttäjätunnukset ja salasanat
+sync-currently-syncing-passwords = Salasanat
+sync-currently-syncing-addresses = Osoitteet
+sync-currently-syncing-creditcards = Luottokortit
+sync-currently-syncing-payment-methods = Maksutavat
+sync-currently-syncing-addons = Lisäosat
+sync-currently-syncing-settings = Asetukset
+sync-change-options =
+ .label = Muuta…
+ .accesskey = M
+
+## The "Choose what to sync" dialog.
+
+sync-choose-what-to-sync-dialog3 =
+ .title = Valitse, mitä synkronoidaan
+ .style = min-width: 36em;
+ .buttonlabelaccept = Tallenna muutokset
+ .buttonaccesskeyaccept = T
+ .buttonlabelextra2 = Katkaise yhteys…
+ .buttonaccesskeyextra2 = K
+sync-choose-dialog-subtitle = Muutokset synkronoitavien kohteiden luetteloon vaikuttavat kaikkiin yhdistämiisi laitteisiin.
+sync-engine-bookmarks =
+ .label = Kirjanmerkit
+ .accesskey = K
+sync-engine-history =
+ .label = Sivuhistoria
+ .accesskey = S
+sync-engine-tabs =
+ .label = Avoimet välilehdet
+ .tooltiptext = Lista kaikilla synkronoiduilla laitteilla auki olevista välilehdistä
+ .accesskey = V
+sync-engine-logins-passwords =
+ .label = Käyttäjätunnukset ja salasanat
+ .tooltiptext = Tallentamasi käyttäjätunnukset ja salasanat
+ .accesskey = u
+sync-engine-passwords =
+ .label = Salasanat
+ .tooltiptext = Tallentamasi salasanat
+ .accesskey = T
+sync-engine-addresses =
+ .label = Osoitteet
+ .tooltiptext = Tallentamasi postiosoitteet (vain Firefoxin työpöytäversiossa)
+ .accesskey = O
+sync-engine-creditcards =
+ .label = Luottokortit
+ .tooltiptext = Nimet, numerot ja vanheneminen (vain Firefoxin työpöytäversiossa)
+ .accesskey = u
+sync-engine-payment-methods2 =
+ .label = Maksutavat
+ .tooltiptext = Nimet, korttinumerot ja vanhenemispäivät
+ .accesskey = M
+sync-engine-addons =
+ .label = Lisäosat
+ .tooltiptext = Firefoxin työpöytäversion laajennukset ja teemat
+ .accesskey = i
+sync-engine-settings =
+ .label = Asetukset
+ .tooltiptext = Muuttamasi yleiset asetukset sekä tietosuoja- ja turvallisuusasetukset
+ .accesskey = A
+
+## The device name controls.
+
+sync-device-name-header = Laitteen nimi
+sync-device-name-change =
+ .label = Muuta laitteen nimeä…
+ .accesskey = M
+sync-device-name-cancel =
+ .label = Peruuta
+ .accesskey = P
+sync-device-name-save =
+ .label = Tallenna
+ .accesskey = T
+sync-connect-another-device = Yhdistä toinen laite
+
+## These strings are shown in a desktop notification after the
+## user requests we resend a verification email.
+
+sync-verification-sent-title = Vahvistus lähetetty
+# Variables:
+# $email (String): Email address of user's Firefox account.
+sync-verification-sent-body = Vahvistuslinkki on lähetetty osoitteeseen { $email }.
+sync-verification-not-sent-title = Vahvistuksen lähetys epäonnistui
+sync-verification-not-sent-body = Vahvistussähköpostin lähetys ei onnistu tällä hetkellä. Yritä uudestaan myöhemmin.
+
+## Privacy Section
+
+privacy-header = Selaimen tietosuoja
+
+## Privacy Section - Logins and Passwords
+
+# The search keyword isn't shown to users but is used to find relevant settings in about:preferences.
+pane-privacy-logins-and-passwords-header = Käyttäjätunnukset ja salasanat
+ .searchkeywords = { -lockwise-brand-short-name }
+# Checkbox to control whether UI is shown to users to save or fill logins/passwords.
+forms-ask-to-save-logins =
+ .label = Ehdota sivustojen käyttäjätunnusten ja salasanojen tallentamista
+ .accesskey = v
+
+## Privacy Section - Passwords
+
+# "Logins" is the former term for "Passwords". Users should find password settings
+# by searching for the former term "logins". It's not displayed in the UI.
+pane-privacy-passwords-header = Salasanat
+ .searchkeywords = kirjautumistiedot
+# Checkbox to control whether UI is shown to users to save or fill logins/passwords.
+forms-ask-to-save-passwords =
+ .label = Kysy salasanojen tallentamisesta
+ .accesskey = a
+forms-exceptions =
+ .label = Poikkeukset…
+ .accesskey = e
+forms-generate-passwords =
+ .label = Ehdota ja luo vahvoja salasanoja
+ .accesskey = u
+forms-suggest-passwords =
+ .label = Ehdota vahvoja salasanoja
+ .accesskey = s
+forms-breach-alerts =
+ .label = Näytä hälytykset salasanoista sivustoille, jotka ovat kokeneet tietomurron
+ .accesskey = h
+forms-breach-alerts-learn-more-link = Lue lisää
+preferences-relay-integration-checkbox =
+ .label = Ehdota { -relay-brand-name }-sähköpostimaskeja sähköpostiosoitteen suojaamiseksi
+preferences-relay-integration-checkbox2 =
+ .label = Ehdota { -relay-brand-name } -sähköpostimaskeja sähköpostiosoitteen suojaamiseksi
+ .accesskey = h
+relay-integration-learn-more-link = Lue lisää
+# Checkbox which controls filling saved logins into fields automatically when they appear, in some cases without user interaction.
+forms-fill-logins-and-passwords =
+ .label = Täytä automaattisesti käyttäjätunnukset ja salasanat
+ .accesskey = T
+forms-saved-logins =
+ .label = Tallennetut kirjautumistiedot…
+ .accesskey = k
+# Checkbox which controls filling saved logins into fields automatically when they appear, in some cases without user interaction.
+forms-fill-usernames-and-passwords =
+ .label = Täytä käyttäjätunnukset ja salasanat automaattisesti
+ .accesskey = ä
+forms-saved-passwords =
+ .label = Tallennetut salasanat
+ .accesskey = s
+forms-primary-pw-use =
+ .label = Käytä pääsalasanaa
+ .accesskey = K
+forms-primary-pw-learn-more-link = Lue lisää
+# This string uses the former name of the Primary Password feature
+# ("Master Password" in English) so that the preferences can be found
+# when searching for the old name. The accesskey is unused.
+forms-master-pw-change =
+ .label = Muuta pääsalasanaa…
+ .accesskey = M
+forms-primary-pw-change =
+ .label = Vaihda pääsalasana…
+ .accesskey = V
+# Leave this message empty if the translation for "Primary Password" matches
+# "Master Password" in your language. If you're editing the FTL file directly,
+# use { "" } as the value.
+forms-primary-pw-former-name = { "" }
+forms-primary-pw-fips-title = Olet parhaillaan FIPS-tilassa. FIPS edellyttää, että pääsalasana ei ole tyhjä.
+forms-master-pw-fips-desc = Salasanan vaihto epäonnistui
+forms-windows-sso =
+ .label = Salli Windowsin kertakirjautuminen Microsoft-, työ- ja koulutileille.
+forms-windows-sso-learn-more-link = Lisätietoja
+forms-windows-sso-desc = Hallinnoi tilejä laitteen asetuksissa
+windows-passkey-settings-label = Hallitse todentamisavaimia järjestelmän asetuksissa
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Primary Password.
+primary-password-os-auth-dialog-message-win = Luo pääsalasana kirjoittamalla Windows-kirjautumistietosi. Tämä auttaa suojaamaan tilejäsi.
+# This message can be seen by trying to add a Primary Password.
+# The macOS strings are preceded by the operating system with "Firefox is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+primary-password-os-auth-dialog-message-macosx = asettaa pääsalasanan
+master-password-os-auth-dialog-caption = { -brand-full-name }
+
+## Privacy section - Autofill
+
+pane-privacy-autofill-header = Automaattinen täyttö
+autofill-addresses-checkbox = Tallenna ja täytä osoitteet
+ .accesskey = a
+autofill-saved-addresses-button = Tallennetut osoitteet
+ .accesskey = s
+autofill-payment-methods-checkbox-message = Tallenna ja täytä maksutavat
+ .accesskey = m
+autofill-payment-methods-checkbox-submessage = Sisältää luotto- ja pankkikortit
+ .accesskey = l
+autofill-saved-payment-methods-button = Tallennetut maksutavat
+ .accesskey = v
+autofill-reauth-checkbox =
+ { PLATFORM() ->
+ [macos] Vaadi macOS-tunnistautuminen maksutapojen täyttämiseksi ja muokkaamiseksi.
+ [windows] Vaadi Windows-tunnistautuminen maksutapojen täyttämiseksi ja muokkaamiseksi.
+ [linux] Vaadi Linux-tunnistautuminen maksutapojen täyttämiseksi ja muokkaamiseksi.
+ *[other] Vaadi tunnistautuminen maksutapojen täyttämiseksi ja muokkaamiseksi.
+ }
+ .accesskey = o
+
+## Privacy Section - History
+
+history-header = Historiatiedot
+# This label is followed, on the same line, by a dropdown list of options
+# (Remember history, etc.).
+# In English it visually creates a full sentence, e.g.
+# "Firefox will" + "Remember history".
+#
+# If this doesn't work for your language, you can translate this message:
+# - Simply as "Firefox", moving the verb into each option.
+# This will result in "Firefox" + "Will remember history", etc.
+# - As a stand-alone message, for example "Firefox history settings:".
+history-remember-label = { -brand-short-name } säilyttää
+ .accesskey = F
+history-remember-option-all =
+ .label = Täydelliset historiatiedot
+history-remember-option-never =
+ .label = Ei mitään historiatietoja
+history-remember-option-custom =
+ .label = Valitut historiatiedot
+history-remember-description = { -brand-short-name } kerää ja säilyttää selaus-, lataus-, lomake- ja hakuhistorian.
+history-dontremember-description = { -brand-short-name } toimii aina kuten yksityisessä selaustilassa, eikä säilytä mitään historiatietoja.
+history-private-browsing-permanent =
+ .label = Selaa aina yksityinen selaus -tilassa
+ .accesskey = y
+history-remember-browser-option =
+ .label = Säilytä selaushistoria ja tieto latauksista
+ .accesskey = ä
+history-remember-search-option =
+ .label = Säilytä lomakkeiden ja hakupalkin tiedot
+ .accesskey = d
+history-clear-on-close-option =
+ .label = Poista historiatiedot kun { -brand-short-name } suljetaan
+ .accesskey = o
+history-clear-on-close-settings =
+ .label = Asetukset…
+ .accesskey = u
+history-clear-button =
+ .label = Tyhjennä historia…
+ .accesskey = T
+
+## Privacy Section - Site Data
+
+sitedata-header = Evästeet ja sivustotiedot
+sitedata-total-size-calculating = Lasketaan sivustotietojen ja välimuistin kokoa…
+# Variables:
+# $value (number) - Value of the unit (for example: 4.6, 500)
+# $unit (string) - Name of the unit (for example: "bytes", "KB")
+sitedata-total-size = Evästeet, sivustotiedot ja välimuisti vievät tällä hetkellä { $value } { $unit } levytilaa.
+sitedata-learn-more = Lue lisää
+sitedata-delete-on-close =
+ .label = Poista evästeet ja sivustotiedot, kun { -brand-short-name } suljetaan
+ .accesskey = s
+sitedata-delete-on-close-private-browsing = Pysyvässä yksityisessä selaustilassa evästeet ja sivustotiedot poistetaan aina, kun { -brand-short-name } suljetaan.
+sitedata-allow-cookies-option =
+ .label = Hyväksy evästeet ja sivustotiedot
+ .accesskey = H
+sitedata-disallow-cookies-option =
+ .label = Estä evästeet ja sivustotiedot
+ .accesskey = E
+# This label means 'type of content that is blocked', and is followed by a drop-down list with content types below.
+# The list items are the strings named sitedata-block-*-option*.
+sitedata-block-desc = Tyyppi
+ .accesskey = T
+sitedata-option-block-cross-site-trackers =
+ .label = Sivustorajat ylittävät seuraimet
+sitedata-option-block-cross-site-tracking-cookies =
+ .label = Sivustorajat ylittävät seurainevästeet
+sitedata-option-block-cross-site-cookies =
+ .label = Sivustorajat ylittävät evästeet, eristä muut sivustorajat ylittävät evästeet
+sitedata-option-block-unvisited =
+ .label = Evästeet vierailemattomilta sivustoilta
+sitedata-option-block-all-cross-site-cookies =
+ .label = Kaikki sivustorajat ylittävät evästeet (voi aiheuttaa sivustojen toimimattomuutta)
+sitedata-option-block-all =
+ .label = Kaikki evästeet (aiheuttaa sivustovirheitä)
+sitedata-clear =
+ .label = Tyhjennä tiedot…
+ .accesskey = y
+sitedata-settings =
+ .label = Hallitse tietoja…
+ .accesskey = H
+sitedata-cookies-exceptions =
+ .label = Hallitse poikkeuksia…
+ .accesskey = p
+
+## Privacy Section - Cookie Banner Handling
+
+cookie-banner-handling-header = Evästeilmoitusten vähennys
+cookie-banner-handling-description = { -brand-short-name } pyrkii automaattisesti vastaamaan kielteisesti evästepyyntöihin tuetuilla sivustoilla.
+
+## Privacy Section - Cookie Banner Blocking
+
+cookie-banner-blocker-header = Evästeilmoitusten esto
+cookie-banner-blocker-description = Kun sivusto kysyy, voiko se käyttää evästeitä yksityisessä selaustilassa, { -brand-short-name } kieltäytyy automaattisesti puolestasi. Vain tuetuilla sivustoilla.
+cookie-banner-learn-more = Lue lisää
+forms-handle-cookie-banners =
+ .label = Vähennä evästeilmoituksia
+cookie-banner-blocker-checkbox-label =
+ .label = Kieltäydy automaattisesti evästeilmoituksista
+
+## Privacy Section - Address Bar
+
+addressbar-header = Osoitepalkki
+addressbar-suggest = Ehdota osoitepalkissa sivuja
+addressbar-locbar-history-option =
+ .label = selaushistoriasta
+ .accesskey = h
+addressbar-locbar-bookmarks-option =
+ .label = kirjanmerkeistä
+ .accesskey = k
+addressbar-locbar-clipboard-option =
+ .label = Leikepöytä
+ .accesskey = L
+addressbar-locbar-openpage-option =
+ .label = avoimista välilehdistä
+ .accesskey = a
+# Shortcuts refers to the shortcut tiles on the new tab page, previously known as top sites. Translation should be consistent.
+addressbar-locbar-shortcuts-option =
+ .label = oikoteistä
+ .accesskey = o
+addressbar-locbar-topsites-option =
+ .label = ykkössivustoista
+ .accesskey = y
+addressbar-locbar-engines-option =
+ .label = hakukoneista
+ .accesskey = h
+addressbar-locbar-quickactions-option =
+ .label = Pikatoiminnot
+ .accesskey = Q
+addressbar-locbar-showrecentsearches-option =
+ .label = Näytä viimeisimmät haut
+ .accesskey = h
+addressbar-suggestions-settings = Muuta hakukoneiden ehdotusten asetuksia
+addressbar-quickactions-learn-more = Lue lisää
+
+## Privacy Section - Content Blocking
+
+content-blocking-enhanced-tracking-protection = Tehostettu seurannan suojaus
+content-blocking-section-top-level-description = Seuraimet seuraavat sinua verkossa ja keräävät tietoja selaustapoihisi ja kiinnostuksen kohteisiisi liittyen. { -brand-short-name } estää monet näistä seuraimista ja muita haitallisia komentosarjoja.
+content-blocking-learn-more = Lue lisää
+content-blocking-fpi-incompatibility-warning = Käytät ensimmäisen osapuolen eristämistä (FPI), joka korvaa joitain { -brand-short-name }in evästeasetuksista.
+# There is no need to translate "Resist Fingerprinting (RFP)". This is a
+# feature that can only be enabled via about:config, and it's not exposed to
+# standard users (e.g. via Settings).
+content-blocking-rfp-incompatibility-warning = Käytät Resist Fingerprinting (RFP) -toimintoa, joka korvaa osan { -brand-short-name }in yksilöinnin suojausasetuksista. Tämä saattaa aiheuttaa joidenkin sivustojen rikkoutumisen.
+
+## These strings are used to define the different levels of
+## Enhanced Tracking Protection.
+
+# "Standard" in this case is an adjective, meaning "default" or "normal".
+enhanced-tracking-protection-setting-standard =
+ .label = Tavallinen
+ .accesskey = T
+enhanced-tracking-protection-setting-strict =
+ .label = Tiukka
+ .accesskey = u
+enhanced-tracking-protection-setting-custom =
+ .label = Oma
+ .accesskey = O
+
+##
+
+content-blocking-etp-standard-desc = Tasapainotettu suojauksen ja suorituskyvyn välillä. Sivut latautuvat normaalisti.
+content-blocking-etp-strict-desc = Vahvempi suojaus, mutta saattaa aiheuttaa sivustojen tai sisällön toimimattomuutta.
+content-blocking-etp-custom-desc = Valitse, mitkä seuraimet ja komentosarjat estetään.
+content-blocking-etp-blocking-desc = { -brand-short-name } estää seuraavat:
+content-blocking-private-windows = Seurantaan tarkoitettu sisältö yksityisissä ikkunoissa
+content-blocking-cross-site-cookies-in-all-windows2 = Sivustorajat ylittävät evästeet kaikissa ikkunoissa
+content-blocking-cross-site-tracking-cookies = Sivustorajat ylittävät seurainevästeet
+content-blocking-all-cross-site-cookies-private-windows = Sivustorajat ylittävät evästeet yksityisissä ikkunoissa
+content-blocking-cross-site-tracking-cookies-plus-isolate = Sivustorajat ylittävät seuraimet, eristä jäljelle jäävät evästeet
+content-blocking-social-media-trackers = Sosiaalisen median seuraimet
+content-blocking-all-cookies = Kaikki evästeet
+content-blocking-unvisited-cookies = Evästeet sivustoilta, joilla ei ole käyty
+content-blocking-all-windows-tracking-content = Seurantaan tarkoitettu sisältö kaikissa ikkunoissa
+content-blocking-all-cross-site-cookies = Kaikki sivustorajat ylittävät evästeet
+content-blocking-cryptominers = Kryptolouhijat
+content-blocking-fingerprinters = Yksilöijät
+# The known fingerprinters are those that are known for collecting browser fingerprints from user devices. And
+# the suspected fingerprinters are those that we are uncertain about browser fingerprinting activities. But they could
+# possibly acquire browser fingerprints because of the behavior on accessing APIs that expose browser fingerprints.
+content-blocking-known-and-suspected-fingerprinters = Tunnetut ja epäillyt yksilöijät
+
+# The tcp-rollout strings are no longer used for the rollout but for tcp-by-default in the standard section
+
+# "Contains" here means "isolates", "limits".
+content-blocking-etp-standard-tcp-rollout-description = Totaalinen evästesuoja eristää evästeet sivustolle, jolla olet, joten seuraimet eivät voi käyttää niitä seurantaan sivustojen välillä.
+content-blocking-etp-standard-tcp-rollout-learn-more = Lue lisää
+content-blocking-etp-standard-tcp-title = Sisältää totaalisen evästesuojan, kaikkien aikojen tehokkaimman tietosuojaominaisuuden
+content-blocking-warning-title = Huomio!
+content-blocking-and-isolating-etp-warning-description-2 = Tämä asetus saattaa aiheuttaa sen, että jotkin verkkosivustot eivät näytä sisältöä tai toimi oikein. Jos sivusto vaikuttaa rikkoutuneen, saatat haluta poistaa seurannan suojauksen käytöstä kyseisen sivuston kohdalta, jotta kaikki sisältö voidaan ladata.
+content-blocking-warning-learn-how = Lue lisää
+content-blocking-reload-description = Kaikki välilehdet tarvitsee päivittää, jotta muutokset tulevat voimaan.
+content-blocking-reload-tabs-button =
+ .label = Päivitä kaikki välilehdet
+ .accesskey = P
+content-blocking-tracking-content-label =
+ .label = Seurantaan tarkoitettu sisältö
+ .accesskey = S
+content-blocking-tracking-protection-option-all-windows =
+ .label = Kaikissa ikkunoissa
+ .accesskey = K
+content-blocking-option-private =
+ .label = Vain yksityisissä ikkunoissa
+ .accesskey = V
+content-blocking-tracking-protection-change-block-list = Muuta estolistaa
+content-blocking-cookies-label =
+ .label = Evästeet
+ .accesskey = E
+content-blocking-expand-section =
+ .tooltiptext = Lisätietoja
+# Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge.
+content-blocking-cryptominers-label =
+ .label = Kryptolouhijat
+ .accesskey = y
+# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint")
+# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies.
+content-blocking-fingerprinters-label =
+ .label = Yksilöijät
+ .accesskey = s
+# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint")
+# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies.
+#
+# The known fingerprinters are those that are known for collecting browser fingerprints from user devices.
+content-blocking-known-fingerprinters-label =
+ .label = Tunnetut yksilöijät
+ .accesskey = K
+# The suspected fingerprinters are those that we are uncertain about browser fingerprinting activities. But they could
+# possibly acquire browser fingerprints because of the behavior on accessing APIs that expose browser fingerprints.
+content-blocking-suspected-fingerprinters-label =
+ .label = Epäillyt yksilöijät
+ .accesskey = S
+
+## Privacy Section - Tracking
+
+tracking-manage-exceptions =
+ .label = Hallitse poikkeuksia…
+ .accesskey = p
+
+## Privacy Section - Permissions
+
+permissions-header = Oikeudet
+permissions-location = Sijainti
+permissions-location-settings =
+ .label = Asetukset…
+ .accesskey = t
+permissions-xr = Virtuaalitodellisuus
+permissions-xr-settings =
+ .label = Asetukset…
+ .accesskey = t
+permissions-camera = Kamera
+permissions-camera-settings =
+ .label = Asetukset…
+ .accesskey = t
+permissions-microphone = Mikrofoni
+permissions-microphone-settings =
+ .label = Asetukset…
+ .accesskey = t
+# Short form for "the act of choosing sound output devices and redirecting audio to the chosen devices".
+permissions-speaker = Äänentoistolaitteen valinta
+permissions-speaker-settings =
+ .label = Asetukset…
+ .accesskey = t
+permissions-notification = Ilmoitukset
+permissions-notification-settings =
+ .label = Asetukset…
+ .accesskey = t
+permissions-notification-link = Lue lisää
+permissions-notification-pause =
+ .label = Älä näytä ilmoituksia ennen kuin { -brand-short-name } uudelleenkäynnistetään
+ .accesskey = k
+permissions-autoplay = Automaattinen toisto
+permissions-autoplay-settings =
+ .label = Asetukset…
+ .accesskey = t
+permissions-block-popups =
+ .label = Estä ponnahdusikkunat
+ .accesskey = E
+# "popup" is a misspelling that is more popular than the correct spelling of
+# "pop-up" so it's included as a search keyword, not displayed in the UI.
+permissions-block-popups-exceptions-button =
+ .label = Poikkeukset…
+ .accesskey = P
+ .searchkeywords = ponnahdukset
+permissions-addon-install-warning =
+ .label = Varoita, kun sivustot yrittävät asentaa lisäosia
+ .accesskey = V
+permissions-addon-exceptions =
+ .label = Poikkeukset…
+ .accesskey = P
+
+## Privacy Section - Data Collection
+
+collection-header = { -brand-short-name }in tietojen keräys ja käyttö
+collection-header2 = { -brand-short-name }in tietojen keräys ja käyttö
+ .searchkeywords = telemetria
+collection-description = Pyrimme antamaan sinulle vapauden valita ja keräämään vain tietoja, joita tarvitsemme voidaksemme tarjota { -brand-short-name }in kaikille ja parantaa sitä. Kysymme aina lupaa ennen kuin vastaanotamme henkilötietoja.
+collection-privacy-notice = Tietosuojakäytäntö
+collection-health-report-telemetry-disabled = Et enää salli { -vendor-short-name }n vastaanottaa teknisiä ja käyttötilastoja. Kaikki aikaisemmat tiedot poistetaan 30 päivän kuluessa.
+collection-health-report-telemetry-disabled-link = Lue lisää
+collection-health-report =
+ .label = Salli, että { -brand-short-name } lähettää teknisiä ja käyttötilastoja { -vendor-short-name }lle
+ .accesskey = S
+collection-health-report-link = Lue lisää
+collection-studies =
+ .label = Salli, että { -brand-short-name } asentaa ja suorittaa tutkimuksia
+collection-studies-link = Näytä { -brand-short-name }-tutkimukset
+addon-recommendations =
+ .label = Salli, että { -brand-short-name } tekee henkilökohtaisia laajennussuosituksia
+addon-recommendations-link = Lue lisää
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = Tietojen kerääminen ei ole käytössä tässä koostamiskokoonpanossa
+collection-backlogged-crash-reports-with-link = Salli, että { -brand-short-name } lähettää lähettämättömät kaatumisraportit puolestasi <a data-l10n-name="crash-reports-link">Lue lisää</a>
+ .accesskey = S
+privacy-segmentation-section-header = Uudet selaamista parantavat ominaisuudet
+privacy-segmentation-section-description = Kun tarjoamme ominaisuuksia, jotka käyttävät tietojasi aiempaa henkilökohtaisemman käyttökokemuksen tarjoamiseksi:
+privacy-segmentation-radio-off =
+ .label = Käytä { -brand-product-name }-suosituksia
+privacy-segmentation-radio-on =
+ .label = Näytä yksityiskohtaiset tiedot
+
+## Privacy Section - Security
+##
+## It is important that wording follows the guidelines outlined on this page:
+## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage
+
+security-header = Turvallisuus
+security-browsing-protection = Petolliselta sisällöltä ja vaarallisilta ohjelmilta suojaus
+security-enable-safe-browsing =
+ .label = Estä vaarallinen ja petollinen sisältö
+ .accesskey = s
+security-enable-safe-browsing-link = Lue lisää
+security-block-downloads =
+ .label = Estä vaaralliset lataukset
+ .accesskey = a
+security-block-uncommon-software =
+ .label = Varoita ei-halutuista ja epätavallisista ohjelmista
+ .accesskey = r
+
+## Privacy Section - Certificates
+
+certs-header = Varmenteet
+certs-enable-ocsp =
+ .label = Vahvista varmenteiden kelpoisuus OCSP-vastaajapalvelimilta
+ .accesskey = C
+certs-view =
+ .label = Näytä varmenteet…
+ .accesskey = y
+certs-devices =
+ .label = Turvallisuuslaitteet…
+ .accesskey = T
+certs-thirdparty-toggle =
+ .label = Salli { -brand-short-name }in luottaa automaattisesti asentamiisi kolmannen osapuolen juurivarmenteisiin
+ .accesskey = t
+space-alert-over-5gb-settings-button =
+ .label = Avaa asetukset
+ .accesskey = A
+space-alert-over-5gb-message2 = <strong>{ -brand-short-name(case: "ablative") } loppuu kohta levytila.</strong> Sivustojen sisällöt eivät ehkä näy oikein. Voit tyhjentää sivustotiedot avaamalla Asetukset > Tietosuoja ja turvallisuus > Evästeet ja sivustotiedot.
+space-alert-under-5gb-message2 = <strong>{ -brand-short-name(case: "ablative") } loppuu kohta levytila.</strong> Sivustojen sisällöt eivät ehkä näy oikein. Voit lukea levyn käytön optimoimisesta selaamisen sujuvoittamiseksi painamalla ”Lue lisää”.
+
+## Privacy Section - HTTPS-Only
+
+httpsonly-header = Vain HTTPS -tila
+httpsonly-description = HTTPS:n avulla { -brand-short-name } muodostaa suojatun ja salatun yhteyden vierailemiisi sivustoihin. Useimmat sivustot tukevat HTTPS:ää, ja jos ”Vain HTTPS”-tila on käytössä, { -brand-short-name } muuntaa kaikki yhteydet käyttämään HTTPS:ää.
+httpsonly-learn-more = Lue lisää
+httpsonly-radio-enabled =
+ .label = Käytä ”Vain HTTPS”-tilaa kaikissa ikkunoissa
+httpsonly-radio-enabled-pbm =
+ .label = Käytä ”Vain HTTPS”-tilaa vain yksityisissä ikkunoissa
+httpsonly-radio-disabled =
+ .label = Älä käytä ”Vain HTTPS”-tilaa
+
+## DoH Section
+
+preferences-doh-header = DNS HTTPS:n kautta
+preferences-doh-description = DNS (Domain Name System eli nimipalvelujärjestelmä) HTTPS:n kautta lähettää verkkotunnuksen nimeä koskevan pyyntösi salatun yhteyden kautta, luoden suojatun DNS:n ja vaikeuttaen muiden nähdä, mihin verkkosivustoon olet siirtymässä.
+preferences-doh-description2 = DNS (Domain Name System eli nimipalvelujärjestelmä) HTTPS:n kautta lähettää verkkotunnuksen nimeä koskevan pyyntösi salatun yhteyden kautta, tarjoten suojatun DNS:n ja vaikeuttaen muiden nähdä, mihin verkkosivustoon olet siirtymässä.
+# Variables:
+# $status (string) - The status of the DoH connection
+preferences-doh-status = Tila: { $status }
+# Variables:
+# $name (string) - The name of the DNS over HTTPS resolver. If a custom resolver is used, the name will be the domain of the URL.
+preferences-doh-resolver = Palveluntarjoaja: { $name }
+# This is displayed instead of $name in preferences-doh-resolver
+# when the DoH URL is not a valid URL
+preferences-doh-bad-url = Virheellinen osoite
+preferences-doh-steering-status = Käytetään paikallista palveluntarjoajaa
+preferences-doh-status-active = Käytössä
+preferences-doh-status-disabled = Ei käytössä
+# Variables:
+# $reason (string) - A string representation of the reason DoH is not active. For example NS_ERROR_UNKNOWN_HOST or TRR_RCODE_FAIL.
+preferences-doh-status-not-active = Ei aktiivinen ({ $reason })
+preferences-doh-group-message = Aseta suojattu DNS päälle käyttämällä:
+preferences-doh-group-message2 = Käytä DNS:ää HTTPS:n välityksellä hyödyntäen:
+preferences-doh-expand-section =
+ .tooltiptext = Lisätietoja
+preferences-doh-setting-default =
+ .label = Oletussuojaus
+ .accesskey = O
+preferences-doh-default-desc = { -brand-short-name } päättää, milloin suojattua DNS:ää käytetään yksityisyytesi suojaamiseksi.
+preferences-doh-default-detailed-desc-1 = Käytä suojattua DNS:ää alueilla, joilla se on saatavilla
+preferences-doh-default-detailed-desc-2 = Käytä oletusarvoista DNS-selvittäjää, jos suojatussa DNS:ssä on ongelma
+preferences-doh-default-detailed-desc-3 = Käytä paikallista palveluntarjoajaa, jos mahdollista
+preferences-doh-default-detailed-desc-4 = Sammuta, kun VPN, vanhempien käytönvalvonta tai yrityskäytännöt ovat aktiivisia
+preferences-doh-default-detailed-desc-5 = Sammuta, kun verkko kertoo { -brand-short-name }ille, ettei sen pitäisi käyttää suojattua DNS:ää
+preferences-doh-setting-enabled =
+ .label = Lisätty suojaus
+ .accesskey = i
+preferences-doh-enabled-desc = Sinä hallitset, milloin suojattua DNS:ää käytetään ja valitset palveluntarjoajan.
+preferences-doh-enabled-detailed-desc-1 = Käytä valitsemaani palveluntarjoajaa
+preferences-doh-enabled-detailed-desc-2 = Käytä oletusarvoista DNS-selvittäjää vain, jos suojatussa DNS:ssä on ongelma
+preferences-doh-setting-strict =
+ .label = Täysi suojaus
+ .accesskey = ä
+preferences-doh-strict-desc = { -brand-short-name } käyttää aina suojattua DNS:ää. Näet turvallisuusriskivaroituksen, ennen kuin käytämme järjestelmäsi DNS:ää.
+preferences-doh-strict-detailed-desc-1 = Käytä vain valitsemaani palveluntarjoajaa
+preferences-doh-strict-detailed-desc-2 = Varoita aina, jos suojattu DNS ei ole käytettävissä
+preferences-doh-strict-detailed-desc-3 = Jos suojattu DNS ei ole käytettävissä, sivustot eivät lataudu tai toimi oikein
+preferences-doh-setting-off =
+ .label = Pois
+ .accesskey = o
+preferences-doh-off-desc = Käytä oletusarvoista DNS-selvittäjää
+preferences-doh-checkbox-warn =
+ .label = Varoita, jos kolmas osapuoli aktiivisesti estää suojatun DNS:n
+ .accesskey = V
+preferences-doh-select-resolver = Valitse palveluntarjoaja:
+preferences-doh-exceptions-description = { -brand-short-name } ei käytä suojattua DNS:ää näillä sivustoilla
+preferences-doh-manage-exceptions =
+ .label = Hallitse poikkeuksia…
+ .accesskey = H
+
+## The following strings are used in the Download section of settings
+
+desktop-folder-name = Työpöytä
+downloads-folder-name = Lataukset
+choose-download-folder-title = Valitse tallennuskansio
diff --git a/l10n-fi/browser/browser/preferences/selectBookmark.ftl b/l10n-fi/browser/browser/preferences/selectBookmark.ftl
new file mode 100644
index 0000000000..6305aeb52a
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/selectBookmark.ftl
@@ -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/.
+
+select-bookmark-window2 =
+ .title = Aseta aloitussivu
+ .style = min-width: 32em;
+
+select-bookmark-desc = Valitse kirjanmerkki, jonka haluat aloitussivuksi. Jos valitset aloitussivuksi kansion, siinä olevat kirjanmerkit avautuvat välilehtiin.
diff --git a/l10n-fi/browser/browser/preferences/siteDataSettings.ftl b/l10n-fi/browser/browser/preferences/siteDataSettings.ftl
new file mode 100644
index 0000000000..2c3440672c
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/siteDataSettings.ftl
@@ -0,0 +1,67 @@
+# 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/.
+
+
+## Settings
+
+site-data-settings-window =
+ .title = Hallitse evästeitä ja sivustotietoja
+
+site-data-settings-description = Seuraavat sivustot tallentavat evästeitä ja tietoja tietokoneellesi. { -brand-short-name } säilyttää pysyvää tallennustilaa käyttävien sivustojen tiedot, kunnes poistat ne, ja poistaa muiden sivustojen tietoja sitä mukaa, kun tilaa tarvitsee vapauttaa.
+
+site-data-search-textbox =
+ .placeholder = Etsi sivustoja
+ .accesskey = E
+
+site-data-column-host =
+ .label = Sivusto
+site-data-column-cookies =
+ .label = Evästeet
+site-data-column-storage =
+ .label = Tallennustila
+site-data-column-last-used =
+ .label = Viimeksi käytetty
+
+# This label is used in the "Host" column for local files, which have no host.
+site-data-local-file-host = (paikallinen tiedosto)
+
+site-data-remove-selected =
+ .label = Poista valitut
+ .accesskey = v
+
+site-data-settings-dialog =
+ .buttonlabelaccept = Tallenna muutokset
+ .buttonaccesskeyaccept = m
+
+# Variables:
+# $value (Number) - Value of the unit (for example: 4.6, 500)
+# $unit (String) - Name of the unit (for example: "bytes", "KB")
+site-storage-usage =
+ .value = { $value } { $unit }
+site-storage-persistent =
+ .value = { site-storage-usage.value } (pysyvästi)
+
+site-data-remove-all =
+ .label = Poista kaikki
+ .accesskey = s
+
+site-data-remove-shown =
+ .label = Poista kaikki näkyvät
+ .accesskey = n
+
+## Removing
+
+site-data-removing-dialog =
+ .title = { site-data-removing-header }
+ .buttonlabelaccept = Poista
+
+site-data-removing-header = Evästeiden ja sivustotietojen poisto
+
+site-data-removing-desc = Sivustotietojen poistaminen voi kirjata sinut ulos sivustoilta. Haluatko varmasti tehdä muutokset?
+
+# Variables:
+# $baseDomain (String) - The single domain for which data is being removed
+site-data-removing-single-desc = Evästeiden ja sivustotietojen poistaminen saattaa kirjata sinut ulos verkkosivustoilta. Haluatko varmasti poistaa evästeet ja sivustotiedot sivuston <strong>{ $baseDomain }</strong> osalta?
+
+site-data-removing-table = Seuraavien sivustojen evästeet ja tiedot poistetaan
diff --git a/l10n-fi/browser/browser/preferences/translation.ftl b/l10n-fi/browser/browser/preferences/translation.ftl
new file mode 100644
index 0000000000..424e685379
--- /dev/null
+++ b/l10n-fi/browser/browser/preferences/translation.ftl
@@ -0,0 +1,40 @@
+# 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/.
+
+translation-window2 =
+ .title = Poikkeukset - Käännökset
+ .style = min-width: 36em
+
+translation-close-key =
+ .key = w
+
+translation-languages-disabled-desc = Käännöstä ei ehdoteta seuraaville kielille
+
+translation-languages-column =
+ .label = Kielet
+
+translation-languages-button-remove =
+ .label = Poista kieli
+ .accesskey = P
+
+translation-languages-button-remove-all =
+ .label = Poista kaikki kielet
+ .accesskey = k
+
+translation-sites-disabled-desc = Käännöstä ei ehdoteta seuraaville sivustoille
+
+translation-sites-column =
+ .label = Sivustot
+
+translation-sites-button-remove =
+ .label = Poista sivusto
+ .accesskey = o
+
+translation-sites-button-remove-all =
+ .label = Poista kaikki sivustot
+ .accesskey = a
+
+translation-dialog =
+ .buttonlabelaccept = Sulje
+ .buttonaccesskeyaccept = S
diff --git a/l10n-fi/browser/browser/profile/default-bookmarks.ftl b/l10n-fi/browser/browser/profile/default-bookmarks.ftl
new file mode 100644
index 0000000000..bf311f5b4e
--- /dev/null
+++ b/l10n-fi/browser/browser/profile/default-bookmarks.ftl
@@ -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/.
+
+
+# This file intentionally uses hard-coded brand names instead of Fluent terms.
+# This approach minimizes issues across multiple release channels and rebranded
+# versions.
+
+default-bookmarks-title = Kirjanmerkit
+default-bookmarks-heading = Kirjanmerkit
+
+default-bookmarks-toolbarfolder = Kirjanmerkkipalkin kansio
+default-bookmarks-toolbarfolder-description = Lisää kirjanmerkkejä tähän kansioon, jotta ne näkyvät kirjanmerkkipalkissa
+
+# link title for https://www.mozilla.org/firefox/central/
+default-bookmarks-getting-started = Aloittaminen
+
+# Firefox links folder name
+default-bookmarks-firefox-heading = Mozilla Firefox
+
+# link title for https://www.mozilla.org/firefox/help/
+default-bookmarks-firefox-get-help = Etsi ohjeita
+
+# link title for https://www.mozilla.org/firefox/customize/
+default-bookmarks-firefox-customize = Mukauta Firefoxia
+
+# link title for https://www.mozilla.org/contribute/
+default-bookmarks-firefox-community = Tule mukaan
+
+# link title for https://www.mozilla.org/about/
+default-bookmarks-firefox-about = Tietoja meistä
+
+# Firefox Nightly links folder name
+default-bookmarks-nightly-heading = Firefox Nightly -resurssit
+
+# Nightly builds only, link title for https://blog.nightly.mozilla.org/
+default-bookmarks-nightly-blog = Firefox Nightly -blogi
+
+# Nightly builds only, link title for https://bugzilla.mozilla.org/
+default-bookmarks-bugzilla = Mozillan vianseurantajärjestelmä
+
+# Nightly builds only, link title for https://developer.mozilla.org/
+default-bookmarks-mdn = Mozilla Developer Network
+
+# Nightly builds only, link title for https://addons.mozilla.org/firefox/addon/nightly-tester-tools/
+default-bookmarks-nightly-tester-tools = Nightly-testaajan työkalut
+
+# Nightly builds only, link title for about:crashes
+default-bookmarks-crashes = Kaikki kaatumisilmoituksesi
+
+# Nightly builds only, link title for https://planet.mozilla.org/
+default-bookmarks-planet = Planet Mozilla
diff --git a/l10n-fi/browser/browser/protections.ftl b/l10n-fi/browser/browser/protections.ftl
new file mode 100644
index 0000000000..163d4db806
--- /dev/null
+++ b/l10n-fi/browser/browser/protections.ftl
@@ -0,0 +1,233 @@
+# 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/.
+
+# Variables:
+# $count (Number) - Number of tracking events blocked.
+graph-week-summary =
+ { $count ->
+ [one] { -brand-short-name } esti { $count } seuraimen viime viikon aikana
+ *[other] { -brand-short-name } esti { $count } seurainta viime viikon aikana
+ }
+
+# Variables:
+# $count (Number) - Number of tracking events blocked.
+# $earliestDate (Number) - Unix timestamp in ms, representing a date. The
+# earliest date recorded in the database.
+graph-total-tracker-summary =
+ { $count ->
+ [one] <b>{ $count }</b> seurain estetty { DATETIME($earliestDate, day: "numeric", month: "long", year: "numeric") } lähtien
+ *[other] <b>{ $count }</b> seurainta estetty { DATETIME($earliestDate, day: "numeric", month: "long", year: "numeric") } lähtien
+ }
+
+# Text displayed instead of the graph when in Private Mode
+graph-private-window = { -brand-short-name } jatkaa seuraimien estämistä yksityisissä ikkunoissa, mutta ei pidä kirjaa siitä, mitä on estetty.
+# Weekly summary of the graph when the graph is empty in Private Mode
+graph-week-summary-private-window = Seuraimet, jotka { -brand-short-name } esti tällä viikolla
+
+protection-report-webpage-title = Suojausten yhteenveto
+protection-report-page-content-title = Suojausten yhteenveto
+# This message shows when all privacy protections are turned off, which is why we use the word "can", Firefox is able to protect your privacy, but it is currently not.
+protection-report-page-summary = { -brand-short-name } voi suojata yksityisyyttäsi kulisseissa, kun selaat verkkoa. Tämä on yhteenveto näistä suojauksista, joihin kuuluu työkaluja, joiden avulla voit hallita turvallisuuttasi verkossa.
+# This message shows when at least some protections are turned on, we are more assertive compared to the message above, Firefox is actively protecting you.
+protection-report-page-summary-default = { -brand-short-name } suojaa yksityisyyttäsi kulisseissa, kun selaat verkkoa. Tämä on henkilökohtainen yhteenveto näistä suojauksista, joihin kuuluu työkaluja, joiden avulla voit hallita turvallisuuttasi verkossa.
+
+protection-report-settings-link = Hallitse tietosuojan ja turvallisuuden asetuksia
+
+etp-card-title-always = Tehostettu seurannan suojaus: Aina päällä
+etp-card-title-custom-not-blocking = Tehostettu seurannan suojaus: POIS PÄÄLTÄ
+etp-card-content-description = { -brand-short-name } estää automaattisesti yrityksiä seuraamasta sinua salaa ympäri verkkoa.
+protection-report-etp-card-content-custom-not-blocking = Kaikki suojaukset ovat pois päältä. Valitse estettävät seuraimet { -brand-short-name }-suojausasetuksista.
+protection-report-manage-protections = Hallitse asetuksia
+
+# This string is used to label the X axis of a graph. Other days of the week are generated via Intl.DateTimeFormat,
+# capitalization for this string should match the output for your locale.
+graph-today = Tänään
+
+# This string is used to describe the graph for screenreader users.
+graph-legend-description = Kuvaaja sisältäen jokaisen tällä viikolla estetyn seuraintyypin määrän.
+
+social-tab-title = Sosiaalisen median seuraimet
+social-tab-contant = Sosiaaliset verkot asettavat seuraimia muille verkkosivuille, ja niiden avulla sinua sekä tekemisiäsi voidaan seurata verkossa. Tämä mahdollistaa sosiaalisen median yhtiöiden kerätä sinusta enemmän tietoa kuin mitä itse jaat sosiaalisen median profiileissa. <a data-l10n-name="learn-more-link">Lue lisää</a>
+
+cookie-tab-title = Sivustorajat ylittävät seurainevästeet
+cookie-tab-content = Nämä evästeet seuraavat eri sivustoilla ja keräävät tietoja tekemisistäsi verkossa. Ne on asetettu kolmansien osapuolten, kuten mainostajien ja analytiikkayhtiöiden, toimesta. <a data-l10n-name="learn-more-link">Lue lisää</a>
+
+tracker-tab-title = Seurantaan tarkoitettu sisältö
+tracker-tab-description = Verkkosivustot saattavat ladata ulkoisia mainoksia, videoita ja muuta seurantakoodin sisältävää sisältöä. Seurantaan tarkoitetun sisällön estämällä voit nopeuttaa sivujen latautumista, mutta jotkin painikkeet, lomakkeet ja kirjautumiskentät eivät välttämättä toimi. <a data-l10n-name="learn-more-link">Lue lisää</a>
+
+fingerprinter-tab-title = Yksilöijät
+fingerprinter-tab-content = Yksilöijät keräävät asetustietoja selaimestasi sekä tietokoneestasi ja luovat näiden tietojen avulla profiilin sinusta. Tätä digitaalista sormenjälkeä hyödyntämällä sinua voidaan seurata eri verkkosivustojen välillä. <a data-l10n-name="learn-more-link">Lue lisää</a>
+
+cryptominer-tab-title = Kryptolouhijat
+cryptominer-tab-content = Kryptolouhijat käyttävät tietokoneesi laskentatehoa digitaalisen rahan louhintaan. Kryptolouhintaan tarkoitetut komentosarjat kuluttavat tietokoneen akkua, hidastavat tietokonetta ja voivat vaikuttaa sähkölaskun loppusummaan. <a data-l10n-name="learn-more-link">Lue lisää</a>
+
+protections-close-button2 =
+ .aria-label = Sulje
+ .title = Sulje
+
+mobile-app-title = Estä mainosseuraimia useammilla laitteilla
+mobile-app-card-content = Käytä mobiiliselainta, jossa on sisäänrakennettu suojaus mainosseurantaa vastaan.
+mobile-app-links = { -brand-product-name }-selain <a data-l10n-name="android-mobile-inline-link">Androidille</a> ja <a data-l10n-name="ios-mobile-inline-link">iOS:lle</a>
+
+lockwise-title = Lopeta salasanojen unohtaminen
+passwords-title-logged-in = Hallinnoi salasanojasi
+passwords-header-content = { -brand-product-name } tallentaa salasanasi turvallisesti selaimeesi.
+lockwise-header-content-logged-in = Tallenna salasanasi turvallisesti ja synkronoi ne eri laitteiden välillä.
+protection-report-passwords-save-passwords-button = Tallenna salasanat
+ .title = Tallenna salasanat
+protection-report-passwords-manage-passwords-button = Hallitse salasanoja
+ .title = Hallitse salasanoja
+
+
+# Variables:
+# $count (Number) - Number of passwords exposed in data breaches.
+lockwise-scanned-text-breached-logins =
+ { $count ->
+ [one] 1 salasana on saattanut paljastua tietovuodossa.
+ *[other] { $count } salasanaa on saattanut paljastua tietovuodossa.
+ }
+
+# While English doesn't use the number in the plural form, you can add $count to your language
+# if needed for grammatical reasons.
+# Variables:
+# $count (Number) - Number of passwords stored in Lockwise.
+lockwise-scanned-text-no-breached-logins =
+ { $count ->
+ [one] 1 salasana talletetaan turvallisesti.
+ *[other] Salasanasi talletetaan turvallisesti.
+ }
+lockwise-how-it-works-link = Kuinka se toimii
+
+monitor-title = Ota tietovuodot tarkkailuun
+monitor-link = Kuinka se toimii
+monitor-header-content-no-account = Tutustu { -monitor-brand-name }iin nähdäksesi onko tietojasi paljastunut tunnetuissa tietovuodoissa, ja vastaanota hälytys jos tietojasi paljastuu uusissa vuodoissa.
+monitor-header-content-signed-in = { -monitor-brand-name } varoittaa sinua, jos tietosi paljastuvat tunnetussa tietovuodossa.
+monitor-sign-up-link = Tilaa vuotohälytykset
+ .title = Tilaa vuotohälytykset { -monitor-brand-name }-palvelussa
+auto-scan = Automaattisesti tarkistettu tänään
+
+monitor-emails-tooltip =
+ .title = Tarkista seurattavat sähköpostiosoitteet { -monitor-brand-short-name }-palvelusta
+monitor-breaches-tooltip =
+ .title = Katso tunnetut tietovuodot { -monitor-brand-short-name }-palvelusta
+monitor-passwords-tooltip =
+ .title = Katso paljastuneet salasanat { -monitor-brand-short-name }-palvelusta
+
+# This string is displayed after a large numeral that indicates the total number
+# of email addresses being monitored. Don’t add $count to
+# your localization, because it would result in the number showing twice.
+info-monitored-emails =
+ { $count ->
+ [one] Tarkkailtava sähköpostiosoite
+ *[other] Tarkkailtavaa sähköpostiosoitetta
+ }
+
+# This string is displayed after a large numeral that indicates the total number
+# of known data breaches. Don’t add $count to
+# your localization, because it would result in the number showing twice.
+info-known-breaches-found =
+ { $count ->
+ [one] Tunnettu tietovuoto on paljastanut tietojasi
+ *[other] Tunnettua tietovuotoa on paljastanut tietojasi
+ }
+
+# This string is displayed after a large numeral that indicates the total number
+# of known data breaches that are marked as resolved by the user. Don’t add $count
+# to your localization, because it would result in the number showing twice.
+info-known-breaches-resolved =
+ { $count ->
+ [one] Tunnettu tietovuoto merkitty selvitetyksi
+ *[other] Tunnettua tietovuotoa merkitty selvitetyksi
+ }
+
+# This string is displayed after a large numeral that indicates the total number
+# of exposed passwords. Don’t add $count to
+# your localization, because it would result in the number showing twice.
+info-exposed-passwords-found =
+ { $count ->
+ [one] Salasana paljastunut kaikissa vuodoissa
+ *[other] Salasanaa paljastunut kaikissa vuodoissa
+ }
+
+# This string is displayed after a large numeral that indicates the total number
+# of exposed passwords that are marked as resolved by the user. Don’t add $count
+# to your localization, because it would result in the number showing twice.
+info-exposed-passwords-resolved =
+ { $count ->
+ [one] Salasana paljastunut selvittämättömissä vuodoissa
+ *[other] Salasanaa paljastunut selvittämättömissä vuodoissa
+ }
+
+monitor-no-breaches-title = Hyviä uutisia!
+monitor-no-breaches-description = Ei tunnettuja tietovuotoja. Saat tiedon, jos tilanne muuttuu.
+monitor-view-report-link = Näytä raportti
+ .title = Selvitä vuodot { -monitor-brand-short-name }-palvelussa
+monitor-breaches-unresolved-title = Selvitä tietovuodot
+monitor-breaches-unresolved-description = Voit merkitä tietovuodon selvitetyksi, kun olet katsonut vuodon tiedot ja tehnyt tarvittavan tietojesi suojaamiseksi.
+monitor-manage-breaches-link = Hallitse vuotoja
+ .title = Hallitse vuotoja { -monitor-brand-short-name }-palvelussa
+monitor-breaches-resolved-title = Hienoa! Olet selvittänyt kaikki tunnetut tietovuodot.
+monitor-breaches-resolved-description = Jos sähköpostiosoitteesi ilmenee uusissa vuodoissa, ilmoitamme siitä sinulle.
+
+# Variables:
+# $numBreachesResolved (Number) - Number of breaches marked as resolved by the user on Monitor.
+# $numBreaches (Number) - Number of breaches in which a user's data was involved, detected by Monitor.
+monitor-partial-breaches-title =
+ { $numBreaches ->
+ *[other] { $numBreachesResolved }/{ $numBreaches } tietovuotoa on merkitty selvitetyksi
+ }
+
+# Variables:
+# $percentageResolved (Number) - Percentage of breaches marked as resolved by a user on Monitor.
+monitor-partial-breaches-percentage = { $percentageResolved } % valmiina
+
+monitor-partial-breaches-motivation-title-start = Hieno alku!
+monitor-partial-breaches-motivation-title-middle = Jatka samoin!
+monitor-partial-breaches-motivation-title-end = Melkein valmista! Jatka samoin.
+monitor-partial-breaches-motivation-description = Selvitä loput vuodoista { -monitor-brand-short-name }-palvelussa.
+monitor-resolve-breaches-link = Selvitä vuodot
+ .title = Selvitä vuodot { -monitor-brand-short-name }-palvelussa
+
+## The title attribute is used to display the type of protection.
+## The aria-label is spoken by screen readers to make the visual graph accessible to blind users.
+##
+## Variables:
+## $count (Number) - Number of specific trackers
+## $percentage (Number) - Percentage this type of tracker contributes to the whole graph
+
+bar-tooltip-social =
+ .title = Sosiaalisen median seuraimet
+ .aria-label =
+ { $count ->
+ [one] { $count } sosiaalisen median seurain ({ $percentage } %)
+ *[other] { $count } sosiaalisen median seurainta ({ $percentage } %)
+ }
+bar-tooltip-cookie =
+ .title = Sivustorajat ylittävät evästeet
+ .aria-label =
+ { $count ->
+ [one] { $count } sivustorajat ylittävä eväste ({ $percentage } %)
+ *[other] { $count } sivustorajat ylittävää evästettä ({ $percentage } %)
+ }
+bar-tooltip-tracker =
+ .title = Seurantaan tarkoitettu sisältö
+ .aria-label =
+ { $count ->
+ [one] { $count } seurantaan tarkoitettu sisältö ({ $percentage } %)
+ *[other] { $count } seurantaan tarkoitettu sisältöä ({ $percentage } %)
+ }
+bar-tooltip-fingerprinter =
+ .title = Yksilöijät
+ .aria-label =
+ { $count ->
+ [one] { $count } yksilöijä ({ $percentage } %)
+ *[other] { $count } yksilöijää ({ $percentage } %)
+ }
+bar-tooltip-cryptominer =
+ .title = Kryptolouhijat
+ .aria-label =
+ { $count ->
+ [one] { $count } kryptolouhija ({ $percentage } %)
+ *[other] { $count } kryptolouhijaa ({ $percentage } %)
+ }
diff --git a/l10n-fi/browser/browser/protectionsPanel.ftl b/l10n-fi/browser/browser/protectionsPanel.ftl
new file mode 100644
index 0000000000..c88f293cb6
--- /dev/null
+++ b/l10n-fi/browser/browser/protectionsPanel.ftl
@@ -0,0 +1,164 @@
+# 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/.
+
+protections-panel-sendreportview-error = Lähettäessä raporttia tapahtui virhe. Yritä uudelleen myöhemmin.
+# A link shown when ETP is disabled for a site. Opens the breakage report subview when clicked.
+protections-panel-sitefixedsendreport-label = Onko sivusto korjattu? Lähetä raportti
+
+## These strings are used to define the different levels of
+## Enhanced Tracking Protection.
+
+protections-popup-footer-protection-label-strict = Tiukka
+ .label = Tiukka
+protections-popup-footer-protection-label-custom = Oma
+ .label = Oma
+protections-popup-footer-protection-label-standard = Tavallinen
+ .label = Tavallinen
+
+##
+
+# The text a screen reader speaks when focused on the info button.
+protections-panel-etp-more-info =
+ .aria-label = Lisätietoja tehostetusta seurannan suojauksesta
+protections-panel-etp-on-header = Tehostettu seurannan suojaus on PÄÄLLÄ tällä sivustolla
+protections-panel-etp-off-header = Tehostettu seurannan suojaus on POIS PÄÄLTÄ tällä sivustolla
+
+## Text for the toggles shown when ETP is enabled/disabled for a given site.
+## .description is transferred into a separate paragraph by the moz-toggle
+## custom element code.
+## $host (String): the hostname of the site that is being displayed.
+
+protections-panel-etp-on-toggle =
+ .label = Tehostettu seurannan suojaus
+ .description = Käytössä tällä sivustolla
+ .aria-label = Poista suojaukset käytöstä sivustolla { $host }
+protections-panel-etp-off-toggle =
+ .label = Tehostettu seurannan suojaus
+ .description = Ei käytössä tällä sivustolla
+ .aria-label = Ota suojaukset käyttöön sivustolla { $host }
+protections-panel-etp-toggle-on =
+ .label = Tehostettu seurannan suojaus
+ .description = Käytössä tällä sivustolla
+ .aria-label = Tehostettu seurannan suojaus: Käytössä sivustolla { $host }
+protections-panel-etp-toggle-off =
+ .label = Tehostettu seurannan suojaus
+ .description = Ei käytössä tällä sivustolla
+ .aria-label = Tehostettu seurannan suojaus: Ei käytössä sivustolla { $host }
+# The link to be clicked to open the sub-panel view
+protections-panel-site-not-working = Eikö sivusto toimi?
+# The heading/title of the sub-panel view
+protections-panel-site-not-working-view =
+ .title = Eikö sivusto toimi?
+
+## The "Allowed" header also includes a "Why?" link that, when hovered, shows
+## a tooltip explaining why these items were not blocked in the page.
+
+protections-panel-not-blocking-why-label = Miksi?
+protections-panel-not-blocking-why-etp-on-tooltip = Näiden estäminen voisi rikkoa osia joistain sivustoista. Ilman seuraimia jotkin painikkeet, lomakkeet ja kirjautumiskentät eivät välttämättä toimi.
+protections-panel-not-blocking-why-etp-off-tooltip = Kaikki tämän sivuston seuraimet on ladattu, sillä suojaukset ovat pois päältä.
+protections-panel-not-blocking-why-etp-on-tooltip-label =
+ .label = Näiden estäminen voisi rikkoa osia joistain sivustoista. Ilman seuraimia jotkin painikkeet, lomakkeet ja kirjautumiskentät eivät välttämättä toimi.
+protections-panel-not-blocking-why-etp-off-tooltip-label =
+ .label = Kaikki tämän sivuston seuraimet on ladattu, sillä suojaukset ovat pois päältä.
+
+##
+
+protections-panel-no-trackers-found = Tällä sivulla ei havaittu seuraimia, jotka { -brand-short-name } tuntee.
+protections-panel-content-blocking-tracking-protection = Seurantaan tarkoitettu sisältö
+protections-panel-content-blocking-socialblock = Sosiaalisen median seuraimet
+protections-panel-content-blocking-cryptominers-label = Kryptolouhijat
+protections-panel-content-blocking-fingerprinters-label = Yksilöijät
+
+## In the protections panel, Content Blocking category items are in three sections:
+## "Blocked" for categories being blocked in the current page,
+## "Allowed" for categories detected but not blocked in the current page, and
+## "None Detected" for categories not detected in the current page.
+## These strings are used in the header labels of each of these sections.
+
+protections-panel-blocking-label = Estetty
+protections-panel-not-blocking-label = Sallittu
+protections-panel-not-found-label = Ei havaittu
+
+##
+
+protections-panel-settings-label = Suojauksen asetukset
+protections-panel-protectionsdashboard-label = Suojausten yhteenveto
+
+## In the Site Not Working? view, we suggest turning off protections if
+## the user is experiencing issues with any of a variety of functionality.
+
+# The header of the list
+protections-panel-site-not-working-view-header = Poista suojaukset käytöstä, jos kohtaat ongelmia seuraavien kanssa:
+# The list items, shown in a <ul>
+protections-panel-site-not-working-view-issue-list-login-fields = Kirjautumiskentät
+protections-panel-site-not-working-view-issue-list-forms = Lomakkeet
+protections-panel-site-not-working-view-issue-list-payments = Maksut
+protections-panel-site-not-working-view-issue-list-comments = Kommentit
+protections-panel-site-not-working-view-issue-list-videos = Videot
+protections-panel-site-not-working-view-issue-list-fonts = Fontit
+protections-panel-site-not-working-view-send-report = Lähetä raportti
+
+##
+
+protections-panel-cross-site-tracking-cookies = Nämä evästeet seuraavat sinua sivustolta toiselle ja keräävät tietoja tekemisistäsi verkossa. Ne on asetettu kolmansien osapuolten, kuten mainostajien ja analytiikkayhtiöiden, toimesta.
+protections-panel-cryptominers = Kryptolouhijat käyttävät tietokoneesi laskentatehoa digitaalisen rahan louhintaan. Kryptolouhintaan tarkoitetut komentosarjat kuluttavat tietokoneen akkua, hidastavat tietokonetta ja voivat vaikuttaa sähkölaskun loppusummaan.
+protections-panel-fingerprinters = Yksilöijät keräävät asetustietoja selaimestasi sekä tietokoneestasi ja luovat näiden tietojen avulla profiilin sinusta. Tätä digitaalista sormenjälkeä hyödyntämällä sinua voidaan seurata eri verkkosivustojen välillä.
+protections-panel-tracking-content = Sivustot saattavat ladata ulkoisia mainoksia, videoita ja muuta sisältöä, joka seuraa sinua. Seurantaan tarkoitetun sisällön estäminen voi nopeuttaa sivujen latautumista, mutta jotkin painikkeet, lomakkeet ja kirjautumiskentät eivät välttämättä toimi.
+protections-panel-social-media-trackers = Sosiaaliset verkot asettavat seuraimia muille verkkosivuille, ja niiden avulla sinua sekä tekemisiäsi voidaan seurata verkossa. Tämä mahdollistaa sosiaalisen median yhtiöiden kerätä sinusta enemmän tietoa kuin mitä itse jaat sosiaalisen median profiileissa.
+protections-panel-description-shim-allowed = Jotkin alla merkityt seuraimet on osittain vapautettu estoista tällä sivulla, koska olit vuorovaikutuksessa niiden kanssa.
+protections-panel-description-shim-allowed-learn-more = Lue lisää
+protections-panel-shim-allowed-indicator =
+ .tooltiptext = Seurain vapautettu estoista osittain
+protections-panel-content-blocking-manage-settings =
+ .label = Hallitse suojauksen asetuksia
+ .accesskey = H
+protections-panel-content-blocking-breakage-report-view =
+ .title = Ilmoita rikkinäisestä sivustosta
+protections-panel-content-blocking-breakage-report-view-description = Joidenkin seuraimien estäminen saattaa aiheuttaa ongelmia joillain sivustoilla. Ilmoittamalla näistä ongelmista autat parantamaan { -brand-short-name }-selainta. Tämän raportin lähettäminen lähettää Mozillalle sivun osoitteen ja tietoja selaimesi asetuksista. <label data-l10n-name="learn-more">Lue lisää</label>
+protections-panel-content-blocking-breakage-report-view-description2 = Joidenkin seuraimien estäminen saattaa aiheuttaa ongelmia joillain sivustoilla. Ilmoittamalla näistä ongelmista autat parantamaan { -brand-short-name }-selainta. Tämän raportin lähettäminen lähettää { -vendor-short-name }lle sivun osoitteen ja tietoja selaimesi asetuksista.
+protections-panel-content-blocking-breakage-report-view-collection-url = Osoite
+protections-panel-content-blocking-breakage-report-view-collection-url-label =
+ .aria-label = Osoite
+protections-panel-content-blocking-breakage-report-view-collection-comments = Valinnainen: Kuvaile ongelma
+protections-panel-content-blocking-breakage-report-view-collection-comments-label =
+ .aria-label = Valinnainen: Kuvaile ongelma
+protections-panel-content-blocking-breakage-report-view-cancel =
+ .label = Peruuta
+protections-panel-content-blocking-breakage-report-view-send-report =
+ .label = Lähetä ilmoitus
+
+# Cookie Banner Handling
+
+protections-panel-cookie-banner-handling-header = Evästeilmoitusten vähennys
+protections-panel-cookie-banner-blocker-header = Evästeilmoitusten esto
+protections-panel-cookie-banner-handling-enabled = Käytössä tällä sivustolla
+protections-panel-cookie-banner-handling-disabled = Ei käytössä tällä sivustolla
+protections-panel-cookie-banner-handling-undetected = Sivusto ei ole tuettu tällä hetkellä
+protections-panel-cookie-banner-view-title =
+ .title = Evästeilmoitusten vähennys
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+protections-panel-cookie-banner-view-turn-off-for-site = Haluatko poistaa evästeilmoitusten vähennystoiminnon käytöstä sivustolla { $host }?
+protections-panel-cookie-banner-view-turn-on-for-site = Haluatko ottaa evästeilmoitusten vähennystoiminnon käyttöön tällä sivustolla?
+protections-panel-cookie-banner-blocker-view-title =
+ .title = Evästeilmoitusten esto
+# Variables
+# $host (String): the hostname of the site that is being displayed.
+protections-panel-cookie-banner-blocker-view-turn-off-for-site = Haluatko poistaa evästeilmoitusten eston käytöstä sivustolla { $host }?
+protections-panel-cookie-banner-blocker-view-turn-on-for-site = Haluatko ottaa evästeilmoitusten eston käyttöön tällä sivustolla?
+protections-panel-cookie-banner-view-cookie-clear-warning = { -brand-short-name } poistaa tämän sivuston evästeet ja päivittää sivun. Kaikkien evästeiden poistaminen saattaa kirjata sinut ulos tai tyhjentää ostoskorit.
+protections-panel-cookie-banner-view-turn-on-description = { -brand-short-name } pyrkii automaattisesti vastaamaan kieltävästi kaikkiin evästepyyntöihin tuetuilla sivustoilla.
+protections-panel-cookie-banner-blocker-view-turn-on-description = Ota käyttöön ja { -brand-short-name } yrittää automaattisesti hylätä evästeilmoitukset tällä sivustolla.
+protections-panel-cookie-banner-view-cancel = Peruuta
+protections-panel-cookie-banner-view-turn-off = Poista käytöstä
+protections-panel-cookie-banner-view-turn-on = Ota käyttöön
+protections-panel-cookie-banner-view-cancel-label =
+ .label = Peruuta
+protections-panel-cookie-banner-view-turn-off-label =
+ .label = Poista käytöstä
+protections-panel-cookie-banner-view-turn-on-label =
+ .label = Ota käyttöön
+protections-panel-report-broken-site =
+ .label = Ilmoita rikkinäisestä sivustosta
+ .title = Ilmoita rikkinäisestä sivustosta
diff --git a/l10n-fi/browser/browser/recentlyClosed.ftl b/l10n-fi/browser/browser/recentlyClosed.ftl
new file mode 100644
index 0000000000..ccd6dcb022
--- /dev/null
+++ b/l10n-fi/browser/browser/recentlyClosed.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+
+## These strings are used in the main menu,
+## and should follow the same capitalization (title case for English).
+## Check menubar.ftl for reference.
+
+recently-closed-menu-reopen-all-tabs = Avaa uudelleen kaikki välilehdet
+recently-closed-menu-reopen-all-windows = Avaa uudelleen kaikki ikkunat
+
+## These strings are used in the app menu,
+## and should follow the same capitalization (sentence case for English).
+## Check appmenu.ftl for reference.
+
+recently-closed-panel-reopen-all-tabs = Avaa uudelleen kaikki välilehdet
+recently-closed-panel-reopen-all-windows = Avaa uudelleen kaikki ikkunat
+
+##
+
+# Variables:
+# $tabCount (Number): Number of other tabs
+# $winTitle (String): Window title
+recently-closed-undo-close-window-label =
+ { $tabCount ->
+ [0] { $winTitle }
+ [one] { $winTitle } ({ $tabCount } toinen välilehti)
+ *[other] { $winTitle } ({ $tabCount } muuta välilehteä)
+ }
diff --git a/l10n-fi/browser/browser/reportBrokenSite.ftl b/l10n-fi/browser/browser/reportBrokenSite.ftl
new file mode 100644
index 0000000000..b9e2bd323e
--- /dev/null
+++ b/l10n-fi/browser/browser/reportBrokenSite.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+report-broken-site-mainview-title = Ilmoita rikkinäisestä sivustosta
+report-broken-site-panel-header =
+ .label = Ilmoita rikkinäisestä sivustosta
+ .title = Ilmoita rikkinäisestä sivustosta
+report-broken-site-panel-intro = Auta tekemään { -brand-product-name }ista parempi kaikille. { -vendor-short-name } käyttää lähettämiäsi tietoja verkkosivustojen ongelmien korjaamiseksi
+report-broken-site-panel-url = URL-osoite
+report-broken-site-panel-reason-label = Mikä on rikki?
+report-broken-site-panel-reason-optional-label = Mikä on rikki? (valinnainen)
+report-broken-site-panel-reason-choose =
+ .label = Valitse syy
+report-broken-site-panel-reason-slow =
+ .label = Sivusto on hidas tai ei toimi
+report-broken-site-panel-reason-media =
+ .label = Kuvat tai videot
+report-broken-site-panel-reason-content =
+ .label = Painikkeet, linkit ja muu sisältö
+report-broken-site-panel-reason-account =
+ .label = Sisään- tai uloskirjautuminen
+report-broken-site-panel-reason-adblockers =
+ .label = Mainosestot
+report-broken-site-panel-reason-other =
+ .label = Jotain muuta
+report-broken-site-panel-description-label = Kuvaile ongelmaa
+report-broken-site-panel-description-optional-label = Kuvaa ongelmaa (valinnainen)
+report-broken-site-panel-send-more-info-link = Lähetä lisätietoja
+report-broken-site-panel-button-cancel =
+ .label = Peruuta
+report-broken-site-panel-button-okay =
+ .label = OK
+report-broken-site-panel-button-send =
+ .label = Lähetä
+report-broken-site-panel-unspecified = Määrittelemätön
+report-broken-site-panel-report-sent-label = Raporttisi on lähetetty
+report-broken-site-panel-report-sent-header =
+ .label = Raporttisi on lähetetty
+ .title = Raporttisi on lähetetty
+report-broken-site-panel-report-sent-text = Kiitos, että autat { -brand-product-name }ia tekemään verkosta avoimemman, helppokäyttöisemmän ja paremman kaikille.
+report-broken-site-panel-invalid-url-label = Kirjoita kelvollinen URL-osoite
+report-broken-site-panel-missing-reason-label = Valitse syy
diff --git a/l10n-fi/browser/browser/safeMode.ftl b/l10n-fi/browser/browser/safeMode.ftl
new file mode 100644
index 0000000000..e646a46f63
--- /dev/null
+++ b/l10n-fi/browser/browser/safeMode.ftl
@@ -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/.
+
+troubleshoot-mode-window =
+ .title = Avataanko { -brand-short-name } vianmääritystilassa?
+ .style = max-width: 400px
+start-troubleshoot-mode =
+ .label = Avaa
+refresh-profile =
+ .label = Palauta { -brand-short-name } uudenveroiseksi
+troubleshoot-mode-description = Käytä tätä { -brand-short-name }in erikoistilaa ongelmien diagnosointiin. Laajennukset ja mukautukset poistetaan väliaikaisesti käytöstä.
+skip-troubleshoot-refresh-profile = Voit myös ohittaa vian syyn etsimisen ja sen sijaan palauttaa { -brand-short-name } uudenveroiseksi.
+# Shown on the safe mode dialog after multiple startup crashes.
+auto-safe-mode-description = { -brand-short-name } yllättäen sulkeutui käynnistettäessä. Tämä voi johtua viallisista lisäosista tai muista syistä. Voit yrittää etsiä vian syytä vikasietotilassa.
diff --git a/l10n-fi/browser/browser/safebrowsing/blockedSite.ftl b/l10n-fi/browser/browser/safebrowsing/blockedSite.ftl
new file mode 100644
index 0000000000..a4296ceedb
--- /dev/null
+++ b/l10n-fi/browser/browser/safebrowsing/blockedSite.ftl
@@ -0,0 +1,58 @@
+# 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/.
+
+safeb-blocked-phishing-page-title = Petollinen sivusto edessä
+safeb-blocked-malware-page-title = Tälle sivustolle siirtyminen voi vahingoittaa tietokonettasi
+safeb-blocked-unwanted-page-title = Edessä olevalla sivustolla voi olla haittaohjelmia
+safeb-blocked-harmful-page-title = Edessä olevalla sivustolla voi olla haittaohjelmia
+safeb-blocked-phishing-page-short-desc = { -brand-short-name } esti tämän sivun, koska se saattaa huijata sinut tekemään jotain vaarallista, kuten asentamaan ohjelmia tai paljastamaan henkilötietoja kuten salasanoja tai luottokorttitietoja.
+safeb-blocked-malware-page-short-desc = { -brand-short-name } esti tämän sivun, koska se yritti asentaa haittaohjelmaa, joka voi varastaa tai poistaa tietokoneellasi olevia tietoja.
+safeb-blocked-unwanted-page-short-desc = { -brand-short-name } esti tämän sivun, koska se saattaa huijata sinut asentamaan ohjelmia, jotka voivat haitata verkon selaamista, esimerkiksi vaihtamalla aloitussivun tai näyttämällä ylimääräisiä mainoksia vierailemillasi sivustoilla.
+safeb-blocked-harmful-page-short-desc = { -brand-short-name } esti tämän sivun, koska se saattaa yrittää asentaa vaarallisia ohjelmia, jotka varastavat tai poistavat tietoja, esimerkiksi kuvia, salasanoja, viestejä ja luottokorttitietoja.
+safeb-palm-advisory-desc = Varoituksen antoi <a data-l10n-name='advisory_provider'>{ $advisoryname }</a>.
+safeb-palm-accept-label = Takaisin
+safeb-palm-see-details-label = Näytä yksityiskohdat
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-phishing-page-error-desc-override = Sivusto <span data-l10n-name='sitename'>{ $sitename }</span> on <a data-l10n-name='error_desc_link'>ilmoitettu petolliseksi</a>. Voit <a data-l10n-name='report_detection'>ilmoittaa tunnistusongelmasta</a> tai <a data-l10n-name='ignore_warning_link'>jättää riskin huomiotta</a> ja siirtyä turvattomalle sivustolle.
+safeb-blocked-phishing-page-error-desc-no-override = Sivusto <span data-l10n-name='sitename'>{ $sitename }</span> on <a data-l10n-name='error_desc_link'>ilmoitettu petolliseksi</a>. Voit <a data-l10n-name='report_detection'>ilmoittaa tunnistusongelmasta</a>.
+
+##
+
+safeb-blocked-phishing-page-learn-more = Lue lisää petollisista sivustoista ja verkkourkinnasta osoitteessa <a data-l10n-name='learn_more_link'>www.antiphishing.org</a>. Lue lisää { -brand-short-name }in verkkourkinnalta ja haittaohjelmilta suojauksesta osoitteessa <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-malware-page-error-desc-override-sumo = Sivuston <span data-l10n-name='sitename'>{ $sitename }</span> on <a data-l10n-name='error_desc_link'>ilmoitettu sisältävän haittaohjelmia</a>. Voit <a data-l10n-name='ignore_warning_link'>jättää riskin huomiotta</a> ja siirtyä turvattomalle sivustolle.
+safeb-blocked-malware-page-error-desc-no-override-sumo = Sivuston <span data-l10n-name='sitename'>{ $sitename }</span> on <a data-l10n-name='error_desc_link'>ilmoitettu sisältävän haittaohjelmia</a>.
+
+##
+
+safeb-blocked-malware-page-learn-more-sumo = Lue lisää { -brand-short-name }in verkkourkinnalta ja haittaohjelmilta suojauksesta <a data-l10n-name='firefox_support'>support.mozilla.orgissa</a>.
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-unwanted-page-error-desc-override = Sivustolla <span data-l10n-name='sitename'>{ $sitename }</span> on <a data-l10n-name='error_desc_link'>ilmoitettu olevan haitallisia ohjelmia</a>. Voit <a data-l10n-name='ignore_warning_link'>jättää riskin huomiotta</a> ja siirtyä turvattomalle sivustolle.
+safeb-blocked-unwanted-page-error-desc-no-override = Sivustolla <span data-l10n-name='sitename'>{ $sitename }</span> on <a data-l10n-name='error_desc_link'>ilmoitettu olevan haitallisia ohjelmia</a>.
+
+##
+
+safeb-blocked-unwanted-page-learn-more = Lue lisää haitallisista ja ei-halutuista ohjelmista (englanniksi) <a data-l10n-name='learn_more_link'>Unwanted Software Policy</a> -tekstistä. Lue lisää { -brand-short-name }in verkkourkinnalta ja haittaohjelmilta suojauksesta osoitteessa <a data-l10n-name='firefox_support'>support.mozilla.org</a>.
+
+## Variables
+## $sitename (string) - Domain name for the blocked page
+
+safeb-blocked-harmful-page-error-desc-override = Sivuston <span data-l10n-name='sitename'>{ $sitename }</span> on <a data-l10n-name='error_desc_link'>ilmoitettu sisältävän mahdollisesti haitallisen ohjelman</a>. Voit <a data-l10n-name='ignore_warning_link'>jättää riskin huomiotta</a> ja siirtyä turvattomalle sivustolle.
+safeb-blocked-harmful-page-error-desc-no-override = Sivuston <span data-l10n-name='sitename'>{ $sitename }</span> on <a data-l10n-name='error_desc_link'>ilmoitettu sisältävän mahdollisesti haitallisen ohjelman</a>.
+
+##
+
+safeb-blocked-harmful-page-learn-more = Lue lisää { -brand-short-name }in verkkourkinnalta ja haittaohjelmilta suojauksesta <a data-l10n-name='firefox_support'>support.mozilla.orgissa</a>.
+safeb-palm-notdeceptive =
+ .label = Tämä ei ole petollinen sivusto…
+ .accesskey = p
diff --git a/l10n-fi/browser/browser/sanitize.ftl b/l10n-fi/browser/browser/sanitize.ftl
new file mode 100644
index 0000000000..e421e1b3c8
--- /dev/null
+++ b/l10n-fi/browser/browser/sanitize.ftl
@@ -0,0 +1,110 @@
+# 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/.
+
+sanitize-prefs2 =
+ .title = Historiatietojen poistamisen asetukset
+ .style = min-width: 34em
+
+sanitize-prefs-style =
+ .style = width: 17em
+
+sanitize-dialog-title =
+ .title = Poista historiatietoja
+ .style = min-width: 34em
+
+# When "Time range to clear" is set to "Everything", this message is used for the
+# title instead of dialog-title.
+sanitize-dialog-title-everything =
+ .title = Poista kaikki historiatiedot
+ .style = min-width: 34em
+
+clear-data-settings-label = Kun { -brand-short-name } suljetaan, seuraavat tiedot poistetaan:
+
+## clear-time-duration-prefix is followed by a dropdown list, with
+## values localized using clear-time-duration-value-* messages.
+## clear-time-duration-suffix is left empty in English, but can be
+## used in other languages to change the structure of the message.
+##
+## This results in English:
+## Time range to clear: (Last Hour, Today, etc.)
+
+clear-time-duration-prefix =
+ .value = Poistettava aika:{ " " }
+ .accesskey = P
+
+clear-time-duration-value-last-hour =
+ .label = Viimeinen tunti
+
+clear-time-duration-value-last-2-hours =
+ .label = Viimeiset 2 tuntia
+
+clear-time-duration-value-last-4-hours =
+ .label = Viimeiset 4 tuntia
+
+clear-time-duration-value-today =
+ .label = Tämä päivä
+
+clear-time-duration-value-everything =
+ .label = Kaikki
+
+clear-time-duration-suffix =
+ .value = { "" }
+
+## These strings are used as section comments and checkboxes
+## to select the items to remove
+
+history-section-label = Historiatiedot
+
+item-history-and-downloads =
+ .label = Sivu- ja lataushistoria
+ .accesskey = S
+
+item-cookies =
+ .label = Evästeet
+ .accesskey = E
+
+item-active-logins =
+ .label = Aktiiviset kirjautumiset
+ .accesskey = k
+
+item-cache =
+ .label = Väliaikaistiedostot
+ .accesskey = V
+
+item-form-search-history =
+ .label = Lomake- ja hakuhistoria
+ .accesskey = L
+
+data-section-label = Muut tiedot
+
+item-site-settings =
+ .label = Sivuston asetukset
+ .accesskey = S
+
+item-offline-apps =
+ .label = Yhteydettömän tilan tiedot
+ .accesskey = Y
+
+sanitize-everything-undo-warning = Tätä toimintoa ei voi peruuttaa.
+
+window-close =
+ .key = w
+
+sanitize-button-ok =
+ .label = Poista tiedot
+
+# The label for the default button between the user clicking it and the window
+# closing. Indicates the items are being cleared.
+sanitize-button-clearing =
+ .label = Poistetaan
+
+# Warning that appears when "Time range to clear" is set to "Everything" in Clear
+# Recent History dialog, provided that the user has not modified the default set
+# of history items to clear.
+sanitize-everything-warning = Kaikki historiatiedot poistetaan.
+
+# Warning that appears when "Time range to clear" is set to "Everything" in Clear
+# Recent History dialog, provided that the user has modified the default set of
+# history items to clear.
+sanitize-selected-warning = Kaikki valitut tiedot poistetaan.
diff --git a/l10n-fi/browser/browser/screenshots.ftl b/l10n-fi/browser/browser/screenshots.ftl
new file mode 100644
index 0000000000..4eb0d1a189
--- /dev/null
+++ b/l10n-fi/browser/browser/screenshots.ftl
@@ -0,0 +1,60 @@
+# 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/.
+
+screenshot-toolbarbutton =
+ .label = Kuvakaappaus
+ .tooltiptext = Ota kuvakaappaus
+
+screenshot-shortcut =
+ .key = S
+
+screenshots-instructions = Valitse alue vetämällä tai napsauttamalla sivua. Peruuta painamalla ESC.
+screenshots-cancel-button = Peruuta
+screenshots-save-visible-button = Tallenna näkyvä alue
+screenshots-save-page-button = Tallenna koko sivu
+screenshots-download-button = Lataa
+screenshots-download-button-tooltip = Lataa kuvakaappaus
+screenshots-copy-button = Kopioi
+screenshots-copy-button-tooltip = Kopioi kuvakaappaus leikepöydälle
+screenshots-download-button-title =
+ .title = Lataa kuvakaappaus
+screenshots-copy-button-title =
+ .title = Kopioi kuvakaappaus leikepöydälle
+screenshots-cancel-button-title =
+ .title = Peruuta
+screenshots-retry-button-title =
+ .title = Yritä kuvakaappausta uudelleen
+
+screenshots-meta-key =
+ { PLATFORM() ->
+ [macos] ⌘
+ *[other] Ctrl
+ }
+screenshots-notification-link-copied-title = Linkki kopioitu
+screenshots-notification-link-copied-details = Linkki kuvaasi on kopioitu leikepöydälle. Voit liittää sen painamalla { screenshots-meta-key }-V.
+
+screenshots-notification-image-copied-title = Kaappaus kopioitu
+screenshots-notification-image-copied-details = Kaappauksesi on kopioitu leikepöydälle. Liitä se painamalla { screenshots-meta-key }-V.
+
+screenshots-request-error-title = Epäkunnossa.
+screenshots-request-error-details = Kuvan tallentaminen epäonnistui. Yritä myöhemmin uudestaan.
+
+screenshots-connection-error-title = Emme saa yhteyttä kuvakaappauksiisi.
+screenshots-connection-error-details = Tarkista internetyhteytesi. Jos olet yhteydessä internetiin, { -screenshots-brand-name } -palvelussa voi olla tilapäinen häiriö.
+
+screenshots-login-error-details = Emme pystyneet tallentamaan kuvaasi, koska { -screenshots-brand-name } -palvelussa on ongelma. Yritä myöhemmin uudestaan.
+
+screenshots-unshootable-page-error-title = Tästä sivusta ei voi ottaa kuvaa.
+screenshots-unshootable-page-error-details = Tämä ei ole tavallinen verkkosivu, joten et voi ottaa kuvaa siitä.
+
+screenshots-empty-selection-error-title = Valinta on liian pieni
+
+screenshots-private-window-error-title = { -screenshots-brand-name } ei ole käytettävisssä yksityisen selauksen tilassa
+screenshots-private-window-error-details = Anteeksi häiriö. Tämä ominaisuus on vielä työn alla.
+
+screenshots-generic-error-title = Oho! { -screenshots-brand-name } meni päin prinkkalaa.
+screenshots-generic-error-details = Emme oikein tiedä, mitä tapahtui. Haluatko yrittää uudestaan tai ottaa kuvan eri sivusta?
+
+screenshots-too-large-error-title = Kuvakaappaus rajattiin, koska se oli liian suuri
+screenshots-too-large-error-details = Yritä valita alue, jonka pisin sivu on pienempi kuin 32 700 pikseliä tai kokonaispinta-ala 124 900 000 pikseliä.
diff --git a/l10n-fi/browser/browser/screenshotsOverlay.ftl b/l10n-fi/browser/browser/screenshotsOverlay.ftl
new file mode 100644
index 0000000000..28d329b138
--- /dev/null
+++ b/l10n-fi/browser/browser/screenshotsOverlay.ftl
@@ -0,0 +1,14 @@
+# 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/.
+
+screenshots-overlay-cancel-button = Peruuta
+screenshots-overlay-instructions = Valitse alue vetämällä tai napsauttamalla sivua. Peruuta painamalla ESC.
+screenshots-overlay-download-button = Lataa
+screenshots-overlay-copy-button = Kopioi
+# This string represents the selection size area
+# "x" here represents "by" (i.e 123 by 456)
+# Variables:
+# $width (Number) - The width of the selection region in pixels
+# $height (Number) - The height of the selection region in pixels
+screenshots-overlay-selection-region-size = { $width } x { $height }
diff --git a/l10n-fi/browser/browser/search.ftl b/l10n-fi/browser/browser/search.ftl
new file mode 100644
index 0000000000..110c4607a2
--- /dev/null
+++ b/l10n-fi/browser/browser/search.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## These strings are used for errors when installing OpenSearch engines, e.g.
+## via "Add Search Engine" on the address bar or search bar.
+## Variables
+## $location-url (String) - the URL of the OpenSearch engine that was attempted to be installed.
+
+opensearch-error-duplicate-title = Asennusvirhe
+opensearch-error-duplicate-desc = { -brand-short-name } ei onnistunut asentamaan hakukonetta osoitteesta "{ $location-url }", koska samanniminen hakukone on jo asennettu.
+
+opensearch-error-format-title = Virheellinen muoto
+opensearch-error-format-desc = { -brand-short-name } ei voinut asentaa hakukonetta osoitteesta: { $location-url }
+
+opensearch-error-download-title = Latausvirhe
+opensearch-error-download-desc = { -brand-short-name } ei onnistunut lataamaan hakukonetta osoitteesta: { $location-url }
+
+##
+
+searchbar-submit =
+ .tooltiptext = Lähetä haku
+
+# This string is displayed in the search box when the input field is empty
+searchbar-input =
+ .placeholder = Haku
+
+searchbar-icon =
+ .tooltiptext = Haku
+
+## Infobar shown when search engine is removed and replaced.
+## Variables
+## $oldEngine (String) - the search engine to be removed.
+## $newEngine (String) - the search engine to replace the removed search engine.
+
+removed-search-engine-message = <strong>Oletushakukoneesi on muutettu.</strong> { $oldEngine } ei ole enää tarjolla oletushakukoneeksi { -brand-short-name }issa. { $newEngine } on nyt oletushakukoneesi. Voit vaihtaa toiseen oletushakukoneeseen siirtymällä asetuksiin. <label data-l10n-name="remove-search-engine-article">Lue lisää</label>
+remove-search-engine-button = OK
diff --git a/l10n-fi/browser/browser/setDesktopBackground.ftl b/l10n-fi/browser/browser/setDesktopBackground.ftl
new file mode 100644
index 0000000000..1d35811802
--- /dev/null
+++ b/l10n-fi/browser/browser/setDesktopBackground.ftl
@@ -0,0 +1,40 @@
+# 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/.
+
+set-desktop-background-window =
+ .title = Aseta työpöydän taustakuva
+
+set-desktop-background-accept =
+ .label = Aseta työpöydän taustakuva
+
+open-desktop-prefs =
+ .label = Avaa työpöydän asetukset
+
+set-background-preview-unavailable = Esikatselu ei ole saatavilla
+
+# This refers to the wallpaper "spanning" multiple monitors when the
+# user has more than one. Only some of the entire image will be on
+# each monitor. This should ideally match the wording in Windows' own
+# Desktop Background settings page.
+set-background-span =
+ .label = Levitä
+
+set-background-color = Väri:
+
+set-background-position = Sovitus:
+
+set-background-tile =
+ .label = Vierekkäin
+
+set-background-center =
+ .label = Keskitä
+
+set-background-stretch =
+ .label = Venytä
+
+set-background-fill =
+ .label = Täytä
+
+set-background-fit =
+ .label = Sovita
diff --git a/l10n-fi/browser/browser/shopping.ftl b/l10n-fi/browser/browser/shopping.ftl
new file mode 100644
index 0000000000..b60de69f4c
--- /dev/null
+++ b/l10n-fi/browser/browser/shopping.ftl
@@ -0,0 +1,173 @@
+# 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/.
+
+shopping-page-title = { -brand-product-name }-ostokset
+# Title for page showing where a user can check the
+# review quality of online shopping product reviews
+shopping-main-container-title = Arvostelun tarkistin
+shopping-beta-marker = Beeta
+# This string is for ensuring that screen reader technology
+# can read out the "Beta" part of the shopping sidebar header.
+# Any changes to shopping-main-container-title and
+# shopping-beta-marker should also be reflected here.
+shopping-a11y-header =
+ .aria-label = Arvostelujen tarkistus - beeta
+shopping-close-button =
+ .title = Sulje
+# This string is for notifying screen reader users that the
+# sidebar is still loading data.
+shopping-a11y-loading =
+ .aria-label = Ladataan…
+
+## Strings for the letter grade component.
+## For now, we only support letter grades A, B, C, D and F.
+## Letter A indicates the highest grade, and F indicates the lowest grade.
+## Letters are hardcoded and cannot be localized.
+
+shopping-letter-grade-description-ab = Luotettavat arvostelut
+shopping-letter-grade-description-c = Sekoitus luotettavia ja epäluotettavia arvosteluja
+shopping-letter-grade-description-df = Epäluotettavat arvostelut
+# This string is displayed in a tooltip that appears when the user hovers
+# over the letter grade component without a visible description.
+# It is also used for screen readers.
+# $letter (String) - The letter grade as A, B, C, D or F (hardcoded).
+# $description (String) - The localized letter grade description. See shopping-letter-grade-description-* strings above.
+shopping-letter-grade-tooltip =
+ .title = { $letter } - { $description }
+
+## Strings for the shopping message-bar
+
+shopping-message-bar-warning-stale-analysis-message-2 = Uusia tietoja tarkistettavaksi
+shopping-message-bar-warning-stale-analysis-button = Tarkista nyt
+shopping-message-bar-generic-error-title2 = Tietoja ei juuri nyt saatavilla
+shopping-message-bar-generic-error-message = Pyrimme ratkaisemaan ongelman. Tarkista tilanne pian uudelleen.
+shopping-message-bar-warning-not-enough-reviews-title = Ei vielä tarpeeksi arvosteluja
+shopping-message-bar-warning-not-enough-reviews-message2 = Kun tästä tuotteesta on enemmän arvosteluja, voimme tarkistaa niiden laadun.
+shopping-message-bar-warning-product-not-available-title = Tuote ei ole saatavilla
+shopping-message-bar-warning-product-not-available-message2 = Jos huomaat, että tämä tuote on jälleen varastossa, ilmoita siitä, niin tarkistamme arvostelut.
+shopping-message-bar-warning-product-not-available-button = Ilmoita, että tämä tuote on jälleen varastossa
+shopping-message-bar-thanks-for-reporting-title = Kiitos ilmoituksesta!
+shopping-message-bar-thanks-for-reporting-message2 = Meillä pitäisi olla tietoa tämän tuotteen arvosteluista 24 tunnin sisällä. Tarkista tilanne uudelleen.
+shopping-message-bar-warning-product-not-available-reported-title2 = Tietoa tulossa pian
+shopping-message-bar-warning-product-not-available-reported-message2 = Meillä pitäisi olla tietoa tämän tuotteen arvosteluista 24 tunnin sisällä. Tarkista tilanne uudelleen.
+shopping-message-bar-warning-product-not-available-button2 = Ilmoita, että tuoteta on varastossa
+shopping-message-bar-analysis-in-progress-title2 = Tarkistetaan arvostelun laatua
+shopping-message-bar-analysis-in-progress-message2 = Tämä voi kestää noin 60 sekuntia.
+shopping-message-bar-page-not-supported-title = Emme voi tarkistaa näitä arvosteluja
+shopping-message-bar-page-not-supported-message = Valitettavasti emme voi tarkistaa arvostelun laatua tietyntyyppisten tuotteiden osalta. Esimerkiksi lahjakortit ja suoratoistovideot, musiikki ja pelit.
+shopping-message-bar-page-not-supported =
+ .heading = Emme voi tarkistaa näitä arvosteluja
+ .message = Valitettavasti emme voi tarkistaa arvostelun laatua tietyntyyppisten tuotteiden osalta. Esimerkiksi lahjakortit ja suoratoistovideot, musiikki ja pelit.
+
+## Strings for the product review snippets card
+
+shopping-highlights-label =
+ .label = Kohokohdat viimeaikaisista arvosteluista
+shopping-highlight-price = Hinta
+shopping-highlight-quality = Laatu
+shopping-highlight-shipping = Toimitus
+shopping-highlight-competitiveness = Kilpailukyky
+shopping-highlight-packaging = Paketointi
+
+## Strings for show more card
+
+shopping-show-more-button = Näytä lisää
+shopping-show-less-button = Näytä vähemmän
+
+## Strings for the settings card
+
+shopping-settings-label =
+ .label = Asetukset
+shopping-settings-recommendations-toggle =
+ .label = Näytä mainoksia arvostelujen tarkistimessa
+shopping-settings-opt-out-button = Poista arvostelujen tarkistus käytöstä
+powered-by-fakespot = Arvostelujen tarkistuksen mahdollistaa <a data-l10n-name="fakespot-link">{ -fakespot-brand-full-name }</a>.
+
+## Strings for the adjusted rating component
+
+# "Adjusted rating" means a star rating that has been adjusted to include only
+# reliable reviews.
+shopping-adjusted-rating-label =
+ .label = Oikaistu arvosana
+shopping-adjusted-rating-unreliable-reviews = Epäluotettavat arvostelut poistettu
+
+## Strings for the review reliability component
+
+shopping-review-reliability-label =
+ .label = Kuinka luotettavia nämä arvostelut ovat?
+
+## Strings for the analysis explainer component
+
+shopping-analysis-explainer-label =
+ .label = Kuinka määritämme arvostelun laadun
+shopping-analysis-explainer-intro2 = Käytämme { -fakespot-brand-full-name }in tekoälyteknologiaa tuotearvostelujen luotettavuuden tarkistamiseen. Tämä auttaa arvioimaan vain arvostelun laatua, ei tuotteen laatua.
+shopping-analysis-explainer-grades-intro = Annamme kunkin tuotteen arvosteluille <strong>kirjainarvosanan</strong> A:sta F:ään.
+shopping-analysis-explainer-adjusted-rating-description = <strong>Oikaistu arvosana</strong> perustuu vain niihin arvosteluihin, jotka koemme luotettaviksi.
+shopping-analysis-explainer-learn-more = Lue lisää <a data-l10n-name="review-quality-url">miten { -fakespot-brand-full-name } määrittää arvostelujen laadun</a>.
+shopping-analysis-explainer-review-grading-scale-reliable = Luotettavat arvostelut. Uskomme, että arvostelut ovat todennäköisesti todellisilta asiakkailta, jotka ovat jättäneet rehellisiä, puolueettomia arvosteluja.
+shopping-analysis-explainer-review-grading-scale-mixed = Uskomme, että kyseessä on sekä luotettavia että epäluotettavia arvosteluja.
+shopping-analysis-explainer-review-grading-scale-unreliable = Epäluotettavat arvostelut. Uskomme, että arvostelut ovat todennäköisesti vääriä tai puolueellisia.
+
+## Strings for UrlBar button
+
+shopping-sidebar-open-button2 =
+ .tooltiptext = Avaa arvostelujen tarkistus
+shopping-sidebar-close-button2 =
+ .tooltiptext = Sulje arvostelujen tarkistus
+
+## Strings for the unanalyzed product card.
+## The word 'analyzer' when used here reflects what this tool is called on
+## fakespot.com. If possible, a different word should be used for the Fakespot
+## tool (the Fakespot by Mozilla 'analyzer') other than 'checker', which is
+## used in the name of the Firefox feature ('Review checker'). If that is not
+## possible - if these terms are not meaningfully different - that is OK.
+
+shopping-unanalyzed-product-header-2 = Näistä arvosteluista ei ole vielä tietoa
+shopping-unanalyzed-product-analyze-button = Tarkista arvostelun laatu
+
+## Strings for the advertisement
+
+more-to-consider-ad-label =
+ .label = Lisää harkittavaa
+ad-by-fakespot = Mainostaja { -fakespot-brand-name }
+
+## Shopping survey strings.
+
+shopping-survey-headline = Auta parantamaan { -brand-product-name }ia
+shopping-survey-question-one = Kuinka tyytyväinen olet arvostelujen tarkistuksen kokemukseen { -brand-product-name }issa?
+shopping-survey-q1-radio-1-label = Hyvin tyytyväinen
+shopping-survey-q1-radio-2-label = Tyytyväinen
+shopping-survey-q1-radio-3-label = Neutraali
+shopping-survey-q1-radio-4-label = Tyytymätön
+shopping-survey-q1-radio-5-label = Hyvin tyytymätön
+shopping-survey-question-two = Helpottaako arvostelujen tarkistus ostopäätösten tekemistä?
+shopping-survey-q2-radio-1-label = Kyllä
+shopping-survey-q2-radio-2-label = Ei
+shopping-survey-q2-radio-3-label = En tiedä
+shopping-survey-next-button-label = Seuraava
+shopping-survey-submit-button-label = Lähetä
+shopping-survey-terms-link = Käyttöehdot
+shopping-survey-thanks-message = Kiitos palautteestasi!
+shopping-survey-thanks =
+ .heading = Kiitos palautteestasi!
+
+## Shopping Feature Callout strings.
+## "price tag" refers to the price tag icon displayed in the address bar to
+## access the feature.
+
+shopping-callout-pdp-opted-in-title = Ovatko nämä arvostelut luotettavia? Ota selvää nopeasti.
+
+## Onboarding message strings.
+
+shopping-onboarding-opt-in-button = Kyllä, kokeile
+shopping-onboarding-not-now-button = Ei nyt
+shopping-onboarding-dialog-close-button =
+ .title = Sulje
+ .aria-label = Sulje
+# Aria-label to make the "steps" of the shopping onboarding container visible to screen readers.
+# Variables:
+# $current (Int) - Number of the current page
+# $total (Int) - Total number of pages
+shopping-onboarding-welcome-steps-indicator-label =
+ .aria-label = Edistyminen: vaihe { $current }/{ $total }
diff --git a/l10n-fi/browser/browser/sidebarMenu.ftl b/l10n-fi/browser/browser/sidebarMenu.ftl
new file mode 100644
index 0000000000..9db7775a2e
--- /dev/null
+++ b/l10n-fi/browser/browser/sidebarMenu.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+sidebar-menu-bookmarks =
+ .label = Kirjanmerkit
+
+sidebar-menu-history =
+ .label = Sivuhistoria
+
+sidebar-menu-synced-tabs =
+ .label = Synkronoidut välilehdet
+
+sidebar-menu-close =
+ .label = Sulje sivupaneeli
+
+sidebar-close-button =
+ .tooltiptext = Sulje sivupaneeli
diff --git a/l10n-fi/browser/browser/sitePermissions.ftl b/l10n-fi/browser/browser/sitePermissions.ftl
new file mode 100644
index 0000000000..52848bc86e
--- /dev/null
+++ b/l10n-fi/browser/browser/sitePermissions.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This string is used to display the option to open blocked popup(s) in site permission management panels.
+# Variables:
+# $count (String) - Number of blocked pop-ups
+site-permissions-open-blocked-popups =
+ { $count ->
+ [one] Avaa { $count } estetty ponnahdusikkuna…
+ *[other] Avaa { $count } estettyä ponnahdusikkunaa…
+ }
diff --git a/l10n-fi/browser/browser/siteProtections.ftl b/l10n-fi/browser/browser/siteProtections.ftl
new file mode 100644
index 0000000000..80e6aa0520
--- /dev/null
+++ b/l10n-fi/browser/browser/siteProtections.ftl
@@ -0,0 +1,100 @@
+# 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/.
+
+content-blocking-trackers-view-empty = Ei havaittu tällä sivustolla
+content-blocking-cookies-blocking-trackers-label = Sivustorajat ylittävät seurainevästeet
+content-blocking-cookies-blocking-third-party-label = Kolmannen osapuolen evästeet
+content-blocking-cookies-blocking-unvisited-label = Evästeet vierailemattomilta sivustoilta
+content-blocking-cookies-blocking-all-label = Kaikki evästeet
+content-blocking-cookies-view-first-party-label = Tältä sivustolta
+content-blocking-cookies-view-trackers-label = Sivustorajat ylittävät evästeet
+content-blocking-cookies-view-third-party-label = Kolmannen osapuolen evästeet
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Allowed"
+content-blocking-cookies-view-allowed-label =
+ .value = sallittiin
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+content-blocking-cookies-view-blocked-label =
+ .value = estettiin
+# Variables:
+# $domain (String): the domain of the site.
+content-blocking-cookies-view-remove-button =
+ .tooltiptext = Poista evästepoikkeus sivustolta { $domain }
+tracking-protection-icon-active = Estetään sosiaalisen median seuraimet, sivustorajat ylittävät evästeet ja yksilöijät.
+tracking-protection-icon-active-container =
+ .aria-label = { tracking-protection-icon-active }
+tracking-protection-icon-disabled = Tehostettu seurannan suojaus on POIS PÄÄLTÄ tällä sivustolla.
+tracking-protection-icon-disabled-container =
+ .aria-label = { tracking-protection-icon-disabled }
+tracking-protection-icon-no-trackers-detected = Tällä sivulla ei havaittu seuraimia, jotka { -brand-short-name } tuntee.
+tracking-protection-icon-no-trackers-detected-container =
+ .aria-label = { tracking-protection-icon-no-trackers-detected }
+
+## Variables:
+## $host (String): the site's hostname
+
+# Header of the Protections Panel.
+protections-header = Suojaukset sivustolle { $host }
+
+## Blocking and Not Blocking sub-views in the Protections Panel
+
+protections-blocking-fingerprinters =
+ .title = Yksilöijiä estetty
+protections-blocking-cryptominers =
+ .title = Kryptolouhijoita estetty
+protections-blocking-cookies-trackers =
+ .title = Sivustorajat ylittävät seurainevästeet estetty
+protections-blocking-cookies-third-party =
+ .title = Kolmannen osapuolen evästeet estetty
+protections-blocking-cookies-all =
+ .title = Kaikki evästeet estetty
+protections-blocking-cookies-unvisited =
+ .title = Evästeet vierailemattomilta sivustoilta estetty
+protections-blocking-tracking-content =
+ .title = Seurantaan tarkoitettu sisältö estetty
+protections-blocking-social-media-trackers =
+ .title = Sosiaalisen median seuraimia estetty
+protections-not-blocking-fingerprinters =
+ .title = Ei estetä yksilöijiä
+protections-not-blocking-cryptominers =
+ .title = Ei estetä kryptolouhijoita
+protections-not-blocking-cookies-third-party =
+ .title = Ei estetä kolmansien osapuolten evästeitä
+protections-not-blocking-cookies-all =
+ .title = Ei estetä evästeitä
+protections-not-blocking-cross-site-tracking-cookies =
+ .title = Ei estetä sivustorajoja ylittäviä seurainevästeitä
+protections-not-blocking-tracking-content =
+ .title = Ei estetä seurantaan tarkoitettua sisältöä
+protections-not-blocking-social-media-trackers =
+ .title = Ei estetä sosiaalisen median seuraimia
+
+## Footer and Milestones sections in the Protections Panel
+## Variables:
+## $trackerCount (Number): number of trackers blocked
+## $date (Date): the date on which we started counting
+
+# This text indicates the total number of trackers blocked on all sites.
+# In its tooltip, we show the date when we started counting this number.
+protections-footer-blocked-tracker-counter =
+ { $trackerCount ->
+ [one] 1 estetty
+ *[other] { $trackerCount } estetty
+ }
+ .tooltiptext = { DATETIME($date, year: "numeric", month: "long", day: "numeric") } alkaen
+# This text indicates the total number of trackers blocked on all sites.
+# It should be the same as protections-footer-blocked-tracker-counter;
+# this message is used to leave out the tooltip when the date is not available.
+protections-footer-blocked-tracker-counter-no-tooltip =
+ { $trackerCount ->
+ [one] 1 estetty
+ *[other] { $trackerCount } estetty
+ }
+# In English this looks like "Firefox blocked over 10,000 trackers since October 2019"
+protections-milestone =
+ { $trackerCount ->
+ [one] { -brand-short-name } esti { $trackerCount } seuraimen { DATETIME($date, year: "numeric", month: "long") } lähtien
+ *[other] { -brand-short-name } esti yli { $trackerCount } seurainta { DATETIME($date, year: "numeric", month: "long") } lähtien
+ }
diff --git a/l10n-fi/browser/browser/speechDispatcher.ftl b/l10n-fi/browser/browser/speechDispatcher.ftl
new file mode 100644
index 0000000000..4c794ccd19
--- /dev/null
+++ b/l10n-fi/browser/browser/speechDispatcher.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Speech Dispatches is the name of a speech synthesis tool and shouldn’t be
+### localized (https://freebsoft.org/speechd).
+
+speech-dispatcher-lib-missing = Et voi käyttää puhesynteesiä, koska Speech Dispatcher -kirjasto puuttuu.
+speech-dispatcher-lib-too-old = Et voi käyttää puhesynteesiä, koska Speech Dispatcher on päivitettävä.
+speech-dispatcher-missing-symbol = Et voi käyttää puhesynteesiä, koska Speech Dispatcher -kirjasto on rikki.
+speech-dispatcher-open-fail = Et voi käyttää puhesynteesiä, koska Speech Dispatcher ei avaudu.
+speech-dispatcher-no-voices = Et voi käyttää puhesynteesiä, koska äänet eivät ole saatavilla Speech Dispatcherissa.
+speech-dispatcher-dismiss-button =
+ .label = Älä kysy uudestaan
+ .accesskey = Ä
diff --git a/l10n-fi/browser/browser/spotlight.ftl b/l10n-fi/browser/browser/spotlight.ftl
new file mode 100644
index 0000000000..c4c7138ff3
--- /dev/null
+++ b/l10n-fi/browser/browser/spotlight.ftl
@@ -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/.
+
+# Dialog close button
+spotlight-dialog-close-button =
+ .title = Sulje
+ .aria-label = Sulje
+
+## Mobile download button strings
+
+spotlight-android-marketplace-button =
+ .title = Lataa Google Playsta
+spotlight-ios-marketplace-button =
+ .title = Lataa App Storesta
+
+## Firefox Focus promo message strings
+
+spotlight-focus-promo-title = Hanki { -focus-brand-name }
+spotlight-focus-promo-subtitle = Skannaa QR-koodi ladataksesi.
+spotlight-focus-promo-qr-code =
+ .alt = Skannaa QR-koodi saadaksesi { -focus-brand-name }
diff --git a/l10n-fi/browser/browser/sync.ftl b/l10n-fi/browser/browser/sync.ftl
new file mode 100644
index 0000000000..51b6ed0645
--- /dev/null
+++ b/l10n-fi/browser/browser/sync.ftl
@@ -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/.
+
+fxa-toolbar-sync-syncing2 = Synkronoidaan…
+sync-disconnect-dialog-title2 = Katkaistaanko yhteys?
+sync-disconnect-dialog-body = { -brand-product-name } ei enää synkronoi tietoja tilille, mutta mitään tämän laitteen selaustietoja ei poisteta.
+sync-disconnect-dialog-button = Katkaise yhteys
+fxa-signout-dialog2-title = Kirjaudutaanko ulos { -fxaccount-brand-name(case: "ablative") }?
+fxa-signout-dialog-title2 = Haluatko kirjautua ulos tililtäsi?
+fxa-signout-dialog-body = Synkronoidut tiedot säilyvät tililläsi.
+fxa-signout-dialog2-button = Kirjaudu ulos
+fxa-signout-dialog2-checkbox = Poista tiedot tältä laitteelta (salasanat, historia, kirjanmerkit jne.)
+fxa-menu-sync-settings =
+ .label = Synkronointiasetukset
+fxa-menu-turn-on-sync =
+ .value = Ota synkronointi käyttöön
+fxa-menu-turn-on-sync-default = Ota synkronointi käyttöön
+fxa-menu-connect-another-device =
+ .label = Yhdistä toiseen laitteeseen…
+# Variables:
+# $tabCount (Number): The number of tabs sent to the device.
+fxa-menu-send-tab-to-device =
+ .label =
+ { $tabCount ->
+ [one] Lähetä välilehti laitteeseen
+ *[other] Lähetä { $tabCount } välilehteä laitteeseen
+ }
+# This is shown dynamically within "Send tab to device" in fxa menu.
+fxa-menu-send-tab-to-device-syncnotready =
+ .label = Synkronoidaan laitteita…
+# This is shown within "Send tab to device" in fxa menu if account is not configured.
+fxa-menu-send-tab-to-device-description = Lähetä välilehti välittömästi mille tahansa laitteelle, johon olet kirjautuneena.
+fxa-menu-sign-out =
+ .label = Kirjaudu ulos…
diff --git a/l10n-fi/browser/browser/syncedTabs.ftl b/l10n-fi/browser/browser/syncedTabs.ftl
new file mode 100644
index 0000000000..5ee8a2086c
--- /dev/null
+++ b/l10n-fi/browser/browser/syncedTabs.ftl
@@ -0,0 +1,61 @@
+# 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/.
+
+synced-tabs-sidebar-title = Synkronoidut välilehdet
+synced-tabs-sidebar-noclients-subtitle = Haluatko nähdä muiden laitteiden välilehdet tässä?
+synced-tabs-sidebar-intro = Näytä lista välilehdistä muilta laitteiltasi.
+synced-tabs-sidebar-unverified = Tilisi tarvitsee vahvistaa.
+synced-tabs-sidebar-notabs = Ei avoimia välilehtiä
+synced-tabs-sidebar-open-settings = Avaa synkronointiasetukset
+synced-tabs-sidebar-tabsnotsyncing = Ota välilehtien synkronointi käyttöön, jotta voit katsella listaa muiden laitteidesi välilehdistä.
+synced-tabs-sidebar-connect-another-device = Yhdistä toinen laite
+synced-tabs-sidebar-search =
+ .placeholder = Etsi synkronoiduista välilehdistä
+
+## Displayed in the Synced Tabs sidebar's context menu when right-clicking tabs
+## and/or devices in the list. The "Open" strings below should be translated
+## consistently with the equivalent strings for the bookmarks manager's context
+## menu. That menu is activated by right-clicking a bookmark in the Library
+## window. The bookmarks manager context's strings are located in places.ftl.
+
+synced-tabs-context-open =
+ .label = Avaa
+ .accesskey = A
+synced-tabs-context-open-in-tab =
+ .label = Avaa uuteen välilehteen
+ .accesskey = v
+synced-tabs-context-open-in-container-tab =
+ .label = Avaa uuteen eristettyyn välilehteen
+ .accesskey = i
+synced-tabs-context-open-in-window =
+ .label = Avaa uuteen ikkunaan
+ .accesskey = N
+synced-tabs-context-open-in-private-window =
+ .label = Avaa uuteen yksityiseen ikkunaan
+ .accesskey = y
+
+##
+
+# Displayed in the Synced Tabs sidebar's context menu when right-clicking tabs
+# and/or devices in the list. This string is for a menuitem equivalent to one in
+# the tab context menu (activated by right-clicking a tab in the tabstrip). That
+# string is located in tabContextMenu.ftl. So, this string should be translated
+# consistently with the "Bookmark Tab…" string there.
+synced-tabs-context-bookmark =
+ .label = Lisää välilehti kirjanmerkkeihin…
+ .accesskey = L
+synced-tabs-context-copy =
+ .label = Kopioi
+ .accesskey = K
+synced-tabs-context-open-all-in-tabs =
+ .label = Avaa kaikki välilehtiin
+ .accesskey = A
+synced-tabs-context-manage-devices =
+ .label = Hallitse laitteita…
+ .accesskey = H
+synced-tabs-context-sync-now =
+ .label = Synkronoi
+ .accesskey = S
+synced-tabs-fxa-sign-in = Kirjaudu synkronoidaksesi
+synced-tabs-turn-on-sync = Ota synkronointi käyttöön
diff --git a/l10n-fi/browser/browser/tabContextMenu.ftl b/l10n-fi/browser/browser/tabContextMenu.ftl
new file mode 100644
index 0000000000..d39dcc4c42
--- /dev/null
+++ b/l10n-fi/browser/browser/tabContextMenu.ftl
@@ -0,0 +1,110 @@
+# 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/.
+
+tab-context-new-tab =
+ .label = Uusi välilehti
+ .accesskey = U
+reload-tab =
+ .label = Päivitä välilehti
+ .accesskey = P
+select-all-tabs =
+ .label = Valitse kaikki välilehdet
+ .accesskey = a
+tab-context-play-tab =
+ .label = Toista välilehden äänet
+ .accesskey = T
+tab-context-play-tabs =
+ .label = Toista välilehtien äänet
+ .accesskey = t
+duplicate-tab =
+ .label = Monista välilehti
+ .accesskey = n
+duplicate-tabs =
+ .label = Monista välilehdet
+ .accesskey = n
+# The following string is displayed on a menuitem that will close the tabs from the start of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
+# In left-to-right languages this should use "Left" and in right-to-left languages this should use "Right".
+close-tabs-to-the-start =
+ .label = Sulje välilehdet vasemmalla
+ .accesskey = v
+# The following string is displayed on a menuitem that will close the tabs from the end of the tabstrip to the currently targeted tab (excluding the currently targeted and any other selected tabs).
+# In left-to-right languages this should use "Right" and in right-to-left languages this should use "Left".
+close-tabs-to-the-end =
+ .label = Sulje välilehdet oikealla
+ .accesskey = o
+close-other-tabs =
+ .label = Sulje muut välilehdet
+ .accesskey = m
+reload-tabs =
+ .label = Päivitä välilehdet
+ .accesskey = P
+pin-tab =
+ .label = Kiinnitä välilehti
+ .accesskey = K
+unpin-tab =
+ .label = Irrota välilehti
+ .accesskey = I
+pin-selected-tabs =
+ .label = Kiinnitä välilehdet
+ .accesskey = K
+unpin-selected-tabs =
+ .label = Irrota välilehdet
+ .accesskey = I
+bookmark-selected-tabs =
+ .label = Lisää välilehdet kirjanmerkkeihin…
+ .accesskey = h
+tab-context-bookmark-tab =
+ .label = Lisää välilehti kirjanmerkkeihin…
+ .accesskey = L
+tab-context-open-in-new-container-tab =
+ .label = Avaa uuteen eristettyyn välilehteen
+ .accesskey = e
+move-to-start =
+ .label = Siirrä alkuun
+ .accesskey = a
+move-to-end =
+ .label = Siirrä loppuun
+ .accesskey = l
+move-to-new-window =
+ .label = Siirrä uuteen ikkunaan
+ .accesskey = S
+tab-context-close-multiple-tabs =
+ .label = Sulje useita välilehtiä
+ .accesskey = t
+tab-context-share-url =
+ .label = Jaa
+ .accesskey = J
+
+## Variables:
+## $tabCount (Number): the number of tabs that are affected by the action.
+
+tab-context-reopen-closed-tabs =
+ .label =
+ { $tabCount ->
+ [1] Avaa uudelleen suljettu välilehti
+ *[other] Avaa uudelleen suljetut välilehdet
+ }
+ .accesskey = d
+tab-context-close-n-tabs =
+ .label =
+ { $tabCount ->
+ [1] Sulje välilehti
+ *[other] Sulje { $tabCount } välilehteä
+ }
+ .accesskey = S
+tab-context-move-tabs =
+ .label =
+ { $tabCount ->
+ [1] Siirrä välilehti
+ *[other] Siirrä välilehdet
+ }
+ .accesskey = r
+
+tab-context-send-tabs-to-device =
+ .label =
+ { $tabCount ->
+ [one] Lähetä välilehti laitteeseen
+ *[other] Lähetä { $tabCount } välilehteä laitteeseen
+ }
+ .accesskey = L
diff --git a/l10n-fi/browser/browser/tabbrowser.ftl b/l10n-fi/browser/browser/tabbrowser.ftl
new file mode 100644
index 0000000000..c1db5279ad
--- /dev/null
+++ b/l10n-fi/browser/browser/tabbrowser.ftl
@@ -0,0 +1,160 @@
+# 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/.
+
+tabbrowser-empty-tab-title = Uusi välilehti
+tabbrowser-empty-private-tab-title = Uusi yksityinen välilehti
+
+tabbrowser-menuitem-close-tab =
+ .label = Sulje välilehti
+tabbrowser-menuitem-close =
+ .label = Sulje
+
+# Displayed as a tooltip on container tabs
+# Variables:
+# $title (String): the title of the current tab.
+# $containerName (String): the name of the current container.
+tabbrowser-container-tab-title = { $title } — { $containerName }
+
+# Variables:
+# $tabCount (Number): The number of tabs that will be closed.
+tabbrowser-close-tabs-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Sulje välilehti
+ *[other] Sulje { $tabCount } välilehteä
+ }
+
+## Tooltips for tab audio control
+## Variables:
+## $tabCount (Number): The number of tabs that will be affected.
+
+# Variables:
+# $shortcut (String): The keyboard shortcut for "Mute tab".
+tabbrowser-mute-tab-audio-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Vaimenna välilehti ({ $shortcut })
+ *[other] Vaimenna { $tabCount } välilehteä ({ $shortcut })
+ }
+# Variables:
+# $shortcut (String): The keyboard shortcut for "Unmute tab".
+tabbrowser-unmute-tab-audio-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Palauta ääni välilehteen ({ $shortcut })
+ *[other] Palauta ääni { $tabCount } välilehteen ({ $shortcut })
+ }
+tabbrowser-mute-tab-audio-background-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Vaimenna välilehti
+ *[other] Vaimenna { $tabCount } välilehteä
+ }
+tabbrowser-unmute-tab-audio-background-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Palauta ääni välilehteen
+ *[other] Palauta ääni { $tabCount } välilehteen
+ }
+tabbrowser-unblock-tab-audio-tooltip =
+ .label =
+ { $tabCount ->
+ [one] Toista välilehden äänet
+ *[other] Toista { $tabCount } välilehden äänet
+ }
+
+## Confirmation dialog when closing a window with more than one tab open,
+## or when quitting when only one window is open.
+
+# The singular form is not considered since this string is used only for multiple tabs.
+# Variables:
+# $tabCount (Number): The number of tabs that will be closed.
+tabbrowser-confirm-close-tabs-title = Suljetaanko { $tabCount } välilehteä?
+tabbrowser-confirm-close-tabs-button = Sulje välilehdet
+tabbrowser-confirm-close-tabs-checkbox = Vahvista ennen kuin useat välilehdet suljetaan
+
+## Confirmation dialog when quitting using the menu and multiple windows are open.
+
+# The forms for 0 or 1 items are not considered since this string is used only for
+# multiple windows.
+# Variables:
+# $windowCount (Number): The number of windows that will be closed.
+tabbrowser-confirm-close-windows-title = Suljetaanko { $windowCount } ikkunaa?
+tabbrowser-confirm-close-windows-button =
+ { PLATFORM() ->
+ [windows] Sulje ja poistu
+ *[other] Sulje ja lopeta
+ }
+
+## Confirmation dialog when quitting using the keyboard shortcut (Ctrl/Cmd+Q)
+## Windows does not show a prompt on quit when using the keyboard shortcut by default.
+
+tabbrowser-confirm-close-tabs-with-key-title = Suljetaanko ikkuna ja lopetetaanko { -brand-short-name }?
+tabbrowser-confirm-close-tabs-with-key-button = Lopeta { -brand-short-name }
+# Variables:
+# $quitKey (String): the text of the keyboard shortcut for quitting.
+tabbrowser-confirm-close-tabs-with-key-checkbox = Vahvista ennen pikanäppäimellä { $quitKey } lopettamista
+
+## Confirmation dialog when opening multiple tabs simultaneously
+
+tabbrowser-confirm-open-multiple-tabs-title = Vahvista avaaminen
+# Variables:
+# $tabCount (Number): The number of tabs that will be opened.
+tabbrowser-confirm-open-multiple-tabs-message =
+ { $tabCount ->
+ *[other] Yrität avata { $tabCount } välilehteä samanaikaisesti. { -brand-short-name }in toiminta voi hidastua välilehtien latautumisen ajaksi. Avataanko välilehdet?
+ }
+tabbrowser-confirm-open-multiple-tabs-button = Avaa välilehdet
+tabbrowser-confirm-open-multiple-tabs-checkbox = Varoita, kun usean välilehden avaaminen voi hidastaa { -brand-short-name }in toimintaa
+
+## Confirmation dialog for enabling caret browsing
+
+tabbrowser-confirm-caretbrowsing-title = Selaus kohdistimella
+tabbrowser-confirm-caretbrowsing-message = F7-näppäimellä voit ottaa käyttöön tai poistaa käytöstä selauksen kohdistimella. Tämän toiminnon ollessa päällä verkkosivulla on liikuteltava kohdistin, jonka avulla voit näppäimistöllä valita tekstiä sivulta. Selataanko kohdistimella?
+tabbrowser-confirm-caretbrowsing-checkbox = Älä näytä tätä ikkunaa uudestaan.
+
+##
+
+# Variables:
+# $domain (String): URL of the page that is trying to steal focus.
+tabbrowser-allow-dialogs-to-get-focus =
+ .label = Salli, että tällaiset ilmoitukset sivustolta { $domain } vievät sinut heidän välilehteen
+
+tabbrowser-customizemode-tab-title = Muokkaa { -brand-short-name }-selainta
+
+## Context menu buttons, of which only one will be visible at a time
+
+tabbrowser-context-mute-tab =
+ .label = Vaimenna välilehti
+ .accesskey = V
+tabbrowser-context-unmute-tab =
+ .label = Palauta ääni
+ .accesskey = ä
+# The accesskey should match the accesskey for tabbrowser-context-mute-tab
+tabbrowser-context-mute-selected-tabs =
+ .label = Vaimenna välilehdet
+ .accesskey = V
+# The accesskey should match the accesskey for tabbrowser-context-unmute-tab
+tabbrowser-context-unmute-selected-tabs =
+ .label = Palauta ääni välilehtiin
+ .accesskey = ä
+
+# This string is used as an additional tooltip and accessibility description for tabs playing audio
+tabbrowser-tab-audio-playing-description = Toistaa ääntä
+
+## Ctrl-Tab dialog
+
+# Variables:
+# $tabCount (Number): The number of tabs in the current browser window. It will always be 2 at least.
+tabbrowser-ctrl-tab-list-all-tabs =
+ .label = Näytä kaikki { $tabCount } välilehteä
+
+## Tab manager menu buttons
+
+tabbrowser-manager-mute-tab =
+ .tooltiptext = Vaimenna välilehti
+tabbrowser-manager-unmute-tab =
+ .tooltiptext = Palauta ääni
+tabbrowser-manager-close-tab =
+ .tooltiptext = Sulje välilehti
diff --git a/l10n-fi/browser/browser/textRecognition.ftl b/l10n-fi/browser/browser/textRecognition.ftl
new file mode 100644
index 0000000000..ce3ea39bf6
--- /dev/null
+++ b/l10n-fi/browser/browser/textRecognition.ftl
@@ -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/.
+
+
+## Text recognition works through a modal that presents the text that is found
+## in an image, and copies the results to the clipboard.
+
+text-recognition-modal-searching-title = Haetaan tekstiä kuvasta…
+text-recognition-modal-results-title = Teksti kopioitu kuvasta
+text-recognition-modal-no-results-title = Valitettavasti kuvasta ei voitu poimia tekstiä. Kokeile toista kuvaa. <a data-l10n-name="error-link">Lisätietoja</a>.
+text-recognition-modal-close-button = Sulje
+
+# The title of the the modal is only available to screen readers.
+text-recognition-modal-accessible-modal-title = Tulokset tekstin poimimiselle
diff --git a/l10n-fi/browser/browser/toolbarContextMenu.ftl b/l10n-fi/browser/browser/toolbarContextMenu.ftl
new file mode 100644
index 0000000000..d4a780e373
--- /dev/null
+++ b/l10n-fi/browser/browser/toolbarContextMenu.ftl
@@ -0,0 +1,88 @@
+# 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/.
+
+toolbar-context-menu-new-tab =
+ .label = Uusi välilehti
+ .accesskey = U
+toolbar-context-menu-reload-selected-tab =
+ .label = Päivitä valittu välilehti
+ .accesskey = P
+toolbar-context-menu-reload-selected-tabs =
+ .label = Päivitä valitut välilehdet
+ .accesskey = P
+toolbar-context-menu-bookmark-selected-tab =
+ .label = Lisää valittu välilehti kirjanmerkkeihin…
+ .accesskey = i
+toolbar-context-menu-bookmark-selected-tabs =
+ .label = Lisää valitut välilehdet kirjanmerkkeihin…
+ .accesskey = i
+toolbar-context-menu-select-all-tabs =
+ .label = Valitse kaikki välilehdet
+ .accesskey = a
+toolbar-context-menu-reopen-closed-tabs =
+ .label =
+ { $tabCount ->
+ [1] Avaa uudelleen suljettu välilehti
+ *[other] Avaa uudelleen suljetut välilehdet
+ }
+ .accesskey = d
+
+toolbar-context-menu-manage-extension =
+ .label = Hallitse laajennusta
+ .accesskey = a
+toolbar-context-menu-remove-extension =
+ .label = Poista laajennus
+ .accesskey = o
+
+# This label is used in the extensions toolbar buttons context menus,
+# a user can use this command to submit to Mozilla an abuse report
+# related to that extension. "Report" is a verb.
+toolbar-context-menu-report-extension =
+ .label = Raportoi laajennus
+ .accesskey = R
+
+# Can appear on the same context menu as toolbar-context-menu-menu-bar-cmd
+# ("Menu Bar") and personalbarCmd ("Bookmarks Toolbar"), so they should
+# have different access keys.
+toolbar-context-menu-pin-to-overflow-menu =
+ .label = Kiinnitä ylivuotovalikkoon
+ .accesskey = y
+toolbar-context-menu-auto-hide-downloads-button-2 =
+ .label = Piilota painike, kun latauslista on tyhjä
+ .accesskey = i
+toolbar-context-menu-always-open-downloads-panel =
+ .label = Näytä paneeli, kun lataus alkaa
+ .accesskey = ä
+toolbar-context-menu-remove-from-toolbar =
+ .label = Poista työkalupalkista
+ .accesskey = P
+toolbar-context-menu-view-customize-toolbar =
+ .label = Muokkaa…
+ .accesskey = M
+toolbar-context-menu-view-customize-toolbar-2 =
+ .label = Muokkaa työkalupalkkia…
+ .accesskey = M
+# This is only ever shown when toolbar-context-menu-pin-to-overflow-menu
+# is hidden, so they can share access keys.
+toolbar-context-menu-pin-to-toolbar =
+ .label = Kiinnitä työkalupalkkiin
+ .accesskey = p
+
+toolbar-context-menu-bookmarks-toolbar-always-show-2 =
+ .label = Näytä aina
+ .accesskey = N
+toolbar-context-menu-bookmarks-toolbar-never-show-2 =
+ .label = Älä näytä koskaan
+ .accesskey = Ä
+toolbar-context-menu-bookmarks-toolbar-on-new-tab-2 =
+ .label = Näytä vain uudessa välilehdessä
+ .accesskey = v
+
+toolbar-context-menu-bookmarks-show-other-bookmarks =
+ .label = Näytä muut kirjanmerkit
+ .accesskey = N
+
+toolbar-context-menu-menu-bar-cmd =
+ .toolbarname = Valikkopalkki
+ .accesskey = V
diff --git a/l10n-fi/browser/browser/touchbar/touchbar.ftl b/l10n-fi/browser/browser/touchbar/touchbar.ftl
new file mode 100644
index 0000000000..6b99e6a0bf
--- /dev/null
+++ b/l10n-fi/browser/browser/touchbar/touchbar.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Strings in this file are used to localize button titles displayed on the
+# MacBook Touch Bar.
+back = Eteen
+forward = Taakse
+reload = Päivitä
+home = Aloitussivu
+fullscreen = Koko näyttö
+touchbar-fullscreen-exit = Poistu koko näytöstä
+find = Etsi
+new-tab = Uusi välilehti
+add-bookmark = Lisää kirjanmerkki
+reader-view = Lukunäkymä
+# Meant to match the string displayed in an empty URL bar.
+open-location = Kirjoita osoite tai hakusana
+share = Jaa
+close-window = Sulje ikkuna
+open-sidebar = Sivupaneelit
+
+# This string describes shortcuts for search.
+search-popover = Hakuoikotiet
+# Describes searches limited to a specific scope
+# (e.g. searching only in history).
+search-search-in = Hae:
+
+## Various categories of shortcuts for search.
+
+search-bookmarks = Kirjanmerkit
+search-history = Historia
+search-opentabs = Avoimet välilehdet
+search-tags = Tunnisteet
+search-titles = Otsikot
+
+##
+
diff --git a/l10n-fi/browser/browser/translations.ftl b/l10n-fi/browser/browser/translations.ftl
new file mode 100644
index 0000000000..becbda7716
--- /dev/null
+++ b/l10n-fi/browser/browser/translations.ftl
@@ -0,0 +1,167 @@
+# 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/.
+
+# The button for "Firefox Translations" in the url bar.
+urlbar-translations-button =
+ .tooltiptext = Käännä sivu
+# The button for "Firefox Translations" in the url bar. Note that here "Beta" should
+# not be translated, as it is a reflection of the un-localized BETA icon that is in the
+# panel.
+urlbar-translations-button2 =
+ .tooltiptext = Käännä tämä sivu - Beeta
+# Note that here "Beta" should not be translated, as it is a reflection of the
+# un-localized BETA icon that is in the panel.
+urlbar-translations-button-intro =
+ .tooltiptext = Kokeile yksityisiä käännöksiä { -brand-shorter-name }issa - Beeta
+# If your language requires declining the language name, a possible solution
+# is to adapt the structure of the phrase, or use a support noun, e.g.
+# `Page translated from: { $fromLanguage }. Current target language: { $toLanguage }`
+#
+# Variables:
+# $fromLanguage (string) - The original language of the document.
+# $toLanguage (string) - The target language of the translation.
+urlbar-translations-button-translated =
+ .tooltiptext = Sivu käännetty kielestä { $fromLanguage } kielelle { $toLanguage }
+urlbar-translations-button-loading =
+ .tooltiptext = Käännös käynnissä
+translations-panel-settings-button =
+ .aria-label = Hallitse käännösasetuksia
+
+## Options in the Firefox Translations settings.
+
+translations-panel-settings-manage-languages =
+ .label = Hallitse kieliä
+translations-panel-settings-about = Tietoja käännöksistä { -brand-shorter-name }issa
+translations-panel-settings-about2 =
+ .label = Tietoja käännöksistä { -brand-shorter-name }issa
+# Text displayed for the option to always translate a given language
+# Variables:
+# $language (string) - The localized display name of the detected language
+translations-panel-settings-always-translate-language =
+ .label = Käännä { $language } aina
+translations-panel-settings-always-translate-unknown-language =
+ .label = Käännä tämä kieli aina
+translations-panel-settings-always-offer-translation =
+ .label = Tarjoa aina käännöstä
+# Text displayed for the option to never translate a given language
+# Variables:
+# $language (string) - The localized display name of the detected language
+translations-panel-settings-never-translate-language =
+ .label = Älä käännä kieltä { $language } koskaan
+translations-panel-settings-never-translate-unknown-language =
+ .label = Älä käännä tätä kieltä koskaan
+# Text displayed for the option to never translate this website
+translations-panel-settings-never-translate-site =
+ .label = Älä käännä tätä sivustoa koskaan
+
+## The translation panel appears from the url bar, and this view is the default
+## translation view.
+
+translations-panel-header = Käännetäänkö sivu?
+translations-panel-translate-button =
+ .label = Käännä
+translations-panel-translate-button-loading =
+ .label = Odota…
+translations-panel-translate-cancel =
+ .label = Peruuta
+translations-panel-learn-more-link = Lue lisää
+translations-panel-intro-header = Kokeile yksityisiä käännöksiä { -brand-shorter-name }issa
+translations-panel-intro-description = Yksityisyytesi vuoksi käännökset eivät koskaan lähde laitteestasi eteenpäin. Uusia kieliä ja parannuksia tulossa pian!
+translations-panel-error-translating = Käännettäessä ilmeni ongelma. Yritä uudelleen.
+translations-panel-error-load-languages = Kielten lataus epäonnistui
+translations-panel-error-load-languages-hint = Tarkista Internet-yhteytesi ja yritä uudelleen.
+translations-panel-error-load-languages-hint-button =
+ .label = Yritä uudelleen
+translations-panel-error-unsupported = Käännöstoiminto ei ole käytettävissä tällä sivulla
+translations-panel-error-dismiss-button =
+ .label = Selvä
+translations-panel-error-change-button =
+ .label = Vaihda lähdekieltä
+# If your language requires declining the language name, a possible solution
+# is to adapt the structure of the phrase, or use a support noun, e.g.
+# `Sorry, we don't support the language yet: { $language }
+#
+# Variables:
+# $language (string) - The language of the document.
+translations-panel-error-unsupported-hint-known = Kieltä { $language } ei valitettavasti tueta vielä.
+translations-panel-error-unsupported-hint-unknown = Tätä kieltä ei valitettavasti tueta vielä.
+
+## Each label is followed, on a new line, by a dropdown list of language names.
+## If this structure is problematic for your locale, an alternative way is to
+## translate them as `Source language:` and `Target language:`
+
+translations-panel-from-label = Käännä kieleltä
+translations-panel-to-label = Käännä kielelle
+
+## The translation panel appears from the url bar, and this view is the "restore" view
+## that lets a user restore a page to the original language, or translate into another
+## language.
+
+# If your language requires declining the language name, a possible solution
+# is to adapt the structure of the phrase, or use a support noun, e.g.
+# `The page is translated from: { $fromLanguage }. Current target language: { $toLanguage }`
+#
+# Variables:
+# $fromLanguage (string) - The original language of the document.
+# $toLanguage (string) - The target language of the translation.
+translations-panel-revisit-header = Tämä sivu on käännetty kieleltä { $fromLanguage } kielelle { $toLanguage }
+translations-panel-choose-language =
+ .label = Valitse kieli
+translations-panel-restore-button =
+ .label = Näytä alkuperäinen
+
+## Firefox Translations language management in about:preferences.
+
+translations-manage-header = Käännökset
+translations-manage-settings-button =
+ .label = Asetukset…
+ .accesskey = t
+translations-manage-description = Lataa kieliä yhteydettömän tilan käännöksiä varten.
+translations-manage-all-language = Kaikki kielet
+translations-manage-download-button = Lataa
+translations-manage-delete-button = Poista
+translations-manage-error-download = Kielitiedostoja ladattaessa ilmeni ongelma. Yritä uudelleen.
+translations-manage-error-delete = Kielitiedostoja poistettaessa tapahtui virhe. Yritä uudelleen.
+translations-manage-intro = Aseta kieli- ja sivustokäännösasetukset ja hallitse yhteydettömän tilan käännöksiä varten asennettuja kieliä.
+translations-manage-install-description = Lataa kieliä yhteydettömän tilan käännöksiä varten
+translations-manage-language-install-button =
+ .label = Asenna
+translations-manage-language-install-all-button =
+ .label = Asenna kaikki
+ .accesskey = A
+translations-manage-language-remove-button =
+ .label = Poista
+translations-manage-language-remove-all-button =
+ .label = Poista kaikki
+ .accesskey = P
+translations-manage-error-install = Kielitiedostoja asentaessa ilmeni ongelma. Yritä uudelleen.
+translations-manage-error-remove = Kielitiedostoja poistaessa tapahtui virhe. Yritä uudelleen.
+translations-manage-error-list = Käännettävissä olevien kielten listan nouto epäonnistui. Päivitä sivu yrittääksesi uudelleen.
+translations-settings-title =
+ .title = Käännösasetukset
+ .style = min-width: 36em
+translations-settings-close-key =
+ .key = w
+translations-settings-always-translate-langs-description = Seuraavat kielet käännetään automaattisesti
+translations-settings-never-translate-langs-description = Käännöstä ei tarjota seuraaville kielille
+translations-settings-never-translate-sites-description = Käännöstä ei tarjota seuraaville sivustoille
+translations-settings-languages-column =
+ .label = Kielet
+translations-settings-remove-language-button =
+ .label = Poista kieli
+ .accesskey = P
+translations-settings-remove-all-languages-button =
+ .label = Poista kaikki kielet
+ .accesskey = e
+translations-settings-sites-column =
+ .label = Verkkosivustot
+translations-settings-remove-site-button =
+ .label = Poista sivusto
+ .accesskey = s
+translations-settings-remove-all-sites-button =
+ .label = Poista kaikki sivustot
+ .accesskey = i
+translations-settings-close-dialog =
+ .buttonlabelaccept = Sulje
+ .buttonaccesskeyaccept = u
diff --git a/l10n-fi/browser/browser/unifiedExtensions.ftl b/l10n-fi/browser/browser/unifiedExtensions.ftl
new file mode 100644
index 0000000000..c65b374c2e
--- /dev/null
+++ b/l10n-fi/browser/browser/unifiedExtensions.ftl
@@ -0,0 +1,50 @@
+# 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/.
+
+
+### These strings appear in the Unified Extensions panel.
+
+
+## Panel
+
+unified-extensions-header-title = Laajennukset
+unified-extensions-manage-extensions =
+ .label = Hallitse laajennuksia
+
+## An extension in the main list
+
+# Each extension in the unified extensions panel (list) has a secondary button
+# to open a context menu. This string is used for each of these buttons.
+# Variables:
+# $extensionName (String) - Name of the extension
+unified-extensions-item-open-menu =
+ .aria-label = Avaa laajennuksen { $extensionName } valikko
+unified-extensions-item-message-manage = Hallitse laajennusta
+
+## Extension's context menu
+
+unified-extensions-context-menu-pin-to-toolbar =
+ .label = Kiinnitä työkalupalkkiin
+unified-extensions-context-menu-manage-extension =
+ .label = Hallitse laajennusta
+unified-extensions-context-menu-remove-extension =
+ .label = Poista laajennus
+unified-extensions-context-menu-report-extension =
+ .label = Ilmoita laajennuksesta
+unified-extensions-context-menu-move-widget-up =
+ .label = Siirrä ylös
+unified-extensions-context-menu-move-widget-down =
+ .label = Siirrä alas
+
+## Notifications
+
+unified-extensions-mb-quarantined-domain-title = Jotkin laajennukset eivät ole sallittuja
+unified-extensions-mb-quarantined-domain-message = Vain jotkin laajennukset, joita { -vendor-short-name } valvoo, ovat sallittuja tällä sivustolla tietojesi suojaamiseksi.
+unified-extensions-mb-quarantined-domain-message-2 = Tietojesi suojaamiseksi jotkin laajennukset eivät voi lukea tai muuttaa tämän sivuston tietoja. Käytä laajennuksen asetuksia salliaksesi sivustot, joita { -vendor-short-name } rajoittaa.
+# .heading is processed by moz-message-bar to be used as a heading attribute
+unified-extensions-mb-quarantined-domain-message-3 =
+ .heading = Jotkin laajennukset eivät ole sallittuja
+ .message = Tietojesi suojaamiseksi jotkin laajennukset eivät voi lukea tai muuttaa tämän sivuston tietoja. Käytä laajennuksen asetuksia salliaksesi sivustot, joita { -vendor-short-name } rajoittaa.
+unified-extensions-mb-quarantined-domain-learn-more = Lue lisää
+ .aria-label = Lue lisää: Jotkin laajennukset eivät ole sallittuja
diff --git a/l10n-fi/browser/browser/webProtocolHandler.ftl b/l10n-fi/browser/browser/webProtocolHandler.ftl
new file mode 100644
index 0000000000..5be2e9e27e
--- /dev/null
+++ b/l10n-fi/browser/browser/webProtocolHandler.ftl
@@ -0,0 +1,19 @@
+# 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/.
+
+protocolhandler-mailto-os-handler-notificationbox = Haluatko käyttää { -brand-short-name }ia sähköpostia lähettävien linkkien avaamiseen?
+protocolhandler-mailto-os-handler-yes-confirm = { -brand-short-name } on nyt oletussovellus sähköpostin lähettävien linkkien avaamiseen.
+protocolhandler-mailto-os-handler-yes-button = Aseta oletukseksi
+protocolhandler-mailto-os-handler-no-button = Ei nyt
+
+## Variables:
+## $url (String): The url of a webmailer, but only its full domain name.
+
+protocolhandler-mailto-handler-notificationbox-always = Avataanko sähköpostilinkit aina käyttämällä palvelua { $url }?
+protocolhandler-mailto-handler-yes-confirm = { $url } on nyt oletussivustosi sähköpostin lähettävien linkkien avaamiseen.
+
+##
+
+protocolhandler-mailto-handler-yes-button = Aseta oletukseksi
+protocolhandler-mailto-handler-no-button = Ei nyt
diff --git a/l10n-fi/browser/browser/webauthnDialog.ftl b/l10n-fi/browser/browser/webauthnDialog.ftl
new file mode 100644
index 0000000000..d863b72140
--- /dev/null
+++ b/l10n-fi/browser/browser/webauthnDialog.ftl
@@ -0,0 +1,27 @@
+# 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/.
+
+# Variables:
+# $retriesLeft (Number): number of tries left
+webauthn-pin-invalid-long-prompt =
+ { $retriesLeft ->
+ [one] Väärä PIN-koodi. Sinulla on { $retriesLeft } yritys jäljellä, ennen kuin menetät pysyvästi kirjautumistietojen käyttöoikeuden tällä laitteella.
+ *[other] Väärä PIN-koodi. Sinulla on { $retriesLeft } yritystä jäljellä, ennen kuin menetät pysyvästi kirjautumistietojen käyttöoikeuden tällä laitteella.
+ }
+webauthn-pin-invalid-short-prompt = Väärä PIN-koodi. Yritä uudelleen.
+webauthn-pin-required-prompt = Anna laitteesi PIN-koodi.
+webauthn-select-sign-result-unknown-account = Tuntematon tili
+webauthn-a-passkey-label = Käytä todentamisavainta
+webauthn-another-passkey-label = Käytä toista todentamisavainta
+# Variables:
+# $domain (String): the domain of the site.
+webauthn-specific-passkey-label = Sivuston { $domain } todentamisavain
+# Variables:
+# $retriesLeft (Number): number of tries left
+webauthn-uv-invalid-long-prompt =
+ { $retriesLeft ->
+ [one] Käyttäjän vahvistus epäonnistui. Sinulla on { $retriesLeft } yritys jäljellä. Yritä uudelleen.
+ *[other] Käyttäjän vahvistus epäonnistui. Sinulla on { $retriesLeft } yritystä jäljellä. Yritä uudelleen.
+ }
+webauthn-uv-invalid-short-prompt = Käyttäjän vahvistus epäonnistui. Yritä uudelleen.
diff --git a/l10n-fi/browser/browser/webrtcIndicator.ftl b/l10n-fi/browser/browser/webrtcIndicator.ftl
new file mode 100644
index 0000000000..6f72042f88
--- /dev/null
+++ b/l10n-fi/browser/browser/webrtcIndicator.ftl
@@ -0,0 +1,227 @@
+# 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/.
+
+
+# Note: This is currently placed under browser/base/content so that we can
+# get the strings to appear without having our localization community need
+# to go through and translate everything. Once these strings are ready for
+# translation, we'll move it to the locales folder.
+
+
+## These strings are used so that the window has a title in tools that
+## enumerate/look for window titles. It is not normally visible anywhere.
+
+webrtc-indicator-title = { -brand-short-name } — Jakamisen ilmaisin
+webrtc-indicator-window =
+ .title = { -brand-short-name } — Jakamisen ilmaisin
+
+## Used as list items in sharing menu
+
+webrtc-item-camera = kamera
+webrtc-item-microphone = mikrofoni
+webrtc-item-audio-capture = välilehden äänet
+webrtc-item-application = ohjelma
+webrtc-item-screen = näyttö
+webrtc-item-window = ikkuna
+webrtc-item-browser = välilehti
+
+##
+
+# This is used for the website origin for the sharing menu if no readable origin could be deduced from the URL.
+webrtc-sharing-menuitem-unknown-host = Tuntematon lähde
+
+# Variables:
+# $origin (String): The website origin (e.g. www.mozilla.org)
+# $itemList (String): A formatted list of items (e.g. "camera, microphone and tab audio")
+webrtc-sharing-menuitem =
+ .label = { $origin } ({ $itemList })
+webrtc-sharing-menu =
+ .label = Laitteita jakavat välilehdet
+ .accesskey = j
+
+webrtc-sharing-window = Jaat toisen sovellusikkunan.
+webrtc-sharing-browser-window = Jaat sovelluksen { -brand-short-name }.
+webrtc-sharing-screen = Jaat koko näytön.
+webrtc-stop-sharing-button = Lopeta jakaminen
+webrtc-microphone-unmuted =
+ .title = Sammuta mikrofoni
+webrtc-microphone-muted =
+ .title = Kytke mikrofoni päälle
+webrtc-camera-unmuted =
+ .title = Sammuta kamera
+webrtc-camera-muted =
+ .title = Kytke kamera päälle
+webrtc-minimize =
+ .title = Pienennä ilmaisin
+
+## These strings will display as a tooltip on supported systems where we show
+## device sharing state in the OS notification area. We do not use these strings
+## on macOS, as global menu bar items do not have native tooltips.
+
+webrtc-camera-system-menu =
+ .label = Kamerasi on jaettu. Napsauta muokataksesi jakoasetuksia.
+webrtc-microphone-system-menu =
+ .label = Mikrofonisi on jaettu. Napsauta muokataksesi jakoasetuksia.
+webrtc-screen-system-menu =
+ .label = Jaat ikkunan tai koko näytön. Napsauta muokataksesi jakoasetuksia.
+
+## Tooltips used by the legacy global sharing indicator
+
+webrtc-indicator-sharing-camera-and-microphone =
+ .tooltiptext = Kamera ja mikrofoni on jaettu. Napsauta muokataksesi jakoasetuksia.
+webrtc-indicator-sharing-camera =
+ .tooltiptext = Kamera on jaettu. Napsauta muokataksesi jakoasetuksia.
+webrtc-indicator-sharing-microphone =
+ .tooltiptext = Mikrofoni on jaettu. Napsauta muokataksesi jakoasetuksia.
+webrtc-indicator-sharing-application =
+ .tooltiptext = Ohjelma on jaettu. Napsauta muokataksesi jakoasetuksia.
+webrtc-indicator-sharing-screen =
+ .tooltiptext = Näyttö on jaettu. Napsauta muokataksesi jakoasetuksia.
+webrtc-indicator-sharing-window =
+ .tooltiptext = Ikkuna on jaettu. Napsauta muokataksesi jakoasetuksia.
+webrtc-indicator-sharing-browser =
+ .tooltiptext = Välilehti on jaettu. Napsauta muokataksesi jakoasetuksia.
+
+## These strings are only used on Mac for menus attached to icons
+## near the clock on the mac menubar.
+## Variables:
+## $streamTitle (String): the title of the tab using the share.
+## $tabCount (Number): the title of the tab using the share.
+
+webrtc-indicator-menuitem-control-sharing =
+ .label = Muokkaa jakoasetuksia
+webrtc-indicator-menuitem-control-sharing-on =
+ .label = Muokkaa välilehden "{ $streamTitle }" jakoasetuksia
+
+webrtc-indicator-menuitem-sharing-camera-with =
+ .label = Kamera on jaettu välilehdellä ”{ $streamTitle }”
+webrtc-indicator-menuitem-sharing-camera-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Kamera on jaettu { $tabCount } välilehdellä
+ *[other] Kamera on jaettu { $tabCount } välilehdellä
+ }
+
+webrtc-indicator-menuitem-sharing-microphone-with =
+ .label = Mikrofoni on jaettu välilehdellä ”{ $streamTitle }”
+webrtc-indicator-menuitem-sharing-microphone-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Mikrofoni on jaettu { $tabCount } välilehdellä
+ *[other] Mikrofoni on jaettu { $tabCount } välilehdellä
+ }
+
+webrtc-indicator-menuitem-sharing-application-with =
+ .label = Ohjelma on jaettu välilehdellä ”{ $streamTitle }”
+webrtc-indicator-menuitem-sharing-application-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Ohjelma on jaettu { $tabCount } välilehdellä
+ *[other] Ohjelma on jaettu { $tabCount } välilehdellä
+ }
+
+webrtc-indicator-menuitem-sharing-screen-with =
+ .label = Näyttö on jaettu välilehdellä ”{ $streamTitle }”
+webrtc-indicator-menuitem-sharing-screen-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Näyttö on jaettu { $tabCount } välilehdellä
+ *[other] Näyttö on jaettu { $tabCount } välilehdellä
+ }
+
+webrtc-indicator-menuitem-sharing-window-with =
+ .label = Ikkuna on jaettu välilehdellä ”{ $streamTitle }”
+webrtc-indicator-menuitem-sharing-window-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Ikkuna on jaettu { $tabCount } välilehdellä
+ *[other] Ikkuna on jaettu { $tabCount } välilehdellä
+ }
+
+webrtc-indicator-menuitem-sharing-browser-with =
+ .label = Välilehti on jaettu välilehdellä ”{ $streamTitle }”
+# This message is shown when the contents of a tab is shared during a WebRTC
+# session, which currently is only possible with Loop/Hello.
+webrtc-indicator-menuitem-sharing-browser-with-n-tabs =
+ .label =
+ { $tabCount ->
+ [one] Välilehti on jaettu { $tabCount } välilehdellä
+ *[other] Välilehti on jaettu { $tabCount } välilehdellä
+ }
+
+## Variables:
+## $origin (String): the website origin (e.g. www.mozilla.org).
+
+webrtc-allow-share-audio-capture = Saako { $origin } kuunnella tämän välilehden ääniä?
+webrtc-allow-share-camera = Saako { $origin } käyttää kameraa?
+webrtc-allow-share-microphone = Saako { $origin } käyttää mikrofonia?
+webrtc-allow-share-screen = Saako { $origin } nähdä näyttösi?
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+webrtc-allow-share-speaker = Saako { $origin } käyttää muita kaiuttimia?
+webrtc-allow-share-camera-and-microphone = Saako { $origin } käyttää kameraa ja mikrofonia?
+webrtc-allow-share-camera-and-audio-capture = Saako { $origin } käyttää kameraa ja kuunnella tämän välilehden ääniä?
+webrtc-allow-share-screen-and-microphone = Saako { $origin } käyttää mikrofonia ja nähdä näyttösi?
+webrtc-allow-share-screen-and-audio-capture = Saako { $origin } kuunnella tämän välilehden ääniä ja nähdä näyttösi?
+
+## Variables:
+## $origin (String): the first party origin.
+## $thirdParty (String): the third party origin.
+
+webrtc-allow-share-audio-capture-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden kuunnella tämän välilehden ääniä?
+webrtc-allow-share-camera-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden käyttää kameraa?
+webrtc-allow-share-microphone-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden käyttää mikrofonia?
+webrtc-allow-share-screen-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden nähdä näyttösi?
+# "Speakers" is used in a general sense that might include headphones or
+# another audio output connection.
+webrtc-allow-share-speaker-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden käyttää muita kaiuttimia?
+webrtc-allow-share-camera-and-microphone-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden käyttää kameraa ja mikrofonia?
+webrtc-allow-share-camera-and-audio-capture-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden käyttää kameraa ja kuunnella tämän välilehden ääniä?
+webrtc-allow-share-screen-and-microphone-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden käyttää mikrofonia ja nähdä näyttösi?
+webrtc-allow-share-screen-and-audio-capture-unsafe-delegation = Saako { $origin } antaa sivustolle { $thirdParty } oikeuden kuunnella tämän välilehden ääniä ja nähdä näyttösi?
+
+##
+
+webrtc-share-screen-warning = Jaa näyttöjä vain luottamillesi sivustoille. Jakamisen ansiosta petollinen sivusto voi pystyä selaamaan verkkoa esiintyen sinuna ja varastamaan henkilötietojasi.
+webrtc-share-browser-warning = Jaa { -brand-short-name } vain luottamillesi sivustoille. Jakamisen ansiosta petollinen sivusto voi pystyä selaamaan verkkoa esiintyen sinuna ja varastamaan henkilötietojasi.
+
+webrtc-share-screen-learn-more = Lue lisää
+webrtc-pick-window-or-screen = Valitse ikkuna tai näyttö
+webrtc-share-entire-screen = Koko näyttö
+webrtc-share-pipe-wire-portal = Käytä käyttöjärjestelmän asetuksia
+# Variables:
+# $monitorIndex (String): screen number (digits 1, 2, etc).
+webrtc-share-monitor = Näyttö { $monitorIndex }
+# Variables:
+# $windowCount (Number): the number of windows currently displayed by the application.
+# $appName (String): the name of the application.
+webrtc-share-application =
+ { $windowCount ->
+ [one] { $appName } ({ $windowCount } ikkuna)
+ *[other] { $appName } ({ $windowCount } ikkunaa)
+ }
+
+## These buttons are the possible answers to the various prompts in the "webrtc-allow-share-*" strings.
+
+webrtc-action-allow =
+ .label = Salli
+ .accesskey = S
+webrtc-action-block =
+ .label = Estä
+ .accesskey = E
+webrtc-action-always-block =
+ .label = Estä aina
+ .accesskey = a
+webrtc-action-not-now =
+ .label = Ei nyt
+ .accesskey = N
+
+##
+
+webrtc-remember-allow-checkbox = Muista valinta
+webrtc-mute-notifications-checkbox = Vaimenna sivustojen ilmoitukset jakamisen aikana
+
+webrtc-reason-for-no-permanent-allow-screen = { -brand-short-name } ei voi sallia pysyvää käyttöoikeutta näyttöön.
+webrtc-reason-for-no-permanent-allow-audio = { -brand-short-name } ei voi sallia pysyvää käyttöoikeutta välilehden äänien kuuntelemiseen kysymättä, mikä välilehti jaetaan.
+webrtc-reason-for-no-permanent-allow-insecure = Yhteys tähän sivustoon ei ole suojattu. Suojellaksesi sinua { -brand-short-name } sallii käytön vain tämän istunnon ajaksi.
diff --git a/l10n-fi/browser/chrome/browser/browser.properties b/l10n-fi/browser/chrome/browser/browser.properties
new file mode 100644
index 0000000000..c7fb33fba5
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/browser.properties
@@ -0,0 +1,530 @@
+# 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/.
+
+nv_timeout=Aikaraja ylittyi
+openFile=Avaa tiedosto
+
+droponhometitle=Aseta aloitussivuksi
+droponhomemsg=Tehdäänkö tästä sivusta aloitussivu?
+droponhomemsgMultiple=Tehdäänkö näistä sivuista uudet aloitussivut?
+
+# context menu strings
+
+# LOCALIZATION NOTE (contextMenuSearch): %1$S is the search engine,
+# %2$S is the selection string.
+contextMenuSearch=%1$S-haku: ”%2$S”
+contextMenuSearch.accesskey=h
+contextMenuPrivateSearch=Hae yksityisessä ikkunassa
+contextMenuPrivateSearch.accesskey=a
+# LOCALIZATION NOTE (contextMenuPrivateSearchOtherEngine): %S is the search
+# engine name as set for Private Browsing mode. This label is only used when
+# this engine is different from the default engine name used in normal mode.
+contextMenuPrivateSearchOtherEngine=Hae hakukoneella %S yksityisessä ikkunassa
+contextMenuPrivateSearchOtherEngine.accesskey=a
+
+# bookmark dialog strings
+
+bookmarkAllTabsDefault=[Kansion nimi]
+
+unsignedAddonsDisabled.message=Yhtä tai useampaa lisäosaa ei ole varmennettu, ja ne on poistettu käytöstä.
+unsignedAddonsDisabled.learnMore.label=Lue lisää
+unsignedAddonsDisabled.learnMore.accesskey=L
+
+# LOCALIZATION NOTE (geolocationLastAccessIndicatorText): %S is the relative time of the most recent geolocation access (e.g. 5 min. ago)
+geolocationLastAccessIndicatorText=Viimeksi käytetty %S
+
+# LOCALIZATION NOTE (openProtocolHandlerPermissionEntryLabel): %S is the scheme of the protocol the site may open an application for. For example: mailto
+openProtocolHandlerPermissionEntryLabel=%S://-linkit
+
+crashedpluginsMessage.title=Liitännäinen %S kaatui.
+crashedpluginsMessage.reloadButton.label=Lataa sivu uudestaan
+crashedpluginsMessage.reloadButton.accesskey=L
+crashedpluginsMessage.submitButton.label=Lähetä kaatumisilmoitus
+crashedpluginsMessage.submitButton.accesskey=k
+crashedpluginsMessage.learnMore=Lue lisää…
+
+# Keyword fixup messages
+# LOCALIZATION NOTE (keywordURIFixup.message): Used when the user tries to visit
+# a local host page, by the time the DNS request recognizes it, we have already
+# loaded a search page for the given word. An infobar then asks to the user
+# whether he rather wanted to visit the host. %S is the recognized host.
+keywordURIFixup.message=Halusitko avata sivuston %S?
+keywordURIFixup.goTo=Kyllä, avaa %S
+keywordURIFixup.goTo.accesskey=K
+
+# Sanitize
+# LOCALIZATION NOTE (update.downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=Päivitä versioon %S
+update.downloadAndInstallButton.accesskey=P
+
+menuOpenAllInTabs.label=Avaa kaikki välilehtiin
+
+# Unified Back-/Forward Popup
+tabHistory.reloadCurrent=Lataa tämä sivu uudelleen
+tabHistory.goBack=Siirry takaisin tälle sivulle
+tabHistory.goForward=Siirry eteenpäin tälle sivulle
+
+# URL Bar
+pasteAndGo.label=Liitä ja avaa
+# LOCALIZATION NOTE (reloadButton.tooltip):
+# %S is the keyboard shortcut for reloading the current page
+reloadButton.tooltip=Päivitä avoin sivu (%S)
+# LOCALIZATION NOTE (stopButton.tooltip):
+# %S is the keyboard shortcut for stopping loading the page
+stopButton.tooltip=Lopeta sivun lataaminen (%S)
+# LOCALIZATION NOTE (urlbar-zoom-button.tooltip):
+# %S is the keyboard shortcut for resetting the zoom level to 100%
+urlbar-zoom-button.tooltip=Palauta oletuslähennystaso (%S)
+# LOCALIZATION NOTE (reader-mode-button.tooltip):
+# %S is the keyboard shortcut for entering/exiting reader view
+reader-mode-button.tooltip=Näytä/piilota lukunäkymä (%S)
+
+# LOCALIZATION NOTE(zoom-button.label): %S is the current page zoom level,
+# %% will be displayed as a single % character (% is commonly used to define
+# format specifiers, so it needs to be escaped).
+zoom-button.label = %S %%
+
+# General bookmarks button
+# LOCALIZATION NOTE (bookmarksMenuButton.tooltip):
+# %S is the keyboard shortcut for "Show All Bookmarks"
+bookmarksMenuButton.tooltip=Näytä kirjanmerkit (%S)
+
+# Downloads button tooltip
+# LOCALIZATION NOTE (downloads.tooltip):
+# %S is the keyboard shortcut for "Downloads"
+downloads.tooltip=Näytä käynnissä olevien latausten tilanne (%S)
+
+# New Window button tooltip
+# LOCALIZATION NOTE (newWindowButton.tooltip):
+# %S is the keyboard shortcut for "New Window"
+newWindowButton.tooltip=Avaa uusi ikkuna (%S)
+
+# New Tab button tooltip
+# LOCALIZATION NOTE (newTabButton.tooltip):
+# %S is the keyboard shortcut for "New Tab"
+newTabButton.tooltip=Avaa uusi välilehti (%S)
+newTabContainer.tooltip=Avaa uusi välilehti (%S)\nAvaa uusi eristetty välilehti painamalla ja pitämällä pohjassa
+newTabAlwaysContainer.tooltip=Valitse eristystila avataksesi uuden välilehden
+
+# Canvas permission prompt
+# LOCALIZATION NOTE (canvas.siteprompt2): %S is hostname
+canvas.siteprompt2=Saako %S käyttää HTML5-kanvaksen kuvadataa?
+canvas.siteprompt2.warning=Tätä voidaan käyttää tietokoneesi yksilöimiseen.
+canvas.block=Estä
+canvas.block.accesskey=E
+canvas.allow2=Salli
+canvas.allow2.accesskey=S
+canvas.remember2=Muista valinta
+
+# WebAuthn prompts
+# LOCALIZATION NOTE (webauthn.userPresence): %S is hostname
+webauthn.userPresencePrompt=Kosketa suojausavainta jatkaaksesi sivuston %S kanssa.
+# LOCALIZATION NOTE (webauthn.registerDirectPrompt3):
+# %S is hostname.
+# The website is asking for extended information about your
+# hardware authenticator that shouldn't be generally necessary. Permitting
+# this is safe if you only use one account at this website. If you have
+# multiple accounts at this website, and you use the same hardware
+# authenticator, then the website could link those accounts together.
+# And this is true even if you use a different profile / browser (or even Tor
+# Browser). To avoid this, you should use different hardware authenticators
+# for different accounts on this website.
+webauthn.registerDirectPrompt3=%S pyytää laajennettua tietoa turva-avaimestasi, mikä saattaa vaikuttaa yksityisyyteesi.
+# LOCALIZATION NOTE (webauthn.registerDirectPromptHint):
+# %S is brandShortName
+webauthn.registerDirectPromptHint=%S voi anonymisoida tämän puolestasi, mutta sivusto saattaa hylätä tämän avaimen. Jos avain hylätään, voit yrittää uudelleen.
+# LOCALIZATION NOTE (webauthn.selectSignResultPrompt): %S is hostname
+webauthn.selectSignResultPrompt=Sivustolle %S löytyi useita tilejä. Valitse käytettävä tili tai peruuta.
+# LOCALIZATION NOTE (webauthn.selectDevicePrompt): %S is hostname
+webauthn.selectDevicePrompt=Sivustolle %S löytyi useita laitteita. Valitse käytettävä laite.
+# LOCALIZATION NOTE (webauthn.deviceBlockedPrompt): %S is hostname
+webauthn.deviceBlockedPrompt=Käyttäjän vahvistus epäonnistui sivustolle %S. Yhtään yritystä ei ole jäljellä ja laitteesi on lukittu, koska väärä PIN-koodi annettiin liian monta kertaa. Laite vaatii nollauksen.
+# LOCALIZATION NOTE (webauthn.pinAuthBlockedPrompt): %S is hostname
+webauthn.pinAuthBlockedPrompt=Käyttäjän vahvistus epäonnistui sivustolle %S. Epäonnistuneita yrityksiä oli liian monta peräkkäin, ja PIN-todennus on väliaikaisesti estetty. Laitteesi tarvitsee virrankatkaisun (irrota ja aseta uudelleen).
+# LOCALIZATION NOTE (webauthn.pinNotSetPrompt): %S is hostname
+webauthn.pinNotSetPrompt=Käyttäjän vahvistus epäonnistui sivustolla %S. Sinun on ehkä asetettava PIN-koodi laitteellesi.
+# LOCALIZATION NOTE (webauthn.uvBlockedPrompt): %S is hostname
+webauthn.uvBlockedPrompt=Käyttäjän vahvistus epäonnistui sivustolla %S. Epäonnistuneita yrityksiä oli liian monta, ja sisäänrakennettu käyttäjän vahvistusmenetelmä on estetty.
+webauthn.alreadyRegisteredPrompt=Tämä laite on jo rekisteröity. Kokeile toista laitetta.
+webauthn.cancel=Keskeytä
+webauthn.cancel.accesskey=K
+webauthn.proceed=Jatka
+webauthn.proceed.accesskey=J
+webauthn.anonymize=Tee tiedoista anonyymejä
+
+# Spoof Accept-Language prompt
+privacy.spoof_english=Kieliasetusten vaihtaminen englantiin tekee sinun yksilöimisestä vaikeampaa ja parantaa yksityisyyttäsi. Haluatko pyytää verkkosivuista englanninkieliset versiot?
+
+# LOCALIZATION NOTE (identity.identified.verifier, identity.identified.state_and_country, identity.ev.contentOwner2):
+# %S is the hostname of the site that is being displayed.
+identity.identified.verifier=Todentaja: %S
+identity.identified.verified_by_you=Olet lisännyt tätä sivustoa koskevan turvallisuuspoikkeuksen.
+identity.identified.state_and_country=%S, %S
+identity.ev.contentOwner2=Varmenne myönnetty taholle: %S
+
+# LOCALIZATION NOTE (identity.notSecure.label):
+# Keep this string as short as possible, this is displayed in the URL bar
+# use a synonym for "safe" or "private" if "secure" is too long.
+identity.notSecure.label=Ei suojattu
+identity.notSecure.tooltip=Yhteys ei ole suojattu
+
+identity.extension.label=Laajennus (%S)
+identity.extension.tooltip=Sivun latasi laajennus %S
+
+# LOCALIZATION NOTE (contentBlocking.trackersView.blocked.label):
+# This label is shown next to a tracker in the trackers subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.trackersView.blocked.label=estettiin
+
+contentBlocking.trackersView.empty.label=Ei havaittu tällä sivustolla
+
+# LOCALIZATION NOTE (contentBlocking.cookies.blockingTrackers.label, contentBlocking.cookies.blocking3rdParty.label,
+# contentBlocking.cookies.blockingUnvisited.label,contentBlocking.cookies.blockingAll.label):
+contentBlocking.cookies.blockingTrackers3.label=Sivustorajat ylittävät seurainevästeet
+contentBlocking.cookies.blocking3rdParty2.label=Kolmannen osapuolen evästeet
+contentBlocking.cookies.blockingUnvisited2.label=Evästeet vierailemattomilta sivustoilta
+contentBlocking.cookies.blockingAll2.label=Kaikki evästeet
+
+contentBlocking.cookiesView.firstParty.label=Tältä sivustolta
+# LOCALIZATION NOTE (contentBlocking.cookiesView.firstParty.empty.label):
+# This references the header from contentBlocking.cookiesView.firstParty.label:
+# "[Cookies] From This Site: None detected on this site".
+contentBlocking.cookiesView.firstParty.empty.label=Ei havaittu tällä sivustolla
+
+contentBlocking.cookiesView.trackers2.label=Sivustorajat ylittävät evästeet
+# LOCALIZATION NOTE (contentBlocking.cookiesView.trackers.empty.label):
+# This references the header from contentBlocking.cookiesView.trackers.label:
+# "Tracking Cookies: None detected on this site".
+contentBlocking.cookiesView.trackers.empty.label=Ei havaittu tällä sivustolla
+
+contentBlocking.cookiesView.thirdParty.label=Kolmannen osapuolen evästeet
+# LOCALIZATION NOTE (contentBlocking.cookiesView.thirdParty.empty.label):
+# This references the header from contentBlocking.cookiesView.thirdParty.label:
+# "Third-Party Cookies: None detected on this site".
+contentBlocking.cookiesView.thirdParty.empty.label=Ei havaittu tällä sivustolla
+
+# LOCALIZATION NOTE (contentBlocking.cookiesView.allowed.label):
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Allowed"
+contentBlocking.cookiesView.allowed.label=sallittiin
+# LOCALIZATION NOTE (contentBlocking.cookiesView.blocked.label):
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.cookiesView.blocked.label=estettiin
+# LOCALIZATION NOTE (contentBlocking.cookiesView.removeButton.tooltip): %S is the domain of the site.
+contentBlocking.cookiesView.removeButton.tooltip=Poista evästepoikkeus sivustolta %S
+
+# LOCALIZATION NOTE (contentBlocking.fingerprintersView.blocked.label):
+# This label is shown next to a fingerprinter in the fingerprinters subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.fingerprintersView.blocked.label=estettiin
+
+# LOCALIZATION NOTE (contentBlocking.cryptominersView.blocked.label):
+# This label is shown next to a cryptominer in the cryptominers subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.cryptominersView.blocked.label=estettiin
+
+trackingProtection.icon.activeTooltip2=Estetään sosiaalisen median seuraimet, sivustorajat ylittävät evästeet ja yksilöijät.
+trackingProtection.icon.disabledTooltip2=Tehostettu seurannan suojaus on POIS PÄÄLTÄ tällä sivustolla.
+# LOCALIZATION NOTE (trackingProtection.icon.noTrackersDetectedTooltip): %S is brandShortName.
+trackingProtection.icon.noTrackersDetectedTooltip=Tällä sivulla ei havaittu seuraimia, jotka %S tuntee.
+
+# LOCALIZATION NOTE (protections.header):
+# Header of the Protections Panel. %S is replaced with the site's hostname.
+protections.header=Suojaukset sivustolle %S
+
+# LOCALIZATION NOTE (protections.disableAriaLabel):
+# Text that gets spoken by a screen reader if the button will disable protections.
+# %s is the site's hostname.
+protections.disableAriaLabel=Poista suojaukset käytöstä sivustolla %S
+
+# LOCALIZATION NOTE (protections.enableAriaLabel):
+# Text that gets spoken by a screen reader if the button will enable protections.
+# %s is the site's hostname.
+protections.enableAriaLabel=Ota suojaukset käyttöön sivustolla %S
+
+# Blocking and Not Blocking sub-views in the Protections Panel
+protections.blocking.fingerprinters.title=Yksilöijiä estetty
+protections.blocking.cryptominers.title=Kryptolouhijoita estetty
+protections.blocking.cookies.trackers.title=Sivustorajat ylittävät seurainevästeet estetty
+protections.blocking.cookies.3rdParty.title=Kolmannen osapuolen evästeet estetty
+protections.blocking.cookies.all.title=Kaikki evästeet estetty
+protections.blocking.cookies.unvisited.title=Evästeet vierailemattomilta sivustoilta estetty
+protections.blocking.trackingContent.title=Seurantaan tarkoitettu sisältö estetty
+protections.blocking.socialMediaTrackers.title=Sosiaalisen median seuraimia estetty
+protections.notBlocking.fingerprinters.title=Ei estetä yksilöijiä
+protections.notBlocking.cryptominers.title=Ei estetä kryptolouhijoita
+protections.notBlocking.cookies.3rdParty.title=Ei estetä kolmansien osapuolten evästeitä
+protections.notBlocking.cookies.all.title=Ei estetä evästeitä
+protections.notBlocking.crossSiteTrackingCookies.title=Ei estetä sivustorajoja ylittäviä seurainevästeitä
+protections.notBlocking.trackingContent.title=Ei estetä seurantaan tarkoitettua sisältöä
+protections.notBlocking.socialMediaTrackers.title=Ei estetä sosiaalisen median seuraimia
+
+# Footer section in the Protections Panel
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.description,
+# protections.footer.blockedTrackerCounter.tooltip):
+# This text indicates the total number of trackers blocked on all sites. In
+# its tooltip, we show the date when we started counting this number.
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.description):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is a locale-string converted positive integer.
+protections.footer.blockedTrackerCounter.description=1 estetty;#1 estetty
+# LOCALIZATION NOTE (protections.footer.blockedTrackerCounter.tooltip):
+# %S is the date on which we started counting (e.g., July 17, 2019).
+protections.footer.blockedTrackerCounter.tooltip=%S alkaen
+
+# Milestones section in the Protections Panel
+# LOCALIZATION NOTE (protections.milestone.description):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is replaced with brandShortName.
+# #2 is replaced with the (locale-formatted) number of trackers blocked
+# #3 is replaced by a locale-formatted date with short month and numeric year.
+# In English this looks like "Firefox blocked over 10,000 trackers since Oct 2019"
+protections.milestone.description=#1 esti #2 seuraimen #3 lähtien;#1 esti yli #2 seurainta #3 lähtien
+
+# Application menu
+
+# LOCALIZATION NOTE(zoomReduce-button.tooltip): %S is the keyboard shortcut.
+zoomReduce-button.tooltip = Loitonna (%S)
+# LOCALIZATION NOTE(zoomReset-button.tooltip): %S is the keyboard shortcut.
+zoomReset-button.tooltip = Palauta oletuslähennystaso (%S)
+# LOCALIZATION NOTE(zoomEnlarge-button.tooltip): %S is the keyboard shortcut.
+zoomEnlarge-button.tooltip = Lähennä (%S)
+
+# LOCALIZATION NOTE (cut-button.tooltip): %S is the keyboard shortcut.
+cut-button.tooltip = Leikkaa (%S)
+# LOCALIZATION NOTE (copy-button.tooltip): %S is the keyboard shortcut.
+copy-button.tooltip = Kopioi (%S)
+# LOCALIZATION NOTE (paste-button.tooltip): %S is the keyboard shortcut.
+paste-button.tooltip = Liitä (%S)
+
+# Geolocation UI
+
+geolocation.allow=Salli
+geolocation.allow.accesskey=S
+geolocation.block=Estä
+geolocation.block.accesskey=E
+geolocation.shareWithSite4=Saako %S käyttää sijaintiasi?
+geolocation.shareWithFile4=Saako tämä paikallinen tiedosto käyttää sijaintiasi?
+# LOCALIZATION NOTE(geolocation.shareWithSiteUnsafeDelegation2):
+# %1$S is the first party origin, %2$S is the third party origin.
+geolocation.shareWithSiteUnsafeDelegation2=Saako %1$S antaa sivustolle %2$S oikeuden käyttää sijaintiasi?
+geolocation.remember=Muista valinta
+
+# Virtual Reality Device UI
+xr.allow2=Salli
+xr.allow2.accesskey=S
+xr.block=Estä
+xr.block.accesskey=E
+xr.shareWithSite4=Saako %S käyttää virtuaalitodellisuuslaitteita? Tämä voi paljastaa henkilökohtaisia tietoja.
+xr.shareWithFile4=Saako tämä paikallinen tiedosto käyttää virtuaalitodellisuuslaitteita? Tämä voi paljastaa henkilökohtaisia tietoja.
+xr.remember=Muista valinta
+
+# Persistent storage UI
+persistentStorage.allow=Salli
+persistentStorage.allow.accesskey=S
+persistentStorage.block.label=Estä
+persistentStorage.block.accesskey=E
+persistentStorage.allowWithSite2=Saako %S tallettaa tietoja pysyvään tallennustilaan?
+
+# Web notifications UI
+# LOCALIZATION NOTE (alwaysBlock, block)
+# The two button strings will never be shown at the same time, so
+# it's okay for them to have the same access key
+webNotifications.allow2=Salli
+webNotifications.allow2.accesskey=S
+webNotifications.notNow=En nyt
+webNotifications.notNow.accesskey=E
+webNotifications.never=En koskaan
+webNotifications.never.accesskey=n
+webNotifications.alwaysBlock=Estä aina
+webNotifications.alwaysBlock.accesskey=E
+webNotifications.block=Estä
+webNotifications.block.accesskey=E
+webNotifications.receiveFromSite3=Saako %S lähettää ilmoituksia?
+
+# Phishing/Malware Notification Bar.
+# LOCALIZATION NOTE (notADeceptiveSite, notAnAttack)
+# The two button strings will never be shown at the same time, so
+# it's okay for them to have the same access key
+safebrowsing.getMeOutOfHereButton.label=Siirry pois sivustolta!
+safebrowsing.getMeOutOfHereButton.accessKey=S
+safebrowsing.deceptiveSite=Petollinen sivusto!
+safebrowsing.notADeceptiveSiteButton.label=Tämä ei ole petollinen sivusto…
+safebrowsing.notADeceptiveSiteButton.accessKey=e
+safebrowsing.reportedAttackSite=Ilmoitettu hyökkäyssivusto!
+safebrowsing.notAnAttackButton.label=Tämä ei ole hyökkäyssivusto…
+safebrowsing.notAnAttackButton.accessKey=e
+safebrowsing.reportedUnwantedSite=Ilmoitettu ei-haluttuja sovelluksia jakava sivusto!
+safebrowsing.reportedHarmfulSite=Ilmoitettu haitallinen sivusto!
+
+# LOCALIZATION NOTE (addKeywordTitleAutoFill): %S will be replaced by the page's title
+# Used as the bookmark name when saving a keyword for a search field.
+addKeywordTitleAutoFill=Etsi %S
+
+# troubleshootModeRestart
+# LOCALIZATION NOTE (troubleshootModeRestartPromptTitle): %S is the name of the product (e.g., Firefox)
+troubleshootModeRestartPromptTitle=Käynnistetäänkö %S uudelleen vianmääritystilassa?
+troubleshootModeRestartPromptMessage=Laajennukset, teemat ja mukautetut asetukset poistetaan käytöstä väliaikaisesti.
+troubleshootModeRestartButton=Käynnistä uudelleen
+
+# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
+# "true" (spelled and capitalized exactly that way) to show the "Text
+# Encoding" menu in the main Firefox button on Windows. Any other value will
+# hide it. Regardless of the value of this setting, the "Text Encoding"
+# menu will always be accessible via the "Browser Tools" menu.
+# This is not a string to translate; it just controls whether the menu shows
+# up in the Firefox button. If users frequently use the "Text Encoding"
+# menu, set this to "true". Otherwise, you can leave it as "false".
+browser.menu.showCharacterEncoding=false
+
+# Process hang reporter
+# LOCALIZATION NOTE (processHang.selected_tab.label): %1$S is the name of the product (e.g., Firefox)
+processHang.selected_tab.label = Tämä sivu hidastaa %1$Sia. Voit nopeuttaa selainta pysäyttämällä sivun.
+# LOCALIZATION NOTE (processHang.nonspecific_tab.label): %1$S is the name of the product (e.g., Firefox)
+processHang.nonspecific_tab.label = Verkkosivu hidastaa %1$Sia. Voit nopeuttaa selainta pysäyttämällä sivun.
+# LOCALIZATION NOTE (processHang.specific_tab.label): %1$S is the title of the tab.
+# %2$S is the name of the product (e.g., Firefox)
+processHang.specific_tab.label = Sivu ”%1$S” hidastaa %2$Sia. Voit nopeuttaa selainta pysäyttämällä sivun.
+# LOCALIZATION NOTE (processHang.add-on.label2): %1$S is the name of the
+# extension. %2$S is the name of the product (e.g., Firefox)
+processHang.add-on.label2 = Laajennus ”%1$S” hidastaa %2$Sia. Voit nopeuttaa selainta pysäyttämällä laajennuksen.
+processHang.add-on.learn-more.text = Lue lisää
+processHang.button_stop2.label = Pysäytä
+processHang.button_stop2.accessKey = P
+processHang.button_debug.label = Etsi vika komentosarjasta
+processHang.button_debug.accessKey = E
+
+# LOCALIZATION NOTE (fullscreenButton.tooltip): %S is the keyboard shortcut for full screen
+fullscreenButton.tooltip=Näytä ikkuna koko näytöllä (%S)
+
+# These are visible when opening the popup inside the bookmarks sidebar
+sidebar.moveToLeft=Siirrä sivupaneeli vasempaan laitaan
+sidebar.moveToRight=Siirrä sivupaneeli oikeaan laitaan
+
+# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S will be the 'learn more' link
+emeNotifications.drmContentDisabled.message2 = DRM täytyy ottaa käyttöön, jotta joitain tällä sivulla olevia ääniä tai videoita voi toistaa.
+emeNotifications.drmContentDisabled.button.label = Ota DRM-tuki käyttöön
+emeNotifications.drmContentDisabled.button.accesskey = O
+
+# LOCALIZATION NOTE(emeNotifications.drmContentCDMInstalling.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S is brandShortName
+emeNotifications.drmContentCDMInstalling.message = %S asentaa komponentteja, joita tarvitaan toistamaan sivun äänitteitä tai videoita. Yritä myöhemmin uudestaan.
+
+emeNotifications.unknownDRMSoftware = Unknown
+
+# LOCALIZATION NOTE (customizeMode.tabTitle): %S is brandShortName
+customizeMode.tabTitle = Muokkaa %S-selainta
+
+e10s.accessibilityNotice.acceptButton.label = OK
+e10s.accessibilityNotice.acceptButton.accesskey = O
+
+# LOCALIZATION NOTE (e10s.accessibilityNotice.jawsMessage): %S is brandShortName
+e10s.accessibilityNotice.jawsMessage = Välilehden sisällön näyttäminen ei ole käytössä, koska %S ja käyttämäsi saavutettavuusohjelma eivät ole yhteensopivat. Päivitä käyttämäsi ruudunlukija tai vaihta Firefoxin Extended Support Release -versioon.
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+userContextPersonal.label = Omat
+userContextWork.label = Työ
+userContextBanking.label = Raha
+userContextShopping.label = Kaupat
+userContextNone.label = Eristämätön
+
+userContextPersonal.accesskey = O
+userContextWork.accesskey = T
+userContextBanking.accesskey = R
+userContextShopping.accesskey = K
+userContextNone.accesskey = E
+
+userContext.aboutPage.label = Muokkaa eristystiloja
+userContext.aboutPage.accesskey = M
+
+# LOCALIZATION NOTE (sendTabsToDevice.label):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs sent to the device.
+sendTabsToDevice.label = Lähetä välilehti laitteeseen;Lähetä #1 välilehteä laitteeseen
+sendTabsToDevice.accesskey = L
+
+decoder.noCodecs.button = Lue miten
+decoder.noCodecs.accesskey = L
+decoder.noCodecsLinux.message = Vaaditut videokoodekit tarvitsee ehkä asentaa, jotta voit toistaa videon.
+decoder.noHWAcceleration.message = Microsoftin Mediaominaisuuspaketti tarvitsee ehkä asentaa videon laadun parantamiseksi.
+decoder.noPulseAudio.message = PulseAudio-ohjelmisto tarvitsee ehkä asentaa, jotta voit toistaa ääntä.
+decoder.unsupportedLibavcodec.message = libavcodec voi olla haavoittuvainen tai ehkä sitä ei tueta, ja se pitäisi päivittää, jotta voit katsoa videoita.
+
+decoder.decodeError.message = Tapahtui virhe purettaessa mediaresurssia.
+decoder.decodeError.button = Ilmoita sivuston ongelmasta
+decoder.decodeError.accesskey = I
+decoder.decodeWarning.message = Tapahtui toivuttavissa oleva virhe purettaessa mediaresurssia.
+
+# LOCALIZATION NOTE (captivePortal.infoMessage3):
+# Shown in a notification bar when we detect a captive portal is blocking network access
+# and requires the user to log in before browsing.
+captivePortal.infoMessage3 = Tähän verkkoon täytyy kirjautua ennen internetin käyttämistä.
+# LOCALIZATION NOTE (captivePortal.showLoginPage2):
+# The label for a button shown in the info bar in all tabs except the login page tab.
+# The button shows the portal login page tab when clicked.
+captivePortal.showLoginPage2 = Avaa verkon kirjautumissivu
+
+# LOCALIZATION NOTE (permissions.header):
+# %S is the hostname of the site that is being displayed.
+permissions.header = Oikeudet sivustolle %S
+permissions.remove.tooltip = Poista tämä oikeus ja kysy uudestaan
+
+permissions.fullscreen.promptCanceled = Canceled pending permission requests: permission requests should not be issued before entering DOM fullscreen.
+permissions.fullscreen.fullScreenCanceled = Exited DOM fullscreen: permission requests should not be issued while in DOM fullscreen.
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Firefox build: 32-bit or 64-bit. These strings are used in parentheses
+# between the Firefox version and the "What's new" link in the About dialog,
+# e.g.: "48.0.2 (32-bit) <What's new>" or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64-bittinen
+aboutDialog.architecture.thirtyTwoBit = 32-bittinen
+
+midi.allow.label = Salli
+midi.allow.accesskey = S
+midi.block.label = Estä
+midi.block.accesskey = E
+midi.remember=Muista valinta
+midi.shareWithFile = Saako tämä paikallinen tiedosto käyttää MIDI-laitteita?
+# LOCALIZATION NOTE (midi.shareWithSite): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareWithSite = Saako %S käyttää MIDI-laitteita?
+midi.shareSysexWithFile = Saako tämä paikallinen tiedosto käyttää MIDI-laitteita ja lähettää/vastaanottaa SysEx-viestejä?
+# LOCALIZATION NOTE (midi.shareSysexWithSite): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareSysexWithSite = Saako %S käyttää MIDI-laitteita ja lähettää/vastaanottaa SysEx-viestejä?
+
+# LOCALIZATION NOTE (panel.back):
+# This is used by screen readers to label the "back" button in various browser
+# popup panels, including the sliding subviews of the main menu.
+panel.back = Takaisin
+
+storageAccess1.Allow.label = Salli
+storageAccess1.Allow.accesskey = S
+storageAccess1.DontAllow.label = Estä
+storageAccess1.DontAllow.accesskey = E
+# LOCALIZATION NOTE (storageAccess4.message, storageAccess1.hintText):
+# %1$S is the name of the site URL (www.site1.example) trying to track the user's activity.
+# %2$S is the name of the site URL (www.site2.example) that the user is visiting. This is the same domain name displayed in the address bar.
+storageAccess4.message = Saako %1$S käyttää evästeitään sivustolla %2$S?
+storageAccess1.hintText = Haluat ehkä estää käytön, jos ei ole selvää, miksi %1$S tarvitsee nämä tiedot.
+
+# LOCALIZATION NOTE (gnomeSearchProviderSearchWeb):
+# Used for search by Gnome Shell activity screen, %S is a searched string.
+gnomeSearchProviderSearchWeb=Etsi internetistä haulla “%S”
diff --git a/l10n-fi/browser/chrome/browser/customizableui/customizableWidgets.properties b/l10n-fi/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100644
index 0000000000..93067f187a
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+history-panelmenu.label = Sivuhistoria
+# LOCALIZATION NOTE(history-panelmenu.tooltiptext2): %S is the keyboard shortcut
+history-panelmenu.tooltiptext2 = Näytä sivuhistoria (%S)
+
+find-button.label = Etsi
+# LOCALIZATION NOTE(find-button.tooltiptext3): %S is the keyboard shortcut.
+find-button.tooltiptext3 = Etsi sivulta (%S)
+
+developer-button.label = Web-työkalut
+# LOCALIZATION NOTE(developer-button.tooltiptext): %S is the keyboard shortcut
+developer-button.tooltiptext2 = Avaa web-työkalut (englanninkielisiä) (%S)
+
+sidebar-button.label = Sivupaneelit
+sidebar-button.tooltiptext2 = Näytä sivupaneelit
+
+zoom-controls.label = Lähennyksen valitsimet
+zoom-controls.tooltiptext2 = Lähennyksen valitsimet
+
+zoom-out-button.label = Loitonna
+# LOCALIZATION NOTE(zoom-out-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-out-button.tooltiptext2 = Loitonna (%S)
+
+# LOCALIZATION NOTE(zoom-reset-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-reset-button.tooltiptext2 = Palauta oletuslähennystaso (%S)
+
+zoom-in-button.label = Lähennä
+# LOCALIZATION NOTE(zoom-in-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-in-button.tooltiptext2 = Lähennä (%S)
+
+edit-controls.label = Muokkauksen valitsimet
+edit-controls.tooltiptext2 = Muokkauksen valitsimet
+
+cut-button.label = Leikkaa
+# LOCALIZATION NOTE(cut-button.tooltiptext2): %S is the keyboard shortcut.
+cut-button.tooltiptext2 = Leikkaa (%S)
+
+copy-button.label = Kopioi
+# LOCALIZATION NOTE(copy-button.tooltiptext2): %S is the keyboard shortcut.
+copy-button.tooltiptext2 = Kopioi (%S)
+
+paste-button.label = Liitä
+# LOCALIZATION NOTE(paste-button.tooltiptext2): %S is the keyboard shortcut.
+paste-button.tooltiptext2 = Liitä (%S)
+
+panic-button.label = Unohda
+panic-button.tooltiptext = Unohda jonkin verran selaushistoriaa
+
+toolbarspring.label = Joustava tyhjä tila
+toolbarseparator.label = Erotin
+toolbarspacer.label = Tyhjä tila
diff --git a/l10n-fi/browser/chrome/browser/downloads/downloads.properties b/l10n-fi/browser/chrome/browser/downloads/downloads.properties
new file mode 100644
index 0000000000..a9be056813
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/downloads/downloads.properties
@@ -0,0 +1,82 @@
+# 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 (stateStarting):
+# Indicates that the download is starting.
+stateStarting=Aloitetaan…
+# LOCALIZATION NOTE (stateFailed):
+# Indicates that the download failed because of an error.
+stateFailed=Epäonnistui
+# LOCALIZATION NOTE (statePaused):
+# Indicates that the download was paused by the user.
+statePaused=Pysäytetty
+# LOCALIZATION NOTE (stateCanceled):
+# Indicates that the download was canceled by the user.
+stateCanceled=Peruutettu
+# LOCALIZATION NOTE (stateCompleted):
+# Indicates that the download was completed.
+stateCompleted=Valmis
+# LOCALIZATION NOTE (stateBlockedParentalControls):
+# Indicates that the download was blocked by the Parental Controls feature of
+# Windows. "Parental Controls" should be consistently named and capitalized
+# with the display of this feature in Windows. The following article can
+# provide a reference for the translation of "Parental Controls" in various
+# languages:
+# http://windows.microsoft.com/en-US/windows-vista/Set-up-Parental-Controls
+stateBlockedParentalControls=Käytönvalvonta esti toiminnon
+# LOCALIZATION NOTE (blockedMalware, blockedPotentiallyUnwanted,
+# blockedUncommon2):
+# These strings are shown in the panel for some types of blocked downloads. You
+# may need to adjust "downloads.width" in "downloads.dtd" if this turns out to
+# be longer than the other existing status strings.
+blockedMalware=Tiedosto sisältää viruksen tai haittaohjelman.
+blockedPotentiallyUnwanted=Tiedosto voi vahingoittaa tietokonettasi.
+blockedPotentiallyInsecure=Tiedostoa ei ladattu: Mahdollinen turvallisuusriski.
+blockedUncommon2=Tätä tiedostoa ei ole ladattu usein.
+
+# LOCALIZATION NOTE (fileMovedOrMissing):
+# Displayed when a complete download which is not at the original folder.
+fileMovedOrMissing=Tiedosto siirretty tai puuttuu
+
+# LOCALIZATION NOTE (fileDeleted):
+# Displayed when a downloaded file has been deleted by Firefox, e.g. by the
+# "Delete File" context menu item.
+fileDeleted=Tiedosto poistettu
+
+# LOCALIZATION NOTE (unblockHeaderUnblock, unblockHeaderOpen,
+# unblockTypeMalware, unblockTypePotentiallyUnwanted2,
+# unblockTypeUncommon2, unblockTip2, unblockButtonOpen,
+# unblockButtonUnblock, unblockButtonConfirmBlock, unblockInsecure2):
+# These strings are displayed in the dialog shown when the user asks a blocked
+# download to be unblocked. The severity of the threat is expressed in
+# descending order by the unblockType strings, it is higher for files detected
+# as malware and lower for uncommon downloads.
+unblockHeaderUnblock=Haluatko varmasti sallia tämän latauksen?
+unblockHeaderOpen=Haluatko varmasti avata tämän tiedoston?
+unblockTypeMalware=Tämä tiedosto sisältää viruksen tai muun haittaohjelman, joka vahingoittaa tietokonettasi.
+unblockTypePotentiallyUnwanted2=Tämä tiedosto on naamioitunut hyödylliseksi lataukseksi, mutta voi tehdä odottamattomia muutoksia ohjelmiisi ja asetuksiisi.
+unblockTypeUncommon2=Tätä tiedostoa ei ole ladattu usein, ja sen avaaminen ei ehkä ole turvallista. Se voi sisältää viruksen tai tehdä odottamattomia muutoksia ohjelmiisi ja asetuksiisi.
+unblockInsecure2=Lataus tarjotaan HTTP:n kautta, vaikka nykyinen dokumentti toimitettiin suojatun HTTPS-yhteyden kautta. Jos jatkat, lataus saattaa vioittua tai sitä saatetaan peukaloida latauksen aikana.
+unblockTip2=Voit etsiä toisen latauslähteen tai yrittää myöhemmin uudestaan.
+unblockButtonOpen=Avaa
+unblockButtonUnblock=Salli lataus
+unblockButtonConfirmBlock=Poista tiedosto
+
+# LOCALIZATION NOTE (sizeWithUnits):
+# %1$S is replaced with the size number, and %2$S with the measurement unit.
+sizeWithUnits=%1$S %2$S
+sizeUnknown=Tuntematon koko
+
+# LOCALIZATION NOTE (statusSeparator, statusSeparatorBeforeNumber):
+# These strings define templates for the separation of different elements in the
+# status line of a download item. As a separator, by default we use the Unicode
+# character U+2014 'EM DASH' (long dash). Examples of status lines include
+# "Canceled - 222.net", "1.1 MB - website2.com", or "Paused - 1.1 MB". Note
+# that we use a wider space after the separator when it is followed by a number,
+# just to avoid visually confusing it with with a minus sign with some fonts.
+# If you use a different separator, this might not be necessary. However, there
+# is usually no need to change the separator or the order of the substitutions,
+# even for right-to-left languages, unless the defaults are not suitable.
+statusSeparator=%1$S \u2014 %2$S
+statusSeparatorBeforeNumber=%1$S \u2014 %2$S
diff --git a/l10n-fi/browser/chrome/browser/feeds/subscribe.properties b/l10n-fi/browser/chrome/browser/feeds/subscribe.properties
new file mode 100644
index 0000000000..95d5eac3a1
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/feeds/subscribe.properties
@@ -0,0 +1,10 @@
+# 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 (addProtocolHandlerMessage):
+# Message displayed when adding a protocol handler:
+# %1$S is the application's domain, %2$S is the type of protocol
+addProtocolHandlerMessage=Lisätäänkö ”%1$S” sovellukseksi %2$S-linkeille?
+addProtocolHandlerAddButton=Käytä ohjelmaa
+addProtocolHandlerAddButtonAccesskey=K
diff --git a/l10n-fi/browser/chrome/browser/places/bookmarkProperties.properties b/l10n-fi/browser/chrome/browser/places/bookmarkProperties.properties
new file mode 100644
index 0000000000..6a034b9afd
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/places/bookmarkProperties.properties
@@ -0,0 +1,24 @@
+# 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/.
+
+dialogAcceptLabelAddItem=Lisää
+dialogAcceptLabelSaveItem=Tallenna
+dialogAcceptLabelAddMulti=Lisää kirjanmerkit
+dialogAcceptLabelEdit=Tallenna
+dialogTitleAddBookmark=Uusi kirjanmerkki
+dialogTitleAddFolder=Uusi kansio
+dialogTitleAddMulti=Uudet kirjanmerkit
+dialogTitleEdit=Muokkaa kansion ”%S” ominaisuuksia
+
+dialogTitleAddNewBookmark2=Lisää kirjanmerkki
+dialogTitleEditBookmark=Muokkaa: ”%S”
+dialogTitleEditBookmark2=Muokkaa kirjanmerkkiä
+dialogTitleAddBookmarksFolder=Lisää kirjanmerkkikansio
+dialogTitleAddBookmarkFolder=Lisää kirjanmerkkikansio
+dialogTitleEditBookmarksFolder=Muokkaa kirjanmerkkikansiota
+dialogTitleEditBookmarkFolder=Muokkaa kirjanmerkkikansiota
+
+bookmarkAllTabsDefault=[kansion nimi]
+newFolderDefault=Uusi kansio
+newBookmarkDefault=Uusi kirjanmerkki
diff --git a/l10n-fi/browser/chrome/browser/safebrowsing/safebrowsing.properties b/l10n-fi/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 0000000000..d68aae3cb7
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/safebrowsing/safebrowsing.properties
@@ -0,0 +1,6 @@
+# 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/.
+
+errorReportFalseDeceptiveTitle=Tämä ei ole petollinen sivusto
+errorReportFalseDeceptiveMessage=Tästä virheestä ei voi ilmoittaa juuri nyt.
diff --git a/l10n-fi/browser/chrome/browser/search.properties b/l10n-fi/browser/chrome/browser/search.properties
new file mode 100644
index 0000000000..82332abe8f
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/search.properties
@@ -0,0 +1,33 @@
+# 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/.
+
+searchtip=Hae hakukoneella %S
+
+# LOCALIZATION NOTE (searchHeader): this is displayed at the top of the panel
+# showing search suggestions.
+# %S is replaced with the name of the current default search engine.
+searchHeader=%S-haku
+
+# LOCALIZATION NOTE (cmd_pasteAndSearch): "Search" is a verb, this is the
+# search bar equivalent to the url bar's "Paste & Go"
+cmd_pasteAndSearch=Liitä ja etsi
+
+cmd_clearHistory=Tyhjennä hakuhistoria
+cmd_clearHistory_accesskey=T
+
+# LOCALIZATION NOTE (searchForSomethingWith2):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for <user-typed string> with:"
+searchForSomethingWith2=Hae %S hakukoneella:
+
+# LOCALIZATION NOTE (searchWithHeader):
+# The wording of this string should be as close as possible to
+# searchForSomethingWith2. This string will be used when the user
+# has not typed anything.
+searchWithHeader=Hae palvelulla:
+
+# LOCALIZATION NOTE (searchSettings):
+# This is the label for the button that opens Search preferences.
+searchSettings=Muokkaa hakuasetuksia
+
diff --git a/l10n-fi/browser/chrome/browser/shellservice.properties b/l10n-fi/browser/chrome/browser/shellservice.properties
new file mode 100644
index 0000000000..5e03ea70a9
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/shellservice.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (setDefaultBrowserTitle, setDefaultBrowserMessage, setDefaultBrowserDontAsk, setDefaultBrowserAlertConfirm.label, setDefaultBrowserAlertNotNow.label):
+# These strings are used as an alternative to the ones above, in a modal dialog.
+# %S will be replaced by brandShortName
+setDefaultBrowserTitle=Oletusselain
+setDefaultBrowserMessage=%S ei ole järjestelmän oletusselain. Asetetaanko se oletusselaimeksi?
+setDefaultBrowserDontAsk=Tarkista tämä aina, kun %S käynnistetään.
+setDefaultBrowserAlertConfirm.label=Aseta %S oletusselaimeksi
+setDefaultBrowserAlertNotNow.label=Ei nyt
+
+desktopBackgroundLeafNameWin=Työpöydän taustakuva.bmp
+DesktopBackgroundDownloading=Tallennetaan kuvaa…
+DesktopBackgroundSet=Aseta työpöydän taustakuva
diff --git a/l10n-fi/browser/chrome/browser/siteData.properties b/l10n-fi/browser/chrome/browser/siteData.properties
new file mode 100644
index 0000000000..76cbced299
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/siteData.properties
@@ -0,0 +1,8 @@
+# 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/.
+
+clearSiteDataPromptTitle=Tyhjennä kaikki evästeet ja sivustotiedot
+# LOCALIZATION NOTE (clearSiteDataPromptText): %S = brandShortName
+clearSiteDataPromptText=Valitsemalla ”Tyhjennä heti” poistat kaikki evästeet ja sivuston %Siin tallentamat tiedot. Tämä voi kirjata sinut ulos sivustoilta ja poistaa yhteydetöntä tilaa varten tallennetun sisällön.
+clearSiteDataNow=Tyhjennä heti
diff --git a/l10n-fi/browser/chrome/browser/sitePermissions.properties b/l10n-fi/browser/chrome/browser/sitePermissions.properties
new file mode 100644
index 0000000000..ab3ad2e284
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/sitePermissions.properties
@@ -0,0 +1,55 @@
+# 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 (state.current.allowed,
+# state.current.allowedForSession,
+# state.current.allowedTemporarily,
+# state.current.blockedTemporarily,
+# state.current.blocked,
+# state.current.hide):
+# This label is used to display active permission states in the site
+# identity popup (which does not have a lot of screen space).
+state.current.allowed = Sallittu
+state.current.allowedForSession = Sallittu istunnon ajaksi
+state.current.allowedTemporarily = Sallittu väliaikaisesti
+state.current.blockedTemporarily = Estetty väliaikaisesti
+state.current.blocked = Estetty
+state.current.prompt = Kysy aina
+
+# LOCALIZATION NOTE (state.multichoice.alwaysAsk,
+# state.multichoice.allow,
+# state.multichoice.allowForSession,
+# state.multichoice.block):
+# Used to label permission state checkboxes in the page info dialog.
+state.multichoice.alwaysAsk = Kysy aina
+state.multichoice.allow = Salli
+state.multichoice.allowForSession = Salli istunnon ajaksi
+state.multichoice.block = Estä
+
+state.multichoice.autoplayblock = Estä ääni
+state.multichoice.autoplayblockall = Estä ääni ja video
+state.multichoice.autoplayallow = Salli ääni ja video
+
+permission.autoplay.label = Automaattinen toisto
+permission.cookie.label = Aseta evästeitä
+permission.desktop-notification3.label = Lähetä ilmoituksia
+permission.camera.label = Käytä kameraa
+permission.microphone.label = Käytä mikrofonia
+permission.screen.label = Jaa näyttö
+# LOCALIZATION NOTE (permission.speaker.label):
+# Short form for (permission to) "Choose and change audio output devices".
+permission.speaker.label = Valitse kaiuttimet
+permission.install.label = Asenna lisäosia
+permission.popup.label = Avaa ponnahdusikkunoita
+permission.geo.label = Käytä sijaintiasi
+permission.xr.label = Käytä virtuaalitodellisuuslaitteita
+permission.shortcuts.label = Korvaa pikanäppäimiä
+permission.focus-tab-by-prompt.label = Siirry tähän välilehteen
+permission.persistent-storage.label = Tallenna tietoja pysyvään tallennustilaan
+permission.canvas.label = Lue kanvaksen sisältöä
+permission.midi.label = Käytä MIDI-laitteita
+permission.midi-sysex.label = Käytä MIDI-laitteita SysEx-tuella
+# LOCALIZATION NOTE (permission.open-protocol-handler.label):
+# Open as a verb. "This site may open applications".
+permission.open-protocol-handler.label = Avaa sovelluksia
diff --git a/l10n-fi/browser/chrome/browser/syncSetup.properties b/l10n-fi/browser/chrome/browser/syncSetup.properties
new file mode 100644
index 0000000000..69b187a42d
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/syncSetup.properties
@@ -0,0 +1,14 @@
+# 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/.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+# /services/sync
+
+# Firefox Accounts based setup.
+continue.label = Jatka
+
+relinkVerify.title = Varoitus tietojen yhdistämisestä
+relinkVerify.heading = Kirjaudutaanko sisään Sync-palveluun?
+# LOCALIZATION NOTE (relinkVerify.description): Email address of a user previously signed into sync.
+relinkVerify.description = Toinen käyttäjä on aiemmin kirjautunut sisään Sync-palveluun tällä laitteella. Kirjautumisen seurauksena tämän selaimen kirjanmerkit, salasanat ja muut tiedot yhdistetään osoitteen %S tietoihin
diff --git a/l10n-fi/browser/chrome/browser/taskbar.properties b/l10n-fi/browser/chrome/browser/taskbar.properties
new file mode 100644
index 0000000000..436e804cd5
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/taskbar.properties
@@ -0,0 +1,12 @@
+# 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/.
+
+taskbar.tasks.newTab.label=Avaa uusi välilehti
+taskbar.tasks.newTab.description=Avaa selaimeen uusi välilehti.
+taskbar.tasks.newWindow.label=Avaa uusi ikkuna
+taskbar.tasks.newWindow.description=Avaa uusi selainikkuna.
+taskbar.tasks.newPrivateWindow.label=Uusi yksityinen ikkuna
+taskbar.tasks.newPrivateWindow.description=Avaa uusi ikkuna yksityinen selaus -tilaan.
+taskbar.frequent.label=Usein vierailtu
+taskbar.recent.label=Lähiaikoina vierailtu
diff --git a/l10n-fi/browser/chrome/browser/uiDensity.properties b/l10n-fi/browser/chrome/browser/uiDensity.properties
new file mode 100644
index 0000000000..c6e004d2ce
--- /dev/null
+++ b/l10n-fi/browser/chrome/browser/uiDensity.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/.
+
+uiDensity.menuitem-touch.acceltext=Tablettitila käytössä
diff --git a/l10n-fi/browser/chrome/overrides/appstrings.properties b/l10n-fi/browser/chrome/overrides/appstrings.properties
new file mode 100644
index 0000000000..4abedfe730
--- /dev/null
+++ b/l10n-fi/browser/chrome/overrides/appstrings.properties
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+malformedURI2=Tarkista, että osoite on oikea ja yritä uudestaan.
+fileNotFound=Tiedostoa ei löytynyt sijainnista %S.
+fileAccessDenied=Tiedosto %S ei ole luettavissa.
+dnsNotFound2=Ei voida yhdistää palvelimeen osoitteessa %S.
+unknownProtocolFound=Jokin seuraavista (%S) ei ole rekisteröity yhteyskäytäntö tai ei ole sallittu käyttää tässä tavalla.
+connectionFailure=Yhteyden muodostus osoitteeseen %S epäonnistui.
+netInterrupt=Yhteys osoitteeseen %S katkesi kesken sivun lataamisen.
+netTimeout=Palvelin osoitteessa %S vastaa pyyntöihin liian hitaasti.
+redirectLoop=Palvelin tässä osoitteessa uudelleenohjaa pyyntöjä loputtomasti.
+## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don’t translate "%S"
+confirmRepostPrompt=Sivu voidaan näyttää vain lähettämällä %Sin jo aikaisemmin lähettämät tiedot. Tietojen lähettäminen toistaa aikaisemmin suoritetun toiminnon (kuten haun tai tuotteen tilauksen verkkokaupasta).
+resendButton.label=Lähetä uudestaan
+unknownSocketType=Firefox ei osaa keskustella palvelimen kanssa.
+netReset=Yhteys palvelimeen alustettiin kesken latauksen.
+notCached=Tämä dokumentti ei ole enää saatavilla.
+netOffline=Firefox on tällä hetkellä yhteydettömässä tilassa, eikä selaaminen ole mahdollista.
+isprinting=Sivu ei voi muuttua, kun sitä tulostetaan tai tulostusta esikatsellaan.
+deniedPortAccess=Osoitteessa käytettyä porttia ei yleensä käytetä WWW-sivujen selaamiseen. Firefox on keskeyttänyt yhteyden muodostamisen turvallisuussyistä.
+proxyResolveFailure=Asetettua välityspalvelinta ei löytynyt.
+proxyConnectFailure=Asetettu välityspalvelin kieltäytyy yhteydestä.
+contentEncodingError=Avattava sivu on pakattu virheellisesti tai tuntemattomalla tavalla, eikä sivua voida näyttää.
+unsafeContentType=Avattava sivu lähetettiin tiedostomuodossa, joka ei aina ole turvallinen eikä sivua siksi voida näyttää. Ilmoita tästä ongelmasta sivuston omistajalle.
+externalProtocolTitle=Vieraan yhteyskäytännön avauspyyntö
+externalProtocolPrompt=%1$S:-linkit täytyy avata toisessa ohjelmassa. Avattava linkki:\n\n\n%2$S\nOhjelma: %3$S\n\n\nJos et odottanut tämän linkin avausta, kyseessä saattaa olla yritys hyödyntää heikkouksia avattavan ohjelman turvallisuudessa. Älä käynnistä toista ohjelmaa, jos et ole selvillä linkin alkuperästä.\n
+#LOCALIZATION NOTE (externalProtocolUnknown): The following string is shown if the application name can't be determined
+externalProtocolUnknown=<Tuntematon>
+externalProtocolChkMsg=Tee aina näin vastaaville linkeille.
+externalProtocolLaunchBtn=Käynnistä ohjelma
+malwareBlocked=Sivuston %S on ilmoitettu olevan hyökkäyssivusto ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+harmfulBlocked=Sivuston %S on ilmoitettu olevan mahdollisesti haitallinen ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+unwantedBlocked=Sivuston %S on ilmoitettu yrittävän asentaa sovelluksia pyytämättä ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+deceptiveBlocked=Sivuston %S on ilmoitettu olevan petollinen sivusto ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+cspBlocked=Tällä sivulla on sisällön tietosuojakäytäntö, joka estää sen sisällyttämisen toiseen sivuun tällä tavalla.
+xfoBlocked=Tällä sivulla on X-Frame-Options-käytäntö, joka estää sen lataamisen tässä yhteydessä.
+corruptedContentErrorv2=Sivusto osoitteessa %S on kohdannut yhteyskäytäntövirheen, josta ei voi toipua.
+## LOCALIZATION NOTE (sslv3Used) - Do not translate "%S".
+sslv3Used=Tietojesi turvallisuutta palvelimella %S ei voida taata, koska se käyttää rikkoutunutta turvallisuuskäytäntöä SSLv3.
+inadequateSecurityError=Sivusto yritti neuvotella riittämättömän tasoisen turvallisuuden.
+blockedByPolicy=Organisaatiosi on estänyt pääsyn tälle sivulle tai sivustolle.
+networkProtocolError=Firefox kohtasi verkkoyhteyskäytäntöä koskevan rikkomuksen, josta ei voi toipua.
diff --git a/l10n-fi/browser/crashreporter/crashreporter-override.ini b/l10n-fi/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 0000000000..3aa431c8e2
--- /dev/null
+++ b/l10n-fi/browser/crashreporter/crashreporter-override.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The %s is replaced with a string containing detailed information.
+CrashReporterProductErrorText2=Firefox kohtasi odottamattoman ongelman ja kaatui. Yritämme palauttaa avoinna olleet välilehdet ja ikkunat, kun ohjelma käynnistyy uudelleen.\n\nIkävä kyllä, tästä virheestä ei voida lähettää kaatumisilmoitusta.\n\nLisätietoja: %s
+CrashReporterDescriptionText2=Firefox kohtasi odottamattoman ongelman ja kaatui. Yritämme palauttaa avoinna olleet välilehdet ja ikkunat, kun ohjelma käynnistyy uudestaan.\n\nLähettämällä kaatumisilmoituksen, autat meitä tunnistamaan ja korjaamaan ongelman.
diff --git a/l10n-fi/browser/defaultagent/defaultagent_localized.ini b/l10n-fi/browser/defaultagent/defaultagent_localized.ini
new file mode 100644
index 0000000000..42d62efae6
--- /dev/null
+++ b/l10n-fi/browser/defaultagent/defaultagent_localized.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+DefaultBrowserAgentTaskDescription=Oletusselainagentti-tehtävä tarkistaa, milloin oletus vaihtuu %MOZ_APP_DISPLAYNAME%-selaimesta toiseen selaimeen. Jos muutos on epäilyttävä, se kehottaa käyttäjää vaihtamaan takaisin %MOZ_APP_DISPLAYNAME%-selaimeen korkeintaan kaksi kertaa. %MOZ_APP_DISPLAYNAME% asentaa tehtävän automattisesti, ja päivitysten yhteydessä se asennetaan uudestaan. Tehtävän voi poistaa käytöstä muuttamalla ”default-browser-agent.enabled”-asetusta about:config-sivulla tai %MOZ_APP_DISPLAYNAME%-selaimen yrityskäytäntöasetusta ”DisableDefaultBrowserAgent”.
+
+DefaultBrowserNotificationTitle=Aseta %MOZ_APP_DISPLAYNAME% oletusselaimeksi
+DefaultBrowserNotificationText=%MOZ_APP_DISPLAYNAME% ei ole enää oletusselaimesi. Haluatko tehdä siitä oletusselaimen?
+
+DefaultBrowserNotificationHeaderText=Jatketaanko sovelluksen %MOZ_APP_DISPLAYNAME% käyttöä?
+DefaultBrowserNotificationBodyText=Oletusselaimesi muutettiin äskettäin. Palauta %MOZ_APP_DISPLAYNAME% oletukseksi napauttamalla.
+DefaultBrowserNotificationYesButtonText=Kyllä
+DefaultBrowserNotificationNoButtonText=Ei
diff --git a/l10n-fi/browser/extensions/formautofill/formautofill.properties b/l10n-fi/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 0000000000..c20e95ad82
--- /dev/null
+++ b/l10n-fi/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,135 @@
+# 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 (autofillOptionsLink, autofillOptionsLinkOSX): These strings are used in the doorhanger for
+# updating addresses. The link leads users to Form Autofill browser preferences.
+autofillOptionsLink = Lomakkeiden automaattitäytön asetukset
+autofillOptionsLinkOSX = Lomakkeiden automaattitäytön asetukset
+# LOCALIZATION NOTE (changeAutofillOptions, changeAutofillOptionsOSX): These strings are used on the doorhanger
+# that notifies users that addresses are saved. The button leads users to Form Autofill browser preferences.
+changeAutofillOptions = Muuta lomakkeiden automaattitäytön asetuksia
+changeAutofillOptionsOSX = Muuta lomakkeiden automaattitäytön asetuksia
+changeAutofillOptionsAccessKey = M
+# LOCALIZATION NOTE (addressesSyncCheckbox): If Sync is enabled, this checkbox is displayed on the doorhanger
+# shown when saving addresses.
+addressesSyncCheckbox = Jaa osoitteet synkronoitujen laitteiden kanssa
+# LOCALIZATION NOTE (creditCardsSyncCheckbox): If Sync is enabled and credit card sync is available,
+# this checkbox is displayed on the doorhanger shown when saving credit card.
+creditCardsSyncCheckbox = Jaa luottokortit synkronoitujen laitteiden kanssa
+
+# LOCALIZATION NOTE (saveAddressesMessage): %S is brandShortName. This string is used on the doorhanger to
+# notify users that addresses are saved.
+saveAddressesMessage = %S tallentaa nyt osoitteet, jotta voit täyttää lomakkeet nopeammin.
+saveAddressDescriptionLabel = Tallennettava osoite:
+saveAddressLabel = Tallenna osoite
+saveAddressAccessKey = S
+# LOCALIZATION NOTE (updateAddressMessage, updateAddressDescriptionLabel, createAddressLabel, updateAddressLabel):
+# Used on the doorhanger when an address change is detected.
+updateAddressMessage = Haluatko päivittää osoitteen näillä uusilla tiedoilla?
+updateAddressOldDescriptionLabel = Vanha osoite:
+updateAddressNewDescriptionLabel = Uusi osoite:
+createAddressLabel = Luo uusi osoite
+createAddressAccessKey = L
+createAddressDescriptionLabel = Luotava osoite:
+cancelAddressLabel = Älä tallenna
+cancelAddressAccessKey = D
+updateAddressLabel = Päivitä osoite
+updateAddressAccessKey = P
+
+# LOCALIZATION NOTE (saveCreditCardMessage, saveCreditCardDescriptionLabel, saveCreditCardLabel, cancelCreditCardLabel, neverSaveCreditCardLabel):
+# Used on the doorhanger when users submit payment with credit card.
+# LOCALIZATION NOTE (saveCreditCardMessage): %S is brandShortName.
+saveCreditCardMessage = Haluatko, että %S tallentaa tämän luottokortin? (Turvakoodia ei tallenneta)
+saveCreditCardDescriptionLabel = Tallennettava luottokortti:
+saveCreditCardLabel = Tallenna luottokortti
+saveCreditCardAccessKey = T
+cancelCreditCardLabel = Älä tallenna
+cancelCreditCardAccessKey = a
+neverSaveCreditCardLabel = Älä tallenna luottokortteja koskaan
+neverSaveCreditCardAccessKey = e
+# LOCALIZATION NOTE (updateCreditCardMessage, updateCreditCardDescriptionLabel, createCreditCardLabel, updateCreditCardLabel):
+# Used on the doorhanger when an credit card change is detected.
+updateCreditCardMessage = Haluatko päivittää luottokortin näillä uusilla tiedoilla?
+updateCreditCardDescriptionLabel = Päivitettävä luottokortti:
+createCreditCardLabel = Luo uusi luottokortti
+createCreditCardAccessKey = L
+updateCreditCardLabel = Päivitä luottokortti
+updateCreditCardAccessKey = P
+# LOCALIZATION NOTE (openAutofillMessagePanel): Tooltip label for Form Autofill doorhanger icon on address bar.
+openAutofillMessagePanel = Avaa lomakkeiden automaattitäytön viestipaneeli
+
+# LOCALIZATION NOTE (autocompleteFooterOption2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOption2 = Lomakkeiden automaattitäytön asetukset
+# LOCALIZATION NOTE (autocompleteFooterOptionOSX2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOptionOSX2 = Lomakkeiden automaattitäytön asetukset
+# LOCALIZATION NOTE (autocompleteFooterOptionShort2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+# The short version is used for inputs below a certain width (e.g. 150px).
+autocompleteFooterOptionShort2 = Automaattitäytön asetukset
+# LOCALIZATION NOTE (autocompleteFooterOptionOSXShort2):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+# The short version is used for inputs below a certain width (e.g. 150px).
+autocompleteFooterOptionOSXShort2 = Automaattitäytön asetukset
+
+# LOCALIZATION NOTE (autocompleteManageCreditCards):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteManageCreditCards = Hallitse luottokortteja
+# LOCALIZATION NOTE (autocompleteManageAddresses):
+# Used as a label for the button, displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteManageAddresses = Hallitse osoitteita
+# LOCALIZATION NOTE (category.address, category.name, category.organization2, category.tel, category.email):
+# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill.
+category.address = osoite
+category.name = nimi
+category.organization2 = organisaatio
+category.tel = puhelin
+category.email = sähköposti
+# LOCALIZATION NOTE (fieldNameSeparator): This is used as a separator between categories.
+fieldNameSeparator = ,\u0020
+# LOCALIZATION NOTE (phishingWarningMessage, phishingWarningMessage2): The warning
+# text that is displayed for informing users what categories are about to be filled.
+# "%S" will be replaced with a list generated from the pre-defined categories.
+# The text would be e.g. Also autofills organization, phone, email.
+phishingWarningMessage = Täyttää automaattisesti myös: %S
+phishingWarningMessage2 = Täyttää automaattisesti: %S
+# LOCALIZATION NOTE (insecureFieldWarningDescription): %S is brandShortName. This string is used in drop down
+# suggestion when users try to autofill credit card on an insecure website (without https).
+insecureFieldWarningDescription = %S on havainnut suojaamattoman sivuston. Lomakkeiden automaattitäyttö on väliaikaisesti pois käytöstä.
+# LOCALIZATION NOTE (clearFormBtnLabel2): Label for the button in the dropdown menu that used to clear the populated
+# form.
+clearFormBtnLabel2 = Tyhjennä automaattitäytetty lomake
+
+autofillHeader = Lomakkeet ja automaattinen täyttö
+# LOCALIZATION NOTE (autofillAddressesCheckbox): Label for the checkbox that enables autofilling addresses.
+autofillAddressesCheckbox = Täytä osoitteet automaattisesti
+# LOCALIZATION NOTE (learnMoreLabel): Label for the link that leads users to the Form Autofill SUMO page.
+learnMoreLabel = Lue lisää
+# LOCALIZATION NOTE (savedAddressesBtnLabel): Label for the button that opens a dialog that shows the
+# list of saved addresses.
+savedAddressesBtnLabel = Tallennetut osoitteet…
+# LOCALIZATION NOTE (autofillCreditCardsCheckbox): Label for the checkbox that enables autofilling credit cards.
+autofillCreditCardsCheckbox = Täytä luottokortit automaattisesti
+# LOCALIZATION NOTE (savedCreditCardsBtnLabel): Label for the button that opens a dialog that shows the list
+# of saved credit cards.
+savedCreditCardsBtnLabel = Tallennetut luottokortit…
+
+autofillReauthCheckboxMac = Vaadi macOS-tunnistautuminen tallennettujen luottokorttien automaattitäydentämiseen, näyttämiseen tai muokkaamiseen.
+autofillReauthCheckboxWin = Vaadi Windows-tunnistautuminen tallennettujen luottokorttien automaattitäydentämiseen, näyttämiseen tai muokkaamiseen.
+autofillReauthCheckboxLin = Vaadi Linux-tunnistautuminen tallennettujen luottokorttien automaattitäydentämiseen, näyttämiseen tai muokkaamiseen.
+
+# LOCALIZATION NOTE (autofillReauthOSDialogMac): This string is
+# preceded by the operating system (macOS) with "Firefox is trying to ", and
+# has a period added to its end. Make sure to test in your locale.
+autofillReauthOSDialogMac = muokata tunnistautumisasetuksia
+autofillReauthOSDialogWin = Muokkaa tunnistautumisasetuksia kirjoittamalla Windows-kirjautumistiedot.
+autofillReauthOSDialogLin = Muokkaa tunnistautumisasetuksia kirjoittamalla Linux-kirjautumistiedot.
+
+useCreditCardPasswordPrompt.win = %S yrittää käyttää tallennettuja luottokorttitietoja. Vahvista tämän Windows-tilin käyttöoikeus alla.
+# LOCALIZATION NOTE (useCreditCardPasswordPrompt.macos): This string is
+# preceded by the operating system (macOS) with "Firefox is trying to ", and
+# has a period added to its end. Make sure to test in your locale.
+useCreditCardPasswordPrompt.macos = käyttää tallennettuja luottokorttitietoja
+useCreditCardPasswordPrompt.linux = %S yrittää käyttää tallennettuja luottokorttitietoja.
diff --git a/l10n-fi/browser/extensions/report-site-issue/webcompat.properties b/l10n-fi/browser/extensions/report-site-issue/webcompat.properties
new file mode 100644
index 0000000000..908db06395
--- /dev/null
+++ b/l10n-fi/browser/extensions/report-site-issue/webcompat.properties
@@ -0,0 +1,10 @@
+# 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(wc-reporter.label2): This string will be used in the
+# Firefox page actions menu. Localized length should be considered.
+wc-reporter.label2=Ilmoita sivuston ongelmasta…
+# LOCALIZATION NOTE(wc-reporter.tooltip): A site compatibility issue is
+# a website bug that exists in one browser (Firefox), but not another.
+wc-reporter.tooltip=Ilmoita sivuston yhteensopivuusongelma
diff --git a/l10n-fi/browser/firefox-l10n.js b/l10n-fi/browser/firefox-l10n.js
new file mode 100644
index 0000000000..b410ad9aef
--- /dev/null
+++ b/l10n-fi/browser/firefox-l10n.js
@@ -0,0 +1,6 @@
+# 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/.
+
+#filter substitution
+
diff --git a/l10n-fi/browser/installer/custom.properties b/l10n-fi/browser/installer/custom.properties
new file mode 100644
index 0000000000..b5b0e8e461
--- /dev/null
+++ b/l10n-fi/browser/installer/custom.properties
@@ -0,0 +1,93 @@
+# 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:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+REG_APP_DESC=$BrandShortNamella selaaminen on helppoa ja turvallista. Saat kaiken irti verkosta tutun käyttöliittymän, hakutoiminnon parannusten ja uusien tietoturvaominaisuuksien, kuten huijaussivustovaroituksen avulla.
+PRIVATE_BROWSING_SHORTCUT_TITLE=$BrandShortName - yksityinen selaus
+CONTEXT_OPTIONS=$BrandShortNamein &asetukset
+CONTEXT_SAFE_MODE=$BrandShortNamein &vikasietotila
+OPTIONS_PAGE_TITLE=Asennustyyppi
+OPTIONS_PAGE_SUBTITLE=Valitse asennusvaihtoehdot
+SHORTCUTS_PAGE_TITLE=Aseta pikakuvakkeet
+SHORTCUTS_PAGE_SUBTITLE=Luo pikakuvakkeet
+COMPONENTS_PAGE_TITLE=Aseta valinnaiset komponentit
+COMPONENTS_PAGE_SUBTITLE=Valinnaiset suositellut komponentit
+OPTIONAL_COMPONENTS_DESC=Ylläpitopalvelun avulla $BrandShortName voidaan päivittää automaattisesti taustalla sinua vaivaamatta.
+MAINTENANCE_SERVICE_CHECKBOX_DESC=Asenna &Ylläpitopalvelu
+SUMMARY_PAGE_TITLE=Yhteenveto
+SUMMARY_PAGE_SUBTITLE=Valmis asentamaan $BrandShortNamein
+SUMMARY_INSTALLED_TO=$BrandShortName asennetaan seuraavaan kohteeseen:
+SUMMARY_REBOOT_REQUIRED_INSTALL=Tietokoneen käynnistäminen uudelleen voi olla tarpeen, jotta asennus voidaan viimeistellä.
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=Tietokoneen käynnistäminen uudelleen voi olla tarpeen, jotta ohjelman poisto voidaan viimeistellä.
+SUMMARY_TAKE_DEFAULTS=&Käytä $BrandShortNameia järjestelmän oletusselaimena
+SUMMARY_INSTALL_CLICK=Jatka valitsemalla Asenna.
+SUMMARY_UPGRADE_CLICK=Jatka valitsemalla Päivitä.
+SURVEY_TEXT=&Kerro, mitä mieltä olet ohjelmasta
+LAUNCH_TEXT=&Käynnistä $BrandShortName
+CREATE_ICONS_DESC=Luo pikakuvakkeet $BrandShortNameille:
+ICONS_DESKTOP=T&yöpöydälle
+ICONS_STARTMENU=&Käynnistä-valikon ohjelmakansioon
+ICONS_TASKBAR=Tehtä&väpalkkiin
+WARN_MANUALLY_CLOSE_APP_INSTALL=$BrandShortName täytyy sulkea, jotta ohjelma voidaan asentaa.\n\nJatka sulkemalla $BrandShortName.
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=$BrandShortName täytyy sulkea, jotta ohjelma voidaan poistaa.\n\nJatka sulkemalla $BrandShortName.
+WARN_MANUALLY_CLOSE_APP_REFRESH=$BrandShortName täytyy sulkea, jotta ohjelma voidaan palauttaa uudeksi.\n\nJatka sulkemalla $BrandShortName.
+WARN_WRITE_ACCESS=Asennuskansioon ei ole kirjoitusoikeutta.\n\nValitse uusi kansio napsauttamalla OK.
+WARN_DISK_SPACE=Kiintolevyllä ei ole tarpeeksi tilaa.\n\nValitse uusi sijainti napsauttamalla OK.
+WARN_MIN_SUPPORTED_OSVER_MSG=Pahoittelumme, mutta $BrandShortNameia ei voida asentaa. Tämä versio $BrandShortNameista vaatii ${MinSupportedVer}:n tai uudemman. Lisätietoja saat napsauttamalla OK.
+WARN_MIN_SUPPORTED_CPU_MSG=Olemme pahoillamme, $BrandShortNameia ei voida asentaa. Tämä versio $BrandShortNameista vaatii vähintään ${MinSupportedCPU}-prosessorin. Saat lisätietoja napsauttamalla OK.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=Olemme pahoillamme, $BrandShortNameia ei voida asentaa. Tämä versio $BrandShortNameista vaatii vähintään käyttöjärjestelmän version ${MinSupportedVer} tai uudemman ja ${MinSupportedCPU}-prosessorin. Saat lisätietoja napsauttamalla OK.
+WARN_RESTART_REQUIRED_UNINSTALL=Tietokone täytyy käynnistää uudelleen, jotta $BrandShortNamein poistaminen voidaan viimeistellä. Käynnistetäänkö kone uudelleen nyt?
+WARN_RESTART_REQUIRED_UPGRADE=Tietokoneesi täytyy käynnistää uudelleen, jotta $BrandShortNamein aikaisempi päivitys voidaan viimeistellä. Käynnistetäänkö kone uudelleen nyt?
+ERROR_CREATE_DIRECTORY_PREFIX=Virhe luotaessa kans1iota:
+ERROR_CREATE_DIRECTORY_SUFFIX=Lopeta asennus valitsemalla Peruuta tai\nyritä uudestaan valitsemalla Yritä uudestaan.
+
+UN_CONFIRM_PAGE_TITLE=Poista $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=Poista $BrandFullNamein asennus tietokoneeltasi.
+UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName poistetaan seuraavasta kohteesta:
+UN_CONFIRM_CLICK=Jatka valitsemalla Poista.
+
+UN_REFRESH_PAGE_TITLE=Palautettaisiinko $BrandShortName sittenkin uudeksi?
+UN_REFRESH_PAGE_EXPLANATION=Jos $BrandShortName ei toimi kunnolla, uudeksi palauttaminen voi auttaa.\n\nSe palauttaa oletusasetukset ja poistaa lisäosat. Näin saadaan paras suorituskyky.
+UN_REFRESH_LEARN_MORE=&Lue lisää
+UN_REFRESH_BUTTON=&Palauta $BrandShortName uudeksi
+
+BANNER_CHECK_EXISTING=Etsitään aikaisempia asennuksia…
+
+STATUS_INSTALL_APP=Asennetaan $BrandShortName…
+STATUS_INSTALL_LANG=Asennetaan kielitiedostoja alueelle (${AB_CD})…
+STATUS_UNINSTALL_MAIN=Poistetaan $BrandShortNamein asennusta…
+STATUS_CLEANUP=Siivotaan jälkiä…
+
+UN_SURVEY_CHECKBOX_LABEL=Kerro Mozillalle, miksi poistit $BrandShortNamein
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=Valitse haluttu asennustyyppi ja napsauta Seuraava.
+# One line
+OPTION_STANDARD_DESC=$BrandShortName asennetaan yleisimpien komponenttien kanssa.
+OPTION_STANDARD_RADIO=&Oletus
+# Two lines
+OPTION_CUSTOM_DESC=Valitse asennettavat komponentit. Suositellaan kokeneille käyttäjille.
+OPTION_CUSTOM_RADIO=&Mukautettu
+
+# LOCALIZATION NOTE:
+# The following text replaces the Install button text on the summary page.
+# Verify that the access key for InstallBtn (in override.properties) and
+# UPGRADE_BUTTON is not already used by SUMMARY_TAKE_DEFAULTS.
+UPGRADE_BUTTON=P&äivitä
diff --git a/l10n-fi/browser/installer/mui.properties b/l10n-fi/browser/installer/mui.properties
new file mode 100644
index 0000000000..a25dc55fd7
--- /dev/null
+++ b/l10n-fi/browser/installer/mui.properties
@@ -0,0 +1,61 @@
+# 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/.
+
+# To make the l10n tinderboxen see changes to this file you can change a value
+# name by adding - to the end of the name followed by chars (e.g. Branding-2).
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+MUI_TEXT_WELCOME_INFO_TITLE=Tervetuloa $BrandFullNameDA-asennusohjelmaan
+MUI_TEXT_WELCOME_INFO_TEXT=Nyt asennetaan $BrandFullNameDA.\n\nSuosittelemme, että kaikki muut ohjelmat suljetaan ohjelman asentamisen ajaksi, jotta asennusohjelma voi tehdä tarvittavat muutokset järjestelmätiedostoihin ilman järjestelmän uudelleenkäynnistämistä.\n\n$_CLICK
+MUI_TEXT_COMPONENTS_TITLE=Valitse asennettavat osat
+MUI_TEXT_COMPONENTS_SUBTITLE=Valitse $BrandFullNameDAin asennettavat komponentit.
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=Kuvaus
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=Vie hiiren osoitin komponentin päälle nähdäksesi sen kuvauksen.
+MUI_TEXT_DIRECTORY_TITLE=Valitse asennuskohde
+MUI_TEXT_DIRECTORY_SUBTITLE=Valitse kansio, johon $BrandFullNameDA asennetaan.
+MUI_TEXT_INSTALLING_TITLE=Asennetaan
+MUI_TEXT_INSTALLING_SUBTITLE=Odota, kun $BrandFullNameDA asennetaan.
+MUI_TEXT_FINISH_TITLE=Asennus valmis
+MUI_TEXT_FINISH_SUBTITLE=Asennus onnistui.
+MUI_TEXT_ABORT_TITLE=Asennus keskeytettiin
+MUI_TEXT_ABORT_SUBTITLE=Asennus ei onnistunut.
+MUI_BUTTONTEXT_FINISH=&Valmis
+MUI_TEXT_FINISH_INFO_TITLE=$BrandFullNameDA-asennuksen viimeistely
+MUI_TEXT_FINISH_INFO_TEXT=$BrandFullNameDA on asennettu tietokoneelle.\n\nSulje asennusohjelma valitsemalla Valmis.
+MUI_TEXT_FINISH_INFO_REBOOT=Viimeistele asennus käynnistämällä tietokone uudelleen. Käynnistetäänkö järjestelmä heti uudelleen?
+MUI_TEXT_FINISH_REBOOTNOW=Uudelleenkäynnistä heti
+MUI_TEXT_FINISH_REBOOTLATER=Käynnistän koneen uudelleen myöhemmin
+MUI_TEXT_STARTMENU_TITLE=Valitse käynnistysvalikon kansio
+MUI_TEXT_STARTMENU_SUBTITLE=Valitse käynnistysvalikon kansio $BrandFullNameDAin pikakuvakkeille.
+MUI_INNERTEXT_STARTMENU_TOP=Valitse käynnistysvalikon kansio, johon ohjelman pikakuvakkeet tallennetaan tai kirjoita uuden kansion nimi.
+MUI_TEXT_ABORTWARNING=Lopetetaanko $BrandFullName-asennusohjelma?
+MUI_UNTEXT_WELCOME_INFO_TITLE=Tervetuloa $BrandFullNameDAin poisto-ohjelmaan
+MUI_UNTEXT_WELCOME_INFO_TEXT=Tämä ohjelma poistaa $BrandFullNameDAin.\n\nVarmista, että $BrandFullNameDA ei ole käynnissä, ennen kuin jatkat.\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=Poista $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=Poista $BrandFullNameDA tietokoneelta.
+MUI_UNTEXT_UNINSTALLING_TITLE=Poistetaan asennusta
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=Odota, kun $BrandFullNameDA poistetaan.
+MUI_UNTEXT_FINISH_TITLE=Ohjelma poistettiin
+MUI_UNTEXT_FINISH_SUBTITLE=Asennuksen poisto onnistui.
+MUI_UNTEXT_ABORT_TITLE=Poistaminen keskeytettiin
+MUI_UNTEXT_ABORT_SUBTITLE=Asennuksen poistaminen ei onnistunut.
+MUI_UNTEXT_FINISH_INFO_TITLE=$BrandFullNameDA-asennuksen poiston viimeistely
+MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA on poistettu tietokoneelta.\n\nSulje poisto-ohjelma valitsemalla Valmis.
+MUI_UNTEXT_FINISH_INFO_REBOOT=Viimeistele asennuksen poisto käynnistämällä tietokone uudelleen. Käynnistetäänkö järjestelmä heti uudelleen?
+MUI_UNTEXT_ABORTWARNING=Lopetetaanko $BrandFullNamein poisto-ohjelma?
diff --git a/l10n-fi/browser/installer/nsisstrings.properties b/l10n-fi/browser/installer/nsisstrings.properties
new file mode 100644
index 0000000000..64ac8d2e7a
--- /dev/null
+++ b/l10n-fi/browser/installer/nsisstrings.properties
@@ -0,0 +1,50 @@
+# 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:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandProductName, $BrandFullName,
+# or $BrandFullNameDA with a custom string and always use the same one as used
+# by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+INSTALLER_WIN_CAPTION=$BrandShortName-asennusohjelma
+
+STUB_CLEANUP_PAVEOVER_HEADER2=$BrandShortName on jo asennettu. Päivitetään se.
+STUB_CLEANUP_REINSTALL_HEADER2=$BrandShortName on asennettu jo aiemmin. Hankitaan sinulle uusi kopio.
+
+STUB_CLEANUP_PAVEOVER_BUTTON2=Päivitä
+STUB_CLEANUP_REINSTALL_BUTTON2=Asenna uudelleen
+STUB_CLEANUP_CHECKBOX_LABEL2=Palauta oletusasetukset ja poista vanhat lisäosat saavuttaaksesi parhaan mahdollisen suorituskyvyn
+
+STUB_INSTALLING_LABEL2=Asennus meneillään…
+STUB_INSTALLING_HEADLINE2=Optimoidaan asetukset nopeuden, yksityisyyden ja turvallisuuden tähden.
+STUB_INSTALLING_BODY2=$BrandShortName valmistuu tuossa tuokiossa.
+STUB_BLURB_FIRST1=Tähän asti nopein $BrandShortName
+STUB_BLURB_SECOND1=Nopeampi sivujen lataus ja välilehtien vaihto
+STUB_BLURB_THIRD1=Tehokas yksityinen selaus
+STUB_BLURB_FOOTER2=Tehty ihmisten, ei tuoton, tähden
+
+WARN_MIN_SUPPORTED_OSVER_MSG=Pahoittelumme, mutta $BrandShortNameia ei voida asentaa. Tämä versio $BrandShortNameista vaatii ${MinSupportedVer}:n tai uudemman. Lisätietoja saat napsauttamalla OK.
+WARN_MIN_SUPPORTED_CPU_MSG=Olemme pahoillamme, $BrandShortNameia ei voida asentaa. Tämä versio $BrandShortNameista vaatii vähintään ${MinSupportedCPU}-prosessorin. Saat lisätietoja napsauttamalla OK.
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=Olemme pahoillamme, $BrandShortNameia ei voida asentaa. Tämä versio $BrandShortNameista vaatii vähintään käyttöjärjestelmän version ${MinSupportedVer} tai uudemman ja ${MinSupportedCPU}-prosessorin. Saat lisätietoja napsauttamalla OK.
+WARN_WRITE_ACCESS_QUIT=Asennuskansioon ei ole kirjoitusoikeutta
+WARN_DISK_SPACE_QUIT=Levytila ei riitä asentamiseen.
+
+ERROR_DOWNLOAD_CONT=Hmm. Jostain syystä $BrandShortNamein asentaminen epäonnistui.\nAloita alusta painamalla OK.
+
+STUB_CANCEL_PROMPT_HEADING=Haluatko asentaa $BrandShortNamein?
+STUB_CANCEL_PROMPT_MESSAGE=Jos peruutat, $BrandShortNameia ei asenneta.
+STUB_CANCEL_PROMPT_BUTTON_CONTINUE=Asenna $BrandShortName
+STUB_CANCEL_PROMPT_BUTTON_EXIT=Peruuta
diff --git a/l10n-fi/browser/installer/override.properties b/l10n-fi/browser/installer/override.properties
new file mode 100644
index 0000000000..06f68fbf3d
--- /dev/null
+++ b/l10n-fi/browser/installer/override.properties
@@ -0,0 +1,86 @@
+# 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:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+# Strings that require a space at the end should be enclosed with double
+# quotes and the double quotes will be removed. To add quotes to the beginning
+# and end of a strong enclose the add and additional double quote to the
+# beginning and end of the string (e.g. ""This will include quotes"").
+
+SetupCaption=$BrandFullName-asennusohjelma
+UninstallCaption=$BrandFullNamein poisto-ohjelma
+BackBtn=< &Edellinen
+NextBtn=&Seuraava >
+AcceptBtn=&Hyväksyn lisenssisopimuksen ehdot
+DontAcceptBtn=&En hyväksy lisenssisopimuksen ehtoja
+InstallBtn=&Asenna
+UninstallBtn=&Poista
+CancelBtn=Peruuta
+CloseBtn=&Sulje
+BrowseBtn=Se&laa…
+ShowDetailsBtn=&Näytä tiedot
+ClickNext=Jatka valitsemalla Seuraava.
+ClickInstall=Aloita asennus valitsemalla Asenna.
+ClickUninstall=Poista ohjelma valitsemalla Poista.
+Completed=Valmis
+LicenseTextRB=Lue lisenssisopimus ennen $BrandFullNameDAin asentamista. Jos hyväksyt sopimuksen kaikki ehdot, valitse ensimmäinen vaihtoehto alapuolelta. $_CLICK
+ComponentsText=Valitse komponentit, jotka haluat asentaa, ja poista valinta komponenteista, joita et halua asentaa. $_CLICK
+ComponentsSubText2_NoInstTypes=Valitse asennettavat komponentit:
+DirText=$BrandFullNameDA asennetaan seuraavaan kansioon. Jos haluat asentaa sen johonkin toiseen kansioon, valitse Selaa, ja valitse toinen kansio. $_CLICK
+DirSubText=Kohdekansio
+DirBrowseText=Valitse kansio, johon haluat asentaa $BrandFullNameDAin:
+SpaceAvailable="Tilaa vapaana: "
+SpaceRequired="Tarvittava tila: "
+UninstallingText=Tämä ohjelma poistaa $BrandFullNameDAin seuraavasta kansiosta. $_CLICK
+UninstallingSubText=Poistetaan kansiosta:
+FileError=Tiedostoon ei voitu kirjoittaa: \r\n\r\n$0\r\n\r\nLopeta asennus valitsemalla Hylkää,\r\nyritä uudelleen valitsemalla Uudelleen, tai\r\nohita tiedosto valitsemalla Ohita
+FileError_NoIgnore=Tiedostoon ei voitu kirjoittaa: \r\n\r\n$0\r\n\r\nYritä uudelleen valitsemalla Uudelleen, tai\r\nlopeta asennus valitsemalla Hylkää
+CantWrite="Ei voi kirjoittaa: "
+CopyFailed=Kopiointi epäonnistui
+CopyTo="Kopioi kohteeseen "
+Registering="Rekisteröidään: "
+Unregistering="Poistetaan rekisteröinti: "
+SymbolNotFound="Symbolia ei löytynyt: "
+CouldNotLoad="Ei voitu ladata: "
+CreateFolder="Luo kansio: "
+CreateShortcut="Luo pikakuvake: "
+CreatedUninstaller="Poisto-ohjelma luotiin: "
+Delete="Poista: "
+DeleteOnReboot="Poista käynnistyksen yhteydessä: "
+ErrorCreatingShortcut="Virhe luotaessa pikakuvaketta: "
+ErrorCreating="Virhe luotaessa: "
+ErrorDecompressing=Pakettia ei voitu purkaa. Asennusohjelma voi olla vioittunut.
+ErrorRegistering=Virhe rekisteröidessä DLL-tiedostoa
+ExecShell="ExecShell: "
+Exec="Suorita: "
+Extract="Pura: "
+ErrorWriting="Pura: tiedostoon ei voitu kirjoittaa "
+InvalidOpcode=Asennuspaketti on vioittunut: virheellinen opcode
+NoOLE="Ei OLEa: "
+OutputFolder="Kansio: "
+RemoveFolder="Poista kansio: "
+RenameOnReboot="Muuta nimi käynnistyksen yhteydessä: "
+Rename="Muuta nimi: "
+Skipped="Ohitettiin: "
+CopyDetails=Kopioi tiedot leikepöydälle
+LogInstall=Tallenna asennusloki
+Byte=t
+Kilo=k
+Mega=M
+Giga=G
diff --git a/l10n-fi/browser/langpack-metadata.ftl b/l10n-fi/browser/langpack-metadata.ftl
new file mode 100644
index 0000000000..746fb5624c
--- /dev/null
+++ b/l10n-fi/browser/langpack-metadata.ftl
@@ -0,0 +1,13 @@
+# 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/.
+
+
+## Strings used to define the metadata of langpacks published on addons.mozilla.org.
+## Only text elements and literals are supported for these strings.
+
+langpack-creator = mozilla.org
+
+# To credit multiple contributors, use a comma-delimited list.
+# Example: Joe Solon, Suzy Solon
+langpack-contributors = Jiri Grönroos, Lasse Liehu, Ville Pohjanheimo
diff --git a/l10n-fi/browser/pdfviewer/chrome.properties b/l10n-fi/browser/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..e65817ed16
--- /dev/null
+++ b/l10n-fi/browser/pdfviewer/chrome.properties
@@ -0,0 +1,20 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Chrome notification bar messages and buttons
+unsupported_feature=Tätä PDF-dokumenttia ei välttämättä osata näyttää oikein.
+unsupported_feature_forms=Tässä PDF-dokumentissa on lomakekenttiä. Lomakekenttien täyttämistä ei tueta.
+unsupported_feature_signatures=Tämä PDF-dokumentti sisältää digitaalisia allekirjoituksia. Digitaalisten allekirjoitusten vahvistamista ei tueta.
+open_with_different_viewer=Avaa toisella ohjelmalla
+open_with_different_viewer.accessKey=A
diff --git a/l10n-fi/browser/pdfviewer/viewer.properties b/l10n-fi/browser/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..4e3dc10fa1
--- /dev/null
+++ b/l10n-fi/browser/pdfviewer/viewer.properties
@@ -0,0 +1,302 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Main toolbar buttons (tooltips and alt text for images)
+previous.title=Edellinen sivu
+previous_label=Edellinen
+next.title=Seuraava sivu
+next_label=Seuraava
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=Sivu
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages=/ {{pagesCount}}
+# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
+# will be replaced by a number representing the currently visible page,
+# respectively a number representing the total number of pages in the document.
+page_of_pages=({{pageNumber}} / {{pagesCount}})
+
+zoom_out.title=Loitonna
+zoom_out_label=Loitonna
+zoom_in.title=Lähennä
+zoom_in_label=Lähennä
+zoom.title=Suurennus
+presentation_mode.title=Siirry esitystilaan
+presentation_mode_label=Esitystila
+open_file.title=Avaa tiedosto
+open_file_label=Avaa
+print.title=Tulosta
+print_label=Tulosta
+save.title=Tallenna
+save_label=Tallenna
+# LOCALIZATION NOTE (download_button.title): used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+download_button.title=Lataa
+# LOCALIZATION NOTE (download_button_label): used in Firefox for Android as a label for the download button (“download” is a verb).
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+download_button_label=Lataa
+bookmark1.title=Nykyinen sivu (Näytä URL-osoite nykyiseltä sivulta)
+bookmark1_label=Nykyinen sivu
+# LOCALIZATION NOTE (open_in_app.title): This string is used in Firefox for Android.
+open_in_app.title=Avaa sovelluksessa
+# LOCALIZATION NOTE (open_in_app_label): This string is used in Firefox for Android. Length of the translation matters since we are in a mobile context, with limited screen estate.
+open_in_app_label=Avaa sovelluksessa
+
+# Secondary toolbar and context menu
+tools.title=Tools
+tools_label=Tools
+first_page.title=Siirry ensimmäiselle sivulle
+first_page_label=Siirry ensimmäiselle sivulle
+last_page.title=Siirry viimeiselle sivulle
+last_page_label=Siirry viimeiselle sivulle
+page_rotate_cw.title=Kierrä oikealle
+page_rotate_cw_label=Kierrä oikealle
+page_rotate_ccw.title=Kierrä vasemmalle
+page_rotate_ccw_label=Kierrä vasemmalle
+
+cursor_text_select_tool.title=Käytä tekstinvalintatyökalua
+cursor_text_select_tool_label=Tekstinvalintatyökalu
+cursor_hand_tool.title=Käytä käsityökalua
+cursor_hand_tool_label=Käsityökalu
+
+scroll_page.title=Käytä sivun vieritystä
+scroll_page_label=Sivun vieritys
+scroll_vertical.title=Käytä pystysuuntaista vieritystä
+scroll_vertical_label=Pystysuuntainen vieritys
+scroll_horizontal.title=Käytä vaakasuuntaista vieritystä
+scroll_horizontal_label=Vaakasuuntainen vieritys
+scroll_wrapped.title=Käytä rivittyvää vieritystä
+scroll_wrapped_label=Rivittyvä vieritys
+
+spread_none.title=Älä yhdistä sivuja aukeamiksi
+spread_none_label=Ei aukeamia
+spread_odd.title=Yhdistä sivut aukeamiksi alkaen parittomalta sivulta
+spread_odd_label=Parittomalta alkavat aukeamat
+spread_even.title=Yhdistä sivut aukeamiksi alkaen parilliselta sivulta
+spread_even_label=Parilliselta alkavat aukeamat
+
+# Document properties dialog box
+document_properties.title=Dokumentin ominaisuudet…
+document_properties_label=Dokumentin ominaisuudet…
+document_properties_file_name=Tiedoston nimi:
+document_properties_file_size=Tiedoston koko:
+# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in kilobytes, respectively in bytes.
+document_properties_kb={{size_kb}} kt ({{size_b}} tavua)
+# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in megabytes, respectively in bytes.
+document_properties_mb={{size_mb}} Mt ({{size_b}} tavua)
+document_properties_title=Otsikko:
+document_properties_author=Tekijä:
+document_properties_subject=Aihe:
+document_properties_keywords=Avainsanat:
+document_properties_creation_date=Luomispäivämäärä:
+document_properties_modification_date=Muokkauspäivämäärä:
+# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
+# will be replaced by the creation/modification date, and time, of the PDF file.
+document_properties_date_string={{date}}, {{time}}
+document_properties_creator=Luoja:
+document_properties_producer=PDF-tuottaja:
+document_properties_version=PDF-versio:
+document_properties_page_count=Sivujen määrä:
+document_properties_page_size=Sivun koko:
+document_properties_page_size_unit_inches=in
+document_properties_page_size_unit_millimeters=mm
+document_properties_page_size_orientation_portrait=pysty
+document_properties_page_size_orientation_landscape=vaaka
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=Letter
+document_properties_page_size_name_legal=Legal
+# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
+# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement and orientation, of the (current) page.
+document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}})
+# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
+# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
+document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})
+# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
+# the document; usually called "Fast Web View" in English locales of Adobe software.
+document_properties_linearized=Nopea web-katselu:
+document_properties_linearized_yes=Kyllä
+document_properties_linearized_no=Ei
+document_properties_close=Sulje
+
+print_progress_message=Valmistellaan dokumenttia tulostamista varten…
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}} %
+print_progress_close=Peruuta
+
+# Tooltips and alt text for side panel toolbar buttons
+# (the _label strings are alt text for the buttons, the .title strings are
+# tooltips)
+toggle_sidebar.title=Näytä/piilota sivupaneeli
+toggle_sidebar_notification2.title=Näytä/piilota sivupaneeli (dokumentissa on sisällys/liitteitä/tasoja)
+toggle_sidebar_label=Näytä/piilota sivupaneeli
+document_outline.title=Näytä dokumentin sisällys (laajenna tai kutista kohdat kaksoisnapsauttamalla)
+document_outline_label=Dokumentin sisällys
+attachments.title=Näytä liitteet
+attachments_label=Liitteet
+layers.title=Näytä tasot (kaksoisnapsauta palauttaaksesi kaikki tasot oletustilaan)
+layers_label=Tasot
+thumbs.title=Näytä pienoiskuvat
+thumbs_label=Pienoiskuvat
+current_outline_item.title=Etsi nykyinen sisällyksen kohta
+current_outline_item_label=Nykyinen sisällyksen kohta
+findbar.title=Etsi dokumentista
+findbar_label=Etsi
+
+additional_layers=Lisätasot
+# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
+page_landmark=Sivu {{page}}
+# Thumbnails panel item (tooltip and alt text for images)
+# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
+# number.
+thumb_page_title=Sivu {{page}}
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=Pienoiskuva sivusta {{page}}
+
+# Find panel button title and messages
+find_input.title=Etsi
+find_input.placeholder=Etsi dokumentista…
+find_previous.title=Etsi hakusanan edellinen osuma
+find_previous_label=Edellinen
+find_next.title=Etsi hakusanan seuraava osuma
+find_next_label=Seuraava
+find_highlight=Korosta kaikki
+find_match_case_label=Huomioi kirjainkoko
+find_match_diacritics_label=Erota tarkkeet
+find_entire_word_label=Kokonaiset sanat
+find_reached_top=Päästiin dokumentin alkuun, jatketaan lopusta
+find_reached_bottom=Päästiin dokumentin loppuun, jatketaan alusta
+# LOCALIZATION NOTE (find_match_count): The supported plural forms are
+# [one|two|few|many|other], with [other] as the default value.
+# "{{current}}" and "{{total}}" will be replaced by a number representing the
+# index of the currently active find result, respectively a number representing
+# the total number of matches in the document.
+find_match_count={[ plural(total) ]}
+find_match_count[one]={{current}} / {{total}} osuma
+find_match_count[two]={{current}} / {{total}} osumaa
+find_match_count[few]={{current}} / {{total}} osumaa
+find_match_count[many]={{current}} / {{total}} osumaa
+find_match_count[other]={{current}} / {{total}} osumaa
+# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
+# [zero|one|two|few|many|other], with [other] as the default value.
+# "{{limit}}" will be replaced by a numerical value.
+find_match_count_limit={[ plural(limit) ]}
+find_match_count_limit[zero]=Enemmän kuin {{limit}} osumaa
+find_match_count_limit[one]=Enemmän kuin {{limit}} osuma
+find_match_count_limit[two]=Enemmän kuin {{limit}} osumaa
+find_match_count_limit[few]=Enemmän kuin {{limit}} osumaa
+find_match_count_limit[many]=Enemmän kuin {{limit}} osumaa
+find_match_count_limit[other]=Enemmän kuin {{limit}} osumaa
+find_not_found=Hakusanaa ei löytynyt
+
+# Predefined zoom values
+page_scale_width=Sivun leveys
+page_scale_fit=Koko sivu
+page_scale_auto=Automaattinen suurennus
+page_scale_actual=Todellinen koko
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}} %
+
+# Loading indicator messages
+loading_error=Tapahtui virhe ladattaessa PDF-tiedostoa.
+invalid_file_error=Virheellinen tai vioittunut PDF-tiedosto.
+missing_file_error=Puuttuva PDF-tiedosto.
+unexpected_response_error=Odottamaton vastaus palvelimelta.
+rendering_error=Tapahtui virhe piirrettäessä sivua.
+
+# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
+# replaced by the modification date, and time, of the annotation.
+annotation_date_string={{date}}, {{time}}
+
+# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
+# "{{type}}" will be replaced with an annotation type from a list defined in
+# the PDF spec (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+text_annotation_type.alt=[{{type}}-merkintä]
+password_label=Kirjoita PDF-tiedoston salasana.
+password_invalid=Virheellinen salasana. Yritä uudestaan.
+password_ok=OK
+password_cancel=Peruuta
+
+printing_not_supported=Varoitus: Selain ei tue kaikkia tulostustapoja.
+printing_not_ready=Varoitus: PDF-tiedosto ei ole vielä latautunut kokonaan, eikä sitä voi vielä tulostaa.
+web_fonts_disabled=Verkkosivujen omat kirjasinlajit on estetty: ei voida käyttää upotettuja PDF-kirjasinlajeja.
+
+# Editor
+editor_free_text2.title=Teksti
+editor_free_text2_label=Teksti
+editor_ink2.title=Piirros
+editor_ink2_label=Piirros
+
+editor_stamp1.title=Lisää tai muokkaa kuvia
+editor_stamp1_label=Lisää tai muokkaa kuvia
+
+free_text2_default_content=Aloita kirjoittaminen…
+
+# Editor Parameters
+editor_free_text_color=Väri
+editor_free_text_size=Koko
+editor_ink_color=Väri
+editor_ink_thickness=Paksuus
+editor_ink_opacity=Peittävyys
+
+editor_stamp_add_image_label=Lisää kuva
+editor_stamp_add_image.title=Lisää kuva
+
+# Editor aria
+editor_free_text2_aria_label=Tekstimuokkain
+editor_ink2_aria_label=Piirrustusmuokkain
+editor_ink_canvas_aria_label=Käyttäjän luoma kuva
+
+# Alt-text dialog
+# LOCALIZATION NOTE (editor_alt_text_button_label): Alternative text (alt text) helps
+# when people can't see the image.
+editor_alt_text_button_label=Vaihtoehtoinen teksti
+editor_alt_text_edit_button_label=Muokkaa vaihtoehtoista tekstiä
+editor_alt_text_dialog_label=Valitse vaihtoehto
+editor_alt_text_dialog_description=Vaihtoehtoinen teksti ("alt-teksti") auttaa ihmisiä, jotka eivät näe kuvaa tai kun kuva ei lataudu.
+editor_alt_text_add_description_label=Lisää kuvaus
+editor_alt_text_add_description_description=Pyri 1-2 lauseeseen, jotka kuvaavat aihetta, ympäristöä tai toimintaa.
+editor_alt_text_mark_decorative_label=Merkitse koristeelliseksi
+editor_alt_text_mark_decorative_description=Tätä käytetään koristekuville, kuten reunuksille tai vesileimoille.
+editor_alt_text_cancel_button=Peruuta
+editor_alt_text_save_button=Tallenna
+editor_alt_text_decorative_tooltip=Merkitty koristeelliseksi
+# This is a placeholder for the alt text input area
+editor_alt_text_textarea.placeholder=Esimerkiksi "Nuori mies istuu pöytään syömään aterian"
+
+# Editor resizers
+# LOCALIZATION NOTE (editor_resizer_label_topLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topLeft=Vasen yläkulma - muuta kokoa
+# LOCALIZATION NOTE (editor_resizer_label_topMiddle): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topMiddle=Ylhäällä keskellä - muuta kokoa
+# LOCALIZATION NOTE (editor_resizer_label_topRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_topRight=Oikea yläkulma - muuta kokoa
+# LOCALIZATION NOTE (editor_resizer_label_middleRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_middleRight=Keskellä oikealla - muuta kokoa
+# LOCALIZATION NOTE (editor_resizer_label_bottomRight): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomRight=Oikea alakulma - muuta kokoa
+# LOCALIZATION NOTE (editor_resizer_label_bottomMiddle): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomMiddle=Alhaalla keskellä - muuta kokoa
+# LOCALIZATION NOTE (editor_resizer_label_bottomLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_bottomLeft=Vasen alakulma - muuta kokoa
+# LOCALIZATION NOTE (editor_resizer_label_middleLeft): This is used in an aria label to help to understand the role of the resizer.
+editor_resizer_label_middleLeft=Keskellä vasemmalla - muuta kokoa
diff --git a/l10n-fi/browser/updater/updater.ini b/l10n-fi/browser/updater/updater.ini
new file mode 100644
index 0000000000..ae88f96285
--- /dev/null
+++ b/l10n-fi/browser/updater/updater.ini
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+# All strings must be less than 600 chars.
+[Strings]
+TitleText=%MOZ_APP_DISPLAYNAME%-ohjelmistopäivitys
+InfoText=%MOZ_APP_DISPLAYNAME% asentaa päivityksiä ja käynnistyy hetken kuluttua…
+MozillaMaintenanceDescription=Mozilla huoltopalvelu varmistaa, että tietokoneessasi on käytössä viimeisin ja turvallisin versio Mozilla Firefoxista. Verkossa olon turvallisuuden kannalta on tärkeää pitää pitää Firefox ajantasalla ja Mozilla vahvasti suosittelee, että annat tämän palvelun olla päällä.
diff --git a/l10n-fi/devtools/client/aboutdebugging.ftl b/l10n-fi/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..691c205a65
--- /dev/null
+++ b/l10n-fi/devtools/client/aboutdebugging.ftl
@@ -0,0 +1,400 @@
+# 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/.
+
+
+### These strings are used inside the about:debugging UI.
+
+
+# Page Title strings
+
+# Page title (ie tab title) for the Setup page
+about-debugging-page-title-setup-page = Debugging - Setup
+
+# Page title (ie tab title) for the Runtime page
+# { $selectedRuntimeId } is the id of the current runtime, such as "this-firefox", "localhost:6080", ...
+about-debugging-page-title-runtime-page = Debugging - Runtime / { $selectedRuntimeId }
+
+# Sidebar strings
+
+# Display name of the runtime for the currently running instance of Firefox. Used in the
+# Sidebar and in the Setup page.
+about-debugging-this-firefox-runtime-name = This { -brand-shorter-name }
+
+# Sidebar heading for selecting the currently running instance of Firefox
+about-debugging-sidebar-this-firefox =
+ .name = { about-debugging-this-firefox-runtime-name }
+
+# Sidebar heading for connecting to some remote source
+about-debugging-sidebar-setup =
+ .name = Setup
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = USB enabled
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is disabled
+# (for instance because the mandatory ADB extension is not installed).
+about-debugging-sidebar-usb-disabled = USB disabled
+
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = Connected
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = Disconnected
+
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = No devices discovered
+
+# Text displayed in buttons found in sidebar items representing remote runtimes.
+# Clicking on the button will attempt to connect to the runtime.
+about-debugging-sidebar-item-connect-button = Connect
+
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = Connecting…
+
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = Connection failed
+
+# Text displayed in connection warning on sidebar item of the runtime when connecting to
+# the runtime is taking too much time.
+about-debugging-sidebar-item-connect-button-connection-not-responding = Connection still pending, check for messages on the target browser
+
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = Connection timed out
+
+# Text displayed in sidebar items for remote devices where a compatible browser (eg
+# Firefox) has not been detected yet. Typically, Android phones connected via USB with
+# USB debugging enabled, but where Firefox is not started.
+about-debugging-sidebar-runtime-item-waiting-for-browser = Waiting for browser…
+
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = Unplugged
+
+# Title for runtime sidebar items that are related to a specific device (USB, WiFi).
+about-debugging-sidebar-runtime-item-name =
+ .title = { $displayName } ({ $deviceName })
+# Title for runtime sidebar items where we cannot get device information (network
+# locations).
+about-debugging-sidebar-runtime-item-name-no-device =
+ .title = { $displayName }
+
+# Text to show in the footer of the sidebar that links to a help page
+# (currently: https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/)
+about-debugging-sidebar-support = Debugging Support
+
+# Text to show as the ALT attribute of a help icon that accompanies the help about
+# debugging link in the footer of the sidebar
+about-debugging-sidebar-support-icon =
+ .alt = Help icon
+
+# Text displayed in a sidebar button to refresh the list of USB devices. Clicking on it
+# will attempt to update the list of devices displayed in the sidebar.
+about-debugging-refresh-usb-devices-button = Refresh devices
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = Setup
+
+# Introduction text in the Setup page to explain how to configure remote debugging.
+about-debugging-setup-intro = Configure the connection method you wish to remotely debug your device with.
+
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = Use <a>{ about-debugging-this-firefox-runtime-name }</a> to debug extensions and service workers on this version of { -brand-shorter-name }.
+
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = Connect a Device
+
+# USB section of the Setup page
+about-debugging-setup-usb-title = USB
+
+# Explanatory text displayed in the Setup page when USB debugging is disabled
+about-debugging-setup-usb-disabled = Enabling this will download and add the required Android USB debugging components to { -brand-shorter-name }.
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is disabled.
+# Clicking on it will download components needed to debug USB Devices remotely.
+about-debugging-setup-usb-enable-button = Enable USB Devices
+
+# Text of the button displayed in the USB section of the setup page when USB debugging is enabled.
+about-debugging-setup-usb-disable-button = Disable USB Devices
+
+# Text of the button displayed in the USB section of the setup page while USB debugging
+# components are downloaded and installed.
+about-debugging-setup-usb-updating-button = Updating…
+
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = Enabled
+about-debugging-setup-usb-status-disabled = Disabled
+about-debugging-setup-usb-status-updating = Updating…
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-dev-menu2 = Enable Developer menu on your Android device.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug2 = Enable USB Debugging in the Android Developer Menu.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug-firefox2 = Enable USB Debugging in Firefox on the Android device.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = Connect the Android device to your computer.
+
+# Text shown in the USB section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-to-a-remote-device
+about-debugging-setup-usb-troubleshoot = Problems connecting to the USB device? <a>Troubleshoot</a>
+
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = Network Location
+
+# Text shown in the Network section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-over-the-network
+about-debugging-setup-network-troubleshoot = Problems connecting via network location? <a>Troubleshoot</a>
+
+# Text of a button displayed after the network locations "Host" input.
+# Clicking on it will add the new network location to the list.
+about-debugging-network-locations-add-button = Add
+
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = No network locations have been added yet.
+
+# Text of the label for the text input that allows users to add new network locations in
+# the Connect page. A host is a hostname and a port separated by a colon, as suggested by
+# the input's placeholder "localhost:6080".
+about-debugging-network-locations-host-input-label = Host
+
+# Text of a button displayed next to existing network locations in the Connect page.
+# Clicking on it removes the network location from the list.
+about-debugging-network-locations-remove-button = Remove
+
+# Text used as error message if the format of the input value was invalid in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-invalid = Invalid host “{ $host-value }”. The expected format is “hostname:portnumber”.
+
+# Text used as error message if the input value was already registered in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-duplicate = The host “{ $host-value }” is already registered
+
+# Runtime Page strings
+
+# Below are the titles for the various categories of debug targets that can be found
+# on "runtime" pages of about:debugging.
+# Title of the temporary extensions category (only available for "This Firefox" runtime).
+about-debugging-runtime-temporary-extensions =
+ .name = Temporary Extensions
+# Title of the extensions category.
+about-debugging-runtime-extensions =
+ .name = Extensions
+# Title of the tabs category.
+about-debugging-runtime-tabs =
+ .name = Tabs
+# Title of the service workers category.
+about-debugging-runtime-service-workers =
+ .name = Service Workers
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = Shared Workers
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = Other Workers
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = Processes
+
+# Label of the button opening the performance profiler panel in runtime pages for remote
+# runtimes.
+about-debugging-runtime-profile-button2 = Profile performance
+
+# This string is displayed in the runtime page if the current configuration of the
+# target runtime is incompatible with service workers. "Learn more" points to:
+# https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#service-workers-not-compatible
+about-debugging-runtime-service-workers-not-compatible = Your browser configuration is not compatible with Service Workers. <a>Learn more</a>
+
+# This string is displayed in the runtime page if the remote browser version is too old.
+# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $minVersion } is the minimum version that is compatible with the current Firefox instance (same format)
+about-debugging-browser-version-too-old = The connected browser has an old version ({ $runtimeVersion }). The minimum supported version is ({ $minVersion }). This is an unsupported setup and may cause DevTools to fail. Please update the connected browser. <a>Troubleshooting</a>
+
+# Dedicated message for a backward compatibility issue that occurs when connecting:
+# from Fx 70+ to the old Firefox for Android (aka Fennec) which uses Fx 68.
+about-debugging-browser-version-too-old-fennec = This version of Firefox cannot debug Firefox for Android (68). We recommend installing Firefox for Android Nightly on your phone for testing. <a>More details</a>
+
+# This string is displayed in the runtime page if the remote browser version is too recent.
+# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/
+# { $runtimeID } is the build ID of the remote browser (for instance "20181231", format is yyyyMMdd)
+# { $localID } is the build ID of the current Firefox instance (same format)
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $localVersion } is the version of your current browser (same format)
+about-debugging-browser-version-too-recent = The connected browser is more recent ({ $runtimeVersion }, buildID { $runtimeID }) than your { -brand-shorter-name } ({ $localVersion }, buildID { $localID }). This is an unsupported setup and may cause DevTools to fail. Please update Firefox. <a>Troubleshooting</a>
+
+# Displayed for runtime info in runtime pages.
+# { $name } is brand name such as "Firefox Nightly"
+# { $version } is version such as "64.0a1"
+about-debugging-runtime-name = { $name } ({ $version })
+
+# Text of a button displayed in Runtime pages for remote runtimes.
+# Clicking on the button will close the connection to the runtime.
+about-debugging-runtime-disconnect-button = Disconnect
+
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is false on the target runtime.
+about-debugging-connection-prompt-enable-button = Enable connection prompt
+
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is true on the target runtime.
+about-debugging-connection-prompt-disable-button = Disable connection prompt
+
+# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button.
+about-debugging-profiler-dialog-title2 = Profiler
+
+# Clicking on the header of a debug target category will expand or collapse the debug
+# target items in the category. This text is used as ’title’ attribute of the header,
+# to describe this feature.
+about-debugging-collapse-expand-debug-targets = Collapse / expand
+
+# Debug Targets strings
+
+# Displayed in the categories of "runtime" pages that don't have any debug target to
+# show. Debug targets depend on the category (extensions, tabs, workers...).
+about-debugging-debug-target-list-empty = Nothing yet.
+
+# Text of a button displayed next to debug targets of "runtime" pages. Clicking on this
+# button will open a DevTools toolbox that will allow inspecting the target.
+# A target can be an addon, a tab, a worker...
+about-debugging-debug-target-inspect-button = Inspect
+
+# Text of a button displayed in the "This Firefox" page, in the Temporary Extension
+# section. Clicking on the button will open a file picker to load a temporary extension
+about-debugging-tmp-extension-install-button = Load Temporary Add-on…
+
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = There was an error during the temporary add-on installation.
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will reload the extension.
+about-debugging-tmp-extension-reload-button = Reload
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will uninstall the extension and remove it from the page.
+about-debugging-tmp-extension-remove-button = Remove
+
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will forcefully terminate the extension background script (button
+# only visible in extensions that includes a non-persistent background script, either an
+# event page or a background service worker).
+about-debugging-tmp-extension-terminate-bgscript-button = Terminate background script
+
+# Message displayed in the file picker that opens to select a temporary extension to load
+# (triggered by the button using "about-debugging-tmp-extension-install-button")
+# manifest.json .xpi and .zip should not be localized.
+# Note: this message is only displayed in Windows and Linux platforms.
+about-debugging-tmp-extension-install-message = Select manifest.json file or .xpi/.zip archive
+
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = This WebExtension has a temporary ID. <a>Learn more</a>
+
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = Manifest URL
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's uuid.
+# UUIDs look like b293e463-481e-5148-a487-5aaf7a130429
+about-debugging-extension-uuid =
+ .label = Internal UUID
+
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = Location
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's ID.
+# For instance "geckoprofiler@mozilla.com" or "{ed26ddcb-5611-4512-a89a-51b8db81cfb2}".
+about-debugging-extension-id =
+ .label = Extension ID
+
+# Text displayed for extensions in "runtime" pages, before displaying the status of the
+# extension background script.
+about-debugging-extension-backgroundscript =
+ .label = Background script
+
+# Displayed for extension using a non-persistent background page (either an event page or
+# background service worker) when the background script is currently running.
+about-debugging-extension-backgroundscript-status-running = Running
+
+# Displayed for extension using a non-persistent background page when is currently stopped.
+about-debugging-extension-backgroundscript-status-stopped = Stopped
+
+# This string is displayed as a label of the button that pushes a test payload
+# to a service worker.
+# Note this relates to the "Push" API, which is normally not localized so it is
+# probably better to not localize it.
+about-debugging-worker-action-push2 = Push
+ .disabledTitle = Service Worker push is currently disabled for multiprocess { -brand-shorter-name }
+
+# This string is displayed as a label of the button that starts a service worker.
+about-debugging-worker-action-start2 = Start
+ .disabledTitle = Service Worker start is currently disabled for multiprocess { -brand-shorter-name }
+
+# This string is displayed as a label of the button that unregisters a service worker.
+about-debugging-worker-action-unregister = Unregister
+
+# Displayed for service workers in runtime pages that listen to Fetch events.
+about-debugging-worker-fetch-listening =
+ .label = Fetch
+ .value = Listening for fetch events
+
+# Displayed for service workers in runtime pages that do not listen to Fetch events.
+about-debugging-worker-fetch-not-listening =
+ .label = Fetch
+ .value = Not listening for fetch events
+
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = Running
+
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = Stopped
+
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = Registering
+
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = Scope
+
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = Push Service
+
+# Displayed as title of the inspect button when service worker debugging is disabled.
+about-debugging-worker-inspect-action-disabled =
+ .title = Service Worker inspection is currently disabled for multiprocess { -brand-shorter-name }
+
+# Displayed as title of the inspect button for zombie tabs (e.g. tabs loaded via a session restore).
+about-debugging-zombie-tab-inspect-action-disabled =
+ .title = Tab is not fully loaded and cannot be inspected
+
+# Displayed instead of the Main Process debug target when the preference
+# `devtools.browsertoolbox.fission` is true.
+about-debugging-multiprocess-toolbox-name = Multiprocess Toolbox
+
+# Description for the Multiprocess Toolbox target.
+about-debugging-multiprocess-toolbox-description = Main Process and Content Processes for the target browser
+
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = Close message
+
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = Error details
+
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = Warning details
+
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = Details
diff --git a/l10n-fi/devtools/client/accessibility.ftl b/l10n-fi/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..29a19b73cc
--- /dev/null
+++ b/l10n-fi/devtools/client/accessibility.ftl
@@ -0,0 +1,99 @@
+# 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/.
+
+
+### These strings are used inside the Accessibility panel.
+
+accessibility-learn-more = Learn more
+
+accessibility-text-label-header = Text Labels and Names
+
+accessibility-keyboard-header = Keyboard
+
+## Text entries that are used as text alternative for icons that depict accessibility isses.
+
+
+## These strings are used in the overlay displayed when running an audit in the accessibility panel
+
+accessibility-progress-initializing = Initializing…
+ .aria-valuetext = Initializing…
+
+# This string is displayed in the audit progress bar in the accessibility panel.
+# Variables:
+# $nodeCount (Integer) - The number of nodes for which the audit was run so far.
+accessibility-progress-progressbar =
+ { $nodeCount ->
+ [one] Checking { $nodeCount } node
+ *[other] Checking { $nodeCount } nodes
+ }
+
+accessibility-progress-finishing = Finishing up…
+ .aria-valuetext = Finishing up…
+
+## Text entries that are used as text alternative for icons that depict accessibility issues.
+
+accessibility-warning =
+ .alt = Warning
+
+accessibility-fail =
+ .alt = Error
+
+accessibility-best-practices =
+ .alt = Best Practices
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has an accessibility issue
+## with its text label or accessible name.
+
+accessibility-text-label-issue-area = Use <code>alt</code> attribute to label <div>area</div> elements that have the <span>href</span> attribute. <a>Learn more</a>
+
+accessibility-text-label-issue-dialog = Dialogs should be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-document-title = Documents must have a <code>title</code>. <a>Learn more</a>
+
+accessibility-text-label-issue-embed = Embedded content must be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-figure = Figures with optional captions should be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-fieldset = <code>fieldset</code> elements must be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-fieldset-legend2 = Use a <code>legend</code> element to label a <span>fieldset</span>. <a>Learn more</a>
+
+accessibility-text-label-issue-form = Form elements must be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-form-visible = Form elements should have a visible text label. <a>Learn more</a>
+
+accessibility-text-label-issue-frame = <code>frame</code> elements must be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-glyph = Use <code>alt</code> attribute to label <span>mglyph</span> elements. <a>Learn more</a>
+
+accessibility-text-label-issue-heading = Headings must be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-heading-content = Headings should have visible text content. <a>Learn more</a>
+
+accessibility-text-label-issue-iframe = Use <code>title</code> attribute to describe <span>iframe</span> content. <a>Learn more</a>
+
+accessibility-text-label-issue-image = Content with images must be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-interactive = Interactive elements must be labeled. <a>Learn more</a>
+
+accessibility-text-label-issue-optgroup-label2 = Use a <code>label</code> attribute to label an <span>optgroup</span>. <a>Learn more</a>
+
+accessibility-text-label-issue-toolbar = Toolbars must be labeled when there is more than one toolbar. <a>Learn more</a>
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has a keyboard accessibility
+## issue.
+
+accessibility-keyboard-issue-semantics = Focusable elements should have interactive semantics. <a>Learn more</a>
+
+accessibility-keyboard-issue-tabindex = Avoid using <code>tabindex</code> attribute greater than zero. <a>Learn more</a>
+
+accessibility-keyboard-issue-action = Interactive elements must be able to be activated using a keyboard. <a>Learn more</a>
+
+accessibility-keyboard-issue-focusable = Interactive elements must be focusable. <a>Learn more</a>
+
+accessibility-keyboard-issue-focus-visible = Focusable element may be missing focus styling. <a>Learn more</a>
+
+accessibility-keyboard-issue-mouse-only = Clickable elements must be focusable and should have interactive semantics. <a>Learn more</a>
diff --git a/l10n-fi/devtools/client/accessibility.properties b/l10n-fi/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..f61b3d4dc4
--- /dev/null
+++ b/l10n-fi/devtools/client/accessibility.properties
@@ -0,0 +1,314 @@
+# 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 These strings are used inside the Accessibility panel
+# which is available from the Web Developer sub-menu -> 'Accessibility'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (accessibility.role): A title text used for Accessibility
+# tree header column that represents accessible element role.
+accessibility.role=Role
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=Name
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=Accessibility Logo
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=Properties
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=Accessibility Tree
+
+# LOCALIZATION NOTE (accessibility.accessible.selectElement.title): A title text
+# displayed on buttons next to accessible elements in the `relations` section, allowing the
+# user to select the element in the accessibility tree.
+accessibility.accessible.selectElement.title=Click to select the node in the Accessibility Tree
+
+# LOCALIZATION NOTE (accessibility.accessible.selectNodeInInspector.title): A title text
+# displayed on buttons next to nodes in the sidebar, allowing the user to select the node
+# in the Inspector panel.
+accessibility.accessible.selectNodeInInspector.title=Click to select the node in the inspector
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=Accessible Information Unavailable
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=Turn On Accessibility Features
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=Turning on accessibility features…
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=Turn Off Accessibility Features
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=Turning off accessibility features…
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=Pick accessible object from the page
+
+# LOCALIZATION NOTE (accessibility.disable.disabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can not
+# be disabled. It is the case when a user is using a 3rd party accessibility
+# tool such as screen reader.
+accessibility.disable.disabledTitle=Accessibility service can not be turned off. It is used outside Developer Tools.
+
+# LOCALIZATION NOTE (accessibility.disable.enabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can be
+# disabled.
+accessibility.disable.enabledTitle=Accessibility service will be turned off for all tabs and windows.
+
+# LOCALIZATION NOTE (accessibility.enable.disabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can not
+# be enabled.
+accessibility.enable.disabledTitle=Accessibility service can not be turned on. It is turned off via accessibility services privacy preference.
+
+# LOCALIZATION NOTE (accessibility.enable.enabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can be
+# enabled.
+accessibility.enable.enabledTitle=Accessibility service will be turned on for all tabs and windows.
+
+# LOCALIZATION NOTE (accessibility.learnMore): A text that is used as is or as textual
+# description in places that link to accessibility inspector documentation.
+accessibility.learnMore=Learn more
+
+# LOCALIZATION NOTE (accessibility.description.general.p1): A title text for the first
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.description.general.p1=Accessibility Inspector lets you examine the current page’s accessibility tree, which is used by screen readers and other assistive technologies. %S
+
+# LOCALIZATION NOTE (accessibility.description.general.p2): A title text for the second
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled.
+accessibility.description.general.p2=Accessibility features may affect the performance of other developer tools panels and should be turned off when not in use.
+
+# LOCALIZATION NOTE (accessibility.tree.menu.printToJSON): A title text used when a
+# context menu item for printing an accessible tree to JSON is rendered after triggering a
+# context menu for an accessible tree row.
+accessibility.tree.menu.printToJSON=Print to JSON
+
+# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks
+# section in Accessibility details sidebar.
+accessibility.checks=Checks
+
+# LOCALIZATION NOTE (accessibility.checks.empty2): A title text used for indicating that
+# accessibility checks for a node yielded no results and another node should be
+# selected.
+accessibility.checks.empty2=No checks for this node.
+
+# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for
+# checks related to color and contrast.
+accessibility.contrast.header=Color and Contrast
+
+# LOCALIZATION NOTE (accessibility.contrast.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.error=Unable to calculate
+
+# LOCALIZATION NOTE (accessibility.contrast.large.text): A title text for the color
+# contrast ratio label indicating that the color contrast criteria used is if for large
+# text. This is lower case because it's used as a label for a tree item in accessibility
+# tree.
+accessibility.contrast.large.text=large text
+
+# LOCALIZATION NOTE (accessibility.contrast.large.title): A title text for the tooltip
+# used for the large text label (see accessibility.contrast.large.text).
+accessibility.contrast.large.title=Text is 14 point and bold or larger, or 18 point or larger.
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AA): A title text for the paragraph
+# describing that the given colour contrast satisfies AA standard from Web Content
+# Accessibility Guidelines. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.contrast.annotation.AA=Meets WCAG AA standards for accessible text. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AAA): A title text for the
+# paragraph describing that the given colour contrast satisfies AAA standard from Web
+# Content Accessibility Guidelines. %S in the content will be replaced by a link at run
+# time with the accessibility.learnMore string.
+accessibility.contrast.annotation.AAA=Meets WCAG AAA standards for accessible text. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.FAIL): A title text for the
+# paragraph describing that the given colour contrast fails to meet the minimum level from
+# Web Content Accessibility Guidelines. %S in the content will be replaced by a link at
+# run time with the accessibility.learnMore string.
+accessibility.contrast.annotation.FAIL=Does not meet WCAG standards for accessible text. %S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.transparent.error): A title text for the
+# paragraph suggesting a fix for error in color contrast calculation for text nodes with zero alpha.
+accessibility.contrast.annotation.transparent.error=Pick a color that is not transparent.
+
+# LOCALIZATION NOTE (accessibility.badges): A title text for the group of badges
+# that are rendered for each accessible row within the accessibility tree when
+# one or more accessibility checks fail.
+accessibility.badges=Accessibility checks
+
+# LOCALIZATION NOTE (accessibility.filter.none): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# resets all filtering in tree, and for the simulation menu item that resets
+# applied color matrices to the default matrix.
+accessibility.filter.none=None
+
+# LOCALIZATION NOTE (accessibility.filter.all2): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on all accessibility failures within it.
+accessibility.filter.all2=All Issues
+
+# LOCALIZATION NOTE (accessibility.filter.contrast): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on contrast accessibility failures within it.
+accessibility.filter.contrast=Contrast
+
+# LOCALIZATION NOTE (accessibility.filter.textLabel): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on text label and name accessibility failures within it.
+accessibility.filter.textLabel=Text Labels
+
+# LOCALIZATION NOTE (accessibility.filter.keyboard): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on keyboard accessibility failures within it.
+accessibility.filter.keyboard=Keyboard
+
+# LOCALIZATION NOTE (accessibility.badge.contrast): A title text for the badge
+# that is rendered within the accessible row in the accessibility tree for a
+# given accessible object that does not satisfy the WCAG guideline for colour
+# contrast.
+accessibility.badge.contrast=contrast
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.warning): A label for the
+# badge and attached warning icon that is rendered within the accessible row in
+# the accessibility tree for a given accessible object that does not satisfy the
+# WCAG guideline for colour contrast.
+accessibility.badge.contrast.warning=contrast warning
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for
+# keyboard accessibility.
+accessibility.badge.keyboard=keyboard
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for text
+# alternative.
+accessibility.badge.textLabel=text label
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.tooltip): A title text for the
+# badge tooltip that is rendered on mouse hover over the badge in the accessible
+# row in the accessibility tree for a given accessible object that does not
+# satisfy the WCAG guideline for colour contrast.
+accessibility.badge.contrast.tooltip=Does not meet WCAG standards for accessible text.
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for keyboard accessibility.
+accessibility.badge.keyboard.tooltip=Does not meet WCAG standards for keyboard accessibility.
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for text alternative.
+accessibility.badge.textLabel.tooltip=Does not meet WCAG standards for text alternative.
+
+# LOCALIZATION NOTE (accessibility.tree.filters): A title text for the toolbar
+# within the main accessibility panel that contains a list of filters to be for
+# accessibility audit.
+accessibility.tree.filters=Check for issues:
+
+# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the
+# preferences button tooltip that contains preferences for accessibility audit.
+accessibility.tree.filters.prefs=Configure preferences
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is starting up.
+accessibility.progress.initializing=Initializing…
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is running showing
+# the number of nodes being audited. Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+accessibility.progress.progressbar=Checking #1 node;Checking #1 nodes
+
+# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the
+# accessibility panel overlay shown when accessibility audit is finishing up.
+accessibility.progress.finishing=Finishing up…
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.title): A title
+# text for the tooltip for the checkbox pref in the accessibility panel that
+# sets node auto scroll.
+accessibility.pref.scroll.into.view.title=Automatically scroll selected node into view
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.label): A title
+# text for the checkbox pref in the accessibility panel that sets node auto
+# scroll.
+accessibility.pref.scroll.into.view.label=Scroll into view
+
+# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for
+# the Documentation menu item.
+accessibility.documentation.label=Documentation…
+
+# LOCALIZATION NOTE (accessibility.simulation): A title text for the toolbar
+# within the main accessibility panel that contains a list of simulations for
+# vision deficiencies.
+accessibility.simulation=Simulate:
+
+# LOCALIZATION NOTE (accessibility.simulation.protanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the protanopia simulation option.
+accessibility.simulation.protanopia=Protanopia (no red)
+
+# LOCALIZATION NOTE (accessibility.simulation.deuteranopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the deuteranopia simulation option.
+accessibility.simulation.deuteranopia=Deuteranopia (no green)
+
+# LOCALIZATION NOTE (accessibility.simulation.tritanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the tritanopia simulation option.
+accessibility.simulation.tritanopia=Tritanopia (no blue)
+
+# LOCALIZATION NOTE (accessibility.simulation.contrastLoss): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the contrast loss simulation option.
+# It is also shown in the simulation menu button in the accessibility panel and represent the
+# contrast loss simulation option currently selected.
+accessibility.simulation.contrastLoss=Contrast loss
+
+# LOCALIZATION NOTE (accessibility.simulation.achromatopsia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the achromatopsia simulation option.
+accessibility.simulation.achromatopsia=Achromatopsia (no color)
+
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.label): A title text for a checkbox label
+# in the accessibility panel toolbar that turns on/off the overlay of focusable elements in their
+# tabbing order.
+accessibility.toolbar.displayTabbingOrder.label=Show Tabbing Order
+
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.tooltip): A title text for a checkbox
+# tooltip in the accessibility panel toolbar that turns on/off the overlay of focusable elements in
+# their tabbing order.
+accessibility.toolbar.displayTabbingOrder.tooltip=Show tabbing order of elements and their tabbing index.
diff --git a/l10n-fi/devtools/client/animationinspector.properties b/l10n-fi/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..09e4afffe0
--- /dev/null
+++ b/l10n-fi/devtools/client/animationinspector.properties
@@ -0,0 +1,182 @@
+# 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 These strings are used inside the Animation inspector
+# which is available as a sidebar panel in the Inspector.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (panel.noAnimation):
+# This is the label shown in the panel when there are no displayable animations.
+# (e.g. In case of user selected a non-element node or a node that is not animated).
+panel.noAnimation=No animations were found for the current element.\nPick another element from the page.
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=Duration:
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in a tooltip on animation player widget, in case the
+# duration of the animation is infinite.
+player.infiniteDurationText=∞
+
+# LOCALIZATION NOTE (player.animationDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation delay.
+player.animationDelayLabel=Delay:
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=End delay:
+
+# LOCALIZATION NOTE (player.animationRateLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation playback rate.
+player.animationRateLabel=Playback rate:
+
+# LOCALIZATION NOTE (player.animationIterationCountLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the number of times the animation is set to repeat.
+player.animationIterationCountLabel=Repeats:
+
+# LOCALIZATION NOTE (player.infiniteIterationCount):
+# In case the animation repeats infinitely, this string is displayed next to the
+# player.animationIterationCountLabel string, instead of a number.
+player.infiniteIterationCount=&#8734;
+
+# LOCALIZATION NOTE (player.infiniteIterationCountText):
+# See player.infiniteIterationCount for a description of what this is.
+# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
+# a tooltip.
+player.infiniteIterationCountText=∞
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel2):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start without time unit
+# e.g.
+# If iterationStart of animation is 0.5 and duration is 1 sec, the string will be
+# "Iteration start: 0.5 (0.5s)"
+player.animationIterationStartLabel2=Iteration start: %1$S (%2$S)
+
+# LOCALIZATION NOTE (player.animationOverallEasingLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the easing
+# that applies to a whole iteration of an animation as opposed to the
+# easing that applies between animation keyframes.
+player.animationOverallEasingLabel=Overall easing:
+
+# LOCALIZATION NOTE (player.animationTimingFunctionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the
+# animation-timing-function for CSS Animations.
+player.animationTimingFunctionLabel=Animation timing function:
+
+# LOCALIZATION NOTE (player.animationFillLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# fill mode value.
+player.animationFillLabel=Fill:
+
+# LOCALIZATION NOTE (player.animationDirectionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# direction value.
+player.animationDirectionLabel=Direction:
+
+# LOCALIZATION NOTE (player.timeLabel):
+# This string is displayed in each animation player widget, to indicate either
+# how long (in seconds) the animation lasts, or what is the animation's current
+# time (in seconds too);
+player.timeLabel=%Ss
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in animation player widget, in case the duration of the
+# animation is infinite.
+player.infiniteTimeLabel=∞
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1× being the default, 2× being twice as fast).
+player.playbackRateLabel=%S×
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=This animation is running on compositor thread
+
+# LOCALIZATION NOTE (player.allPropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is running on the compositor thread.
+player.allPropertiesOnCompositorTooltip=All animation properties are optimized
+
+# LOCALIZATION NOTE (player.somePropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is not running on the compositor thread.
+player.somePropertiesOnCompositorTooltip=Some animation properties are optimized
+
+# LOCALIZATION NOTE (timeline.pausedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.pausedButtonTooltip=Resume the animations
+
+# LOCALIZATION NOTE (timeline.resumedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.resumedButtonTooltip=Pause the animations
+
+# LOCALIZATION NOTE (timeline.rewindButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# rewind button that can be used to rewind the animations
+timeline.rewindButtonTooltip=Rewind the animations
+
+# LOCALIZATION NOTE (timeline.timeGraduationLabel):
+# This string is displayed at the top of the animation panel, next to each time
+# graduation, to indicate what duration (in milliseconds) this graduation
+# corresponds to.
+timeline.timeGraduationLabel=%Sms
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S — CSS Animation
+
+# LOCALIZATION NOTE (timeline.csstransition.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Transition in the timeline UI.
+# %S will be replaced by the name of the transition at run-time.
+timeline.csstransition.nameLabel=%S — CSS Transition
+
+# LOCALIZATION NOTE (timeline.scriptanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a script-generated animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.scriptanimation.nameLabel=%S — Script Animation
+
+# LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over an unnamed script-generated animation in the timeline UI.
+timeline.scriptanimation.unnamedLabel=Script Animation
+
+# LOCALIZATION NOTE (timeline.unknown.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of an unknown animation type in the timeline UI.
+# This can happen if devtools couldn't figure out the type of the animation.
+# %S will be replaced by the name of the transition at run-time.
+timeline.unknown.nameLabel=%S
+
+# LOCALIZATION NOTE (detail.propertiesHeader.percentage):
+# This string is displayed on header label in .animated-properties-header.
+# %S represents the value in percentage with two decimal points, localized.
+# there are two "%" after %S to escape and display "%"
+detail.propertiesHeader.percentage=%S%%
diff --git a/l10n-fi/devtools/client/application.ftl b/l10n-fi/devtools/client/application.ftl
new file mode 100644
index 0000000000..0f690a2240
--- /dev/null
+++ b/l10n-fi/devtools/client/application.ftl
@@ -0,0 +1,151 @@
+# 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/.
+
+
+### These strings are used inside the Application panel which is available
+### by setting the preference `devtools-application-enabled` to true.
+
+
+### The correct localization of this file might be to keep it in English, or another
+### language commonly spoken among web developers. You want to make that choice consistent
+### across the developer tools. A good criteria is the language in which you'd find the
+### best documentation on web development on the web.
+
+# Header for the list of Service Workers displayed in the application panel for the current page.
+serviceworker-list-header = Service Workers
+
+# Text displayed next to the list of Service Workers to encourage users to check out
+# about:debugging to see all registered Service Workers.
+serviceworker-list-aboutdebugging = Open <a>about:debugging</a> for Service Workers from other domains
+
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = Unregister
+
+# Text for the debug link displayed for an already started Service Worker. Clicking on the
+# link opens a new devtools toolbox for this service worker. The title attribute is only
+# displayed when the link is disabled.
+serviceworker-worker-debug = Debug
+ .title = Only running service workers can be debugged
+
+# Alt text for the image icon displayed inside a debug link for a service worker.
+serviceworker-worker-inspect-icon =
+ .alt = Inspect
+
+# Text for the start link displayed for a registered but not running Service Worker.
+# Clicking on the link will attempt to start the service worker.
+serviceworker-worker-start3 = Start
+
+# Text displayed for the updated time of the service worker. The <time> element will
+# display the last update time of the service worker script.
+serviceworker-worker-updated = Updated <time>{ DATETIME($date, month: "long", year: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric") }</time>
+
+## Service Worker status strings: all serviceworker-worker-status-* strings are also
+## defined in aboutdebugging.properties and should be synchronized with them.
+
+# Service Worker status. A running service worker is registered, currently executed, can
+# be debugged and stopped.
+serviceworker-worker-status-running = Running
+
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = Stopped
+
+# Text displayed when no service workers are visible for the current page.
+serviceworker-empty-intro2 = No service workers found
+
+# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro-link = Learn more
+
+# Text displayed when there are no Service Workers to display for the current page,
+# introducing hints to debug Service Worker issues.
+# <a> and <span> are links that will open the webconsole and the debugger, respectively.
+serviceworker-empty-suggestions2 = If the current page should have a service worker, you could look for errors in the <a>Console</a> or step through your service worker registration in the <span>Debugger</span>.
+
+# Suggestion to go to about:debugging in order to see Service Workers for all domains.
+# Link will open about:debugging in a new tab.
+serviceworker-empty-suggestions-aboutdebugging2 = View service workers from other domains
+
+# Header for the Manifest page when we have an actual manifest
+manifest-view-header = App Manifest
+
+# Header for the Manifest page when there's no manifest to inspect
+manifest-empty-intro2 = No web app manifest detected
+
+# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest
+manifest-empty-intro-link = Learn how to add a manifest
+
+# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel.
+manifest-item-warnings = Errors and Warnings
+
+# Header for the Identity section of Manifest inspection displayed in the application panel.
+manifest-item-identity = Identity
+
+# Header for the Presentation section of Manifest inspection displayed in the application panel.
+manifest-item-presentation = Presentation
+
+# Header for the Icon section of Manifest inspection displayed in the application panel.
+manifest-item-icons = Icons
+
+# Text displayed while we are loading the manifest file
+manifest-loading = Loading manifest…
+
+# Text displayed when the manifest has been successfully loaded
+manifest-loaded-ok = Manifest loaded.
+
+# Text displayed as a caption when there has been an error while trying to
+# load the manifest
+manifest-loaded-error = There was an error while loading the manifest:
+
+# Text displayed as an error when there has been a Firefox DevTools error while
+# trying to load the manifest
+manifest-loaded-devtools-error = Firefox DevTools error
+
+# Text displayed when the page has no manifest available
+manifest-non-existing = No manifest found to inspect.
+
+# Text displayed when the page has a manifest embedded in a Data URL and
+# thus we cannot link to it.
+manifest-json-link-data-url = The manifest is embedded in a Data URL.
+
+# Text displayed at manifest icons to label their purpose, as declared
+# in the manifest.
+manifest-icon-purpose = Purpose: <code>{ $purpose }</code>
+
+# Text displayed as the alt attribute for <img> tags showing the icons in the
+# manifest.
+manifest-icon-img =
+ .alt = Icon
+
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest. `$sizes` is a user-dependent string that has been parsed as a
+# space-separated list of `<width>x<height>` sizes or the keyword `any`.
+manifest-icon-img-title = Icon with sizes: { $sizes }
+
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest, in case there's no icon size specified by the user
+manifest-icon-img-title-no-sizes = Unspecified size icon
+
+# Sidebar navigation item for Manifest sidebar item section
+sidebar-item-manifest = Manifest
+ .alt = Manifest Icon
+ .title = Manifest
+
+# Sidebar navigation item for Service Workers sidebar item section
+sidebar-item-service-workers = Service Workers
+ .alt = Service Workers Icon
+ .title = Service Workers
+
+# Text for the ALT and TITLE attributes of the warning icon
+icon-warning =
+ .alt = Warning icon
+ .title =
+ Warning
+ titleWarning
+
+ Warning
+
+# Text for the ALT and TITLE attributes of the error icon
+icon-error =
+ .alt = Error icon
+ .title = Error
+
diff --git a/l10n-fi/devtools/client/boxmodel.properties b/l10n-fi/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..e932d8f0c5
--- /dev/null
+++ b/l10n-fi/devtools/client/boxmodel.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/.
+
+# LOCALIZATION NOTE : FILE This file contains the Layout View strings.
+# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar.
+
+# LOCALIZATION NOTE : FILE The correct localization of this file might be to
+# keep it in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (boxmodel.title) This is the title of the box model panel and is
+# displayed as a label.
+boxmodel.title=Box Model
+
+# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a
+# tooltip that appears when hovering over the button that allows users to edit the
+# position of an element in the page.
+boxmodel.geometryButton.tooltip=Edit position
+
+# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header
+# for showing and collapsing the properties underneath the box model in the layout view
+boxmodel.propertiesLabel=Box Model Properties
+
+# LOCALIZATION NOTE (boxmodel.propertiesHideLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently showing, it will say "Hide".
+boxmodel.propertiesHideLabel=Hide
+
+# LOCALIZATION NOTE (boxmodel.propertiesShowLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently hidden, it will say "Show".
+boxmodel.propertiesShowLabel=Show
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of
+# properties, below the box model, in the layout view. It is displayed next to the
+# position property, when position is absolute, relative, sticky. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent=offset
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent.title) This label is displayed as a
+# tooltip that appears when hovering over the offset label, inside the list of properties,
+# below the box model, in the layout view. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent.title=Offset parent of the selected element
+
diff --git a/l10n-fi/devtools/client/changes.properties b/l10n-fi/devtools/client/changes.properties
new file mode 100644
index 0000000000..dc75955b37
--- /dev/null
+++ b/l10n-fi/devtools/client/changes.properties
@@ -0,0 +1,64 @@
+# 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 This file contains the strings for the Changes panel accessible from
+# the Inspector sidebar.
+
+# LOCALIZATION NOTE (changes.noChanges): This text is shown when no changes are available.
+changes.noChanges=No changes found.
+
+# LOCALIZATION NOTE (changes.noChangesDescription): This text is shown when no changes are
+# available and provides additional context for the purpose of the Changes panel.
+changes.noChangesDescription=Changes to CSS in Inspector will appear here.
+
+# LOCALIZATION NOTE (changes.inlineStyleSheetLabel): This label appears in the Changes
+# panel above changes done to inline stylesheets. The variable will be replaced with the
+# index of the stylesheet within its document like so: Inline #1
+changes.inlineStyleSheetLabel=Inline %S
+
+# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes
+# panel above changes done to element styles.
+changes.elementStyleLabel=Element
+
+# LOCALIZATION NOTE (changes.iframeLabel): This label appears next to URLs of stylesheets
+# and element inline styles hosted by iframes. Lowercase intentional.
+changes.iframeLabel=iframe
+
+# LOCALIZATION NOTE (changes.contextmenu.copy): Label for "Copy" option in Changes panel
+# context menu
+changes.contextmenu.copy=Copy
+
+# LOCALIZATION NOTE (changes.contextmenu.copy.accessKey): Access key for "Copy"
+# option in the Changes panel.
+changes.contextmenu.copy.accessKey=C
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChanges): Label for "Copy All Changes"
+# option in Changes panel context menu which copies all changed CSS declarations from a
+# stylesheet
+changes.contextmenu.copyAllChanges=Copy All Changes
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChangesDescription): Detailed explanation
+# for "Copy All Changes" option in Changes panel. Used as title attribute on "Copy All
+# Changes" button
+changes.contextmenu.copyAllChangesDescription=Copy a list of all CSS changes to clipboard.
+
+# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration"
+# option in Changes panel context menu which copies the target CSS declaration.
+changes.contextmenu.copyDeclaration=Copy Declaration
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRule): Label for "Copy Rule" option in
+# Changes panel context menu which copies the complete contents of a CSS rule.
+changes.contextmenu.copyRule=Copy Rule
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRuleDescription): Detailed explanation for
+# "Copy Rule" option in Changes panel. Used as title attribute on "Copy Rule" button.
+changes.contextmenu.copyRuleDescription=Copy contents of this CSS rule to clipboard.
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the
+# Changes panel context menu to select all text content.
+changes.contextmenu.selectAll=Select All
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All"
+# option in the Changes panel.
+changes.contextmenu.selectAll.accessKey=A
diff --git a/l10n-fi/devtools/client/compatibility.ftl b/l10n-fi/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..05210e7f1a
--- /dev/null
+++ b/l10n-fi/devtools/client/compatibility.ftl
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Messages used as headers in the main pane
+
+compatibility-selected-element-header = Selected Element
+compatibility-all-elements-header = All Issues
+
+## Message used as labels for the type of issue
+
+compatibility-issue-deprecated = (deprecated)
+compatibility-issue-experimental = (experimental)
+compatibility-issue-prefixneeded = (prefix needed)
+compatibility-issue-deprecated-experimental = (deprecated, experimental)
+compatibility-issue-deprecated-prefixneeded = (deprecated, prefix needed)
+compatibility-issue-experimental-prefixneeded = (experimental, prefix needed)
+compatibility-issue-deprecated-experimental-prefixneeded = (deprecated, experimental, prefix needed)
+
+## Messages used as labels and titles for buttons in the footer
+
+compatibility-settings-button-label = Settings
+compatibility-settings-button-title =
+ .title = Settings
+
+## Messages used as headers in settings pane
+
+compatibility-settings-header = Settings
+compatibility-target-browsers-header = Target Browsers
+
+##
+
+# Text used as the label for the number of nodes where the issue occurred
+# Variables:
+# $number (Number) - The number of nodes where the issue occurred
+compatibility-issue-occurrences =
+ { $number ->
+ [one] { $number } occurrence
+ *[other] { $number } occurrences
+ }
+
+compatibility-no-issues-found = No compatibility issues found.
+compatibility-close-settings-button =
+ .title = Close settings
+
+# Text used in the element containing the browser icons for a given compatibility issue.
+# Line breaks are significant.
+# Variables:
+# $browsers (String) - A line-separated list of browser information (e.g. Firefox 98\nChrome 99).
+compatibility-issue-browsers-list =
+ .title =
+ Compatibility issues in:
+ { $browsers }
diff --git a/l10n-fi/devtools/client/components.properties b/l10n-fi/devtools/client/components.properties
new file mode 100644
index 0000000000..75a0499a55
--- /dev/null
+++ b/l10n-fi/devtools/client/components.properties
@@ -0,0 +1,61 @@
+# 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 These strings are used in the shared React components,
+# so files in `devtools/client/shared/components/*`.
+
+# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of
+# a frame, we use this string instead.
+frame.unknownSource=(unknown)
+
+# LOCALIZATION NOTE (frame.viewsourceindebugger): The label for the tooltip when hovering over
+# a source link that links to the debugger.
+# %S represents the URL to match in the debugger.
+frame.viewsourceindebugger=View source in Debugger → %S
+
+# LOCALIZATION NOTE (frame.viewsourceinstyleeditor): The label for the tooltip when hovering over
+# a source link that links to the Style Editor.
+# %S represents the URL to match in the style editor.
+frame.viewsourceinstyleeditor=View source in Style Editor → %S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=Close this message
+
+# LOCALIZATION NOTE (appErrorBoundary.description): This is the information displayed
+# once the panel errors.
+# %S represents the name of panel which has the crash.
+appErrorBoundary.description=The %S panel has crashed.
+
+# LOCALIZATION NOTE (appErrorBoundary.fileBugButton): This is the text that appears in
+# the button to visit the bug filing link.
+appErrorBoundary.fileBugButton=File Bug Report
+
+# LOCALIZATION NOTE (appErrorBoundary.reloadPanelInfo): This is the text that appears
+# after the panel errors to instruct the user to reload the panel.
+appErrorBoundary.reloadPanelInfo=Close and reopen the toolbox to clear this error.
+
+# LOCALIZATION NOTE(searchModifier.regExpModifier): A search option
+# when searching text in a file
+searchModifier.regExpModifier=Käytä säännöllistä lauseketta
+
+# LOCALIZATION NOTE(searchModifier.caseSensitiveModifier): A search option
+# when searching text in a file
+searchModifier.caseSensitiveModifier=Huomioi kirjainkoko
+
+# LOCALIZATION NOTE(searchModifier.wholeWordModifier): A search option
+# when searching text in a file
+searchModifier.wholeWordModifier=Kokonaiset sanat
+
+# LOCALIZATION NOTE (searchBox.clearButtonTitle): The title of the SearchBox clear input
+# button, which is displayed when the input is not empty.
+searchBox.clearButtonTitle=Clear filter input
+
+# LOCALIZATION NOTE treeNode.collapseButtonTitle): The title of the Tree node toggle
+# button when the node is expanded.
+treeNode.collapseButtonTitle=Collapse
+
+# LOCALIZATION NOTE treeNode.expandButtonTitle): The title of the Tree node toggle
+# button when the node is collapsed.
+treeNode.expandButtonTitle=Expand
diff --git a/l10n-fi/devtools/client/debugger.properties b/l10n-fi/devtools/client/debugger.properties
new file mode 100644
index 0000000000..10781c0094
--- /dev/null
+++ b/l10n-fi/devtools/client/debugger.properties
@@ -0,0 +1,1132 @@
+# 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 These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (collapseSources): This is the tooltip for the button
+# that collapses the Sources and Outlines panes in the debugger UI.
+collapseSources=Collapse Sources and Outline panes
+
+# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button
+# that collapses the Breakpoints panes in the debugger UI.
+collapseBreakpoints=Collapse Breakpoints pane
+
+# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the text that the user selected.
+copyToClipboard.label=Copy to clipboard
+copyToClipboard.accesskey=C
+
+# LOCALIZATION NOTE (copySource.label): This is the text that appears in the
+# context menu to copy all of the text in the open file.
+copySource.label=Copy source text
+copySource.accesskey=y
+
+# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the
+# context menu to copy the source URI of file open.
+copySourceUri2=Copy source URI
+copySourceUri2.accesskey=u
+
+# LOCALIZATION NOTE (collapseAll.label): This is the text that appears in the
+# context menu to collapse a directory and all of its subdirectories.
+collapseAll.label=Collapse all
+
+# LOCALIZATION NOTE (expandAll.label): This is the text that appears in the
+# context menu to expand a directory and all of its subdirectories.
+expandAll.label=Expand all
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=Set directory root
+setDirectoryRoot.accesskey=r
+
+# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the
+# context menu to remove a directory as root directory
+removeDirectoryRoot.label=Remove directory root
+
+# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item
+ignoreAll.label=Ignore
+
+# LOCALIZATION NOTE (ignoreAllInGroup.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected group
+ignoreAllInGroup.label=Ignore files in this group
+
+# LOCALIZATION NOTE (unignoreAllInGroup.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected group
+unignoreAllInGroup.label=Unignore files in this group
+
+# LOCALIZATION NOTE (ignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected group
+ignoreAllOutsideGroup.label=Ignore files outside this group
+
+# LOCALIZATION NOTE (unignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to unignore all files outside of the selected group
+unignoreAllOutsideGroup.label=Unignore files outside this group
+
+# LOCALIZATION NOTE (ignoreAllInDir.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected directory
+ignoreAllInDir.label=Ignore files in this directory
+
+# LOCALIZATION NOTE (unignoreAllInDir.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected directory
+unignoreAllInDir.label=Unignore files in this directory
+
+# LOCALIZATION NOTE (ignoreAllOutsideDir.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected directory
+ignoreAllOutsideDir.label=Ignore files outside this directory
+
+# LOCALIZATION NOTE (unignoreAllOutsideDir.label: This is the text that appears in the
+# context submenu to unignore all files outside of the selected directory
+unignoreAllOutsideDir.label=Unignore files outside this directory
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=Copy Function
+copyFunction.accesskey=F
+
+# LOCALIZATION NOTE (copyStackTrace): This is the text that appears in the
+# context menu to copy the stack trace methods, file names and row number.
+copyStackTrace=Copy Stack Trace
+copyStackTrace.accesskey=c
+
+# LOCALIZATION NOTE (restartFrame): This is the text that appears in the
+# context menu to restart a frame.
+restartFrame=Restart frame
+restartFrame.accesskey=r
+
+# LOCALIZATION NOTE (expandSources): This is the tooltip for the button
+# that expands the Sources and Outlines panes in the debugger UI.
+expandSources=Expand Sources and Outline panes
+
+# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button
+# that expands the Breakpoints panes in the debugger UI.
+expandBreakpoints=Expand Breakpoints pane
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=Evaluate in console
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=Pause %S
+
+# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for
+# the pause button after it's been clicked but before the next JavaScript to run.
+pausePendingButtonTooltip=Waiting for next execution
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. %S is for the log output location (webconsole or stdout).
+startTraceButtonTooltip=Trace all JavaScript frames to %S.\nRight click to change the output.
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+stopTraceButtonTooltip=Stop tracing JavaScript frames.
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar.
+# %1$S is for the key shortcut
+# %2$S is for the log output location (webconsole or stdout).
+startTraceButtonTooltip2=Trace all JavaScript frames to %2$S. (%1$S)\nRight click to change the output.
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+# %S is for the key shortcut
+stopTraceButtonTooltip2=Stop tracing JavaScript frames. (%S)
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the Web Console.
+traceInWebConsole=Trace in the web console
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the stdout.
+traceInStdout=Trace in the stdout
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=Resume %S
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=Step Over %S
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=Step In %S
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=Step Out %S
+
+# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all
+# breakpoints and pausing triggers
+skipPausingTooltip.label=Deactivate breakpoints
+
+# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all
+# breakpoints and pausing triggers
+undoSkipPausingTooltip.label=Activate breakpoints
+
+# LOCALIZATION NOTE (pauseOnDebuggerStatement): The pause on debugger statement checkbox label
+pauseOnDebuggerStatement=Pause on debugger statement
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=Pause on exceptions
+
+# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger should pause on caught exceptions
+pauseOnCaughtExceptionsItem=Pause on caught exceptions
+
+# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header
+threadsHeader=Threads
+
+# LOCALIZATION NOTE (mainThread): The text to describe the thread of the
+# program as opposed to worker threads.
+mainThread=Main Thread
+
+# LOCALIZATION NOTE (pausedThread): The text to describe the status of paused threads
+pausedThread=paused
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=This page has no sources.
+
+# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the
+# sources list footer when ignored sources are hidden.
+ignoredSourcesHidden=Ignored sources are hidden.
+
+# LOCALIZATION NOTE (showIgnoredSources): Notification button displayed in the
+# source next to the "ignored sources are hidden" string. Clicking on this link
+# shows all the ignored sources which are currently hidden.
+showIgnoredSources=Show all sources
+
+# LOCALIZATION NOTE (showIgnoredSources.tooltip.label): Message displayed in the tooltip of the notification
+# link displayed in the sources list footer when ignored sources are hidden.
+showIgnoredSources.tooltip.label=This will show all the ignored sources (which are currently hidden) in the tree.
+
+# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events
+# header.
+eventListenersHeader1=Event Listener Breakpoints
+
+# LOCALIZATION NOTE (noDomMutationBreakpoints): The text to
+# display in the DOM Mutation Breakpoints pane when there are no events.
+# %S will be replaced by an active link using inspectorTool as text
+noDomMutationBreakpoints=Right click an element in the %S and select “Break on…” to add a breakpoint
+
+# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool
+inspectorTool=Inspector
+
+# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in
+# the event search input bar
+eventListenersHeader1.placeholder=Filter by event type
+
+# LOCALIZATION NOTE (domMutationHeader): The text to display in the
+# DOM Mutation Breakpoints header
+domMutationHeader=DOM Mutation Breakpoints
+
+# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the
+# DOM Mutation Breakpoints panel for an attribute change
+domMutationTypes.attribute=Attribute Modification
+
+# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM node removal
+domMutationTypes.removal=Node Removal
+
+# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM subtree change
+domMutationTypes.subtree=Subtree Modification
+
+# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for
+# searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+P", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.key2=CmdOrCtrl+P
+
+# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the
+# search for searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.alt.key=CmdOrCtrl+O
+
+# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the
+# full project text search for searching all the files the debugger has seen.
+# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+projectTextSearch.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (allShortcut.key): A key shortcut to open the
+# modal of full shortcuts list.
+# Do not localize "CmdOrCtrl+/", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+allShortcut.key=CmdOrCtrl+/
+
+# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the
+# modal for searching functions in a file.
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+functionSearch.key=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle
+# breakpoints.
+# Do not localize "CmdOrCtrl+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleBreakpoint.key=CmdOrCtrl+B
+
+# LOCALIZATION NOTE (toggleCondPanel.breakpoint.key): A key shortcut to toggle
+# the conditional panel for breakpoints.
+# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.breakpoint.key=CmdOrCtrl+Shift+B
+
+# LOCALIZATION NOTE (toggleCondPanel.logPoint.key): A key shortcut to toggle
+# the conditional panel for log points.
+# Do not localize "CmdOrCtrl+Shift+Y", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.logPoint.key=CmdOrCtrl+Shift+Y
+
+# LOCALIZATION NOTE (stepOut.key): A key shortcut to
+# step out.
+stepOut.key=Shift+F11
+
+# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in
+# the shortcuts modal for keyboard shortcuts related to editing.
+shortcuts.header.editor=Editor
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+shortcuts.header.stepping=Stepping
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=Search
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=Find in files…
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.label): A label shown
+# above the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.label=files to exclude
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.placeholder): A placeholder shown
+# for the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.placeholder=e.g. **/node_modules/**,app.js
+
+# LOCALIZATION NOTE (projectTextSearch.noResults): The center pane Text Search
+# message when the query did not match any text of all files in a project.
+projectTextSearch.noResults=No results found
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+projectTextSearch.refreshButtonTooltip=Click to refresh search results
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+projectTextSearch.refreshButtonTooltipOnNavigation=The page navigated to a new document. Click to refresh search results
+
+# LOCALIZATION NOTE (projectTextSearch.sourceNoLongerAvailable): Tooltip message shown
+# on Text Search results when the related source no longer exists.
+# This typically happens after navigating or reloading the page and search results are obsolete.
+projectTextSearch.sourceNoLongerAvailable=This source is no longer available.\nRefresh the search to have latest sources.
+
+# LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search
+# for searching within a the currently opened files in the editor
+# Do not localize "CmdOrCtrl+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.key2=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder=Search in file…
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder2=Find in file…
+
+# LOCALIZATION NOTE (sourceSearch.resultsSummary2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Shows a summary of the number of matches for autocomplete
+sourceSearch.resultsSummary2=#1 result;#1 results
+
+# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements
+# that are displayed in the breakpoint headings menu item popup.
+breakpointHeadingsMenuItem.enableInSource.label=Enable breakpoints
+breakpointHeadingsMenuItem.enableInSource.accesskey=E
+breakpointHeadingsMenuItem.disableInSource.label=Disable breakpoints
+breakpointHeadingsMenuItem.disableInSource.accesskey=D
+breakpointHeadingsMenuItem.removeInSource.label=Remove breakpoints
+breakpointHeadingsMenuItem.removeInSource.accesskey=R
+
+# LOCALIZATION NOTE (breakpointMenuItem): The text for all the elements that
+# are displayed in the breakpoints menu item popup.
+breakpointMenuItem.enableSelf2.label=Enable
+breakpointMenuItem.enableSelf2.accesskey=E
+breakpointMenuItem.disableSelf2.label=Disable
+breakpointMenuItem.disableSelf2.accesskey=D
+breakpointMenuItem.deleteSelf2.label=Remove
+breakpointMenuItem.deleteSelf2.accesskey=R
+breakpointMenuItem.disabledbg.label=Never pause here
+breakpointMenuItem.enabledbg.label=Pause here
+breakpointMenuItem.enableOthers2.label=Enable others
+breakpointMenuItem.enableOthers2.accesskey=o
+breakpointMenuItem.disableOthers2.label=Disable others
+breakpointMenuItem.disableOthers2.accesskey=s
+breakpointMenuItem.deleteOthers2.label=Remove others
+breakpointMenuItem.deleteOthers2.accesskey=h
+breakpointMenuItem.enableAll2.label=Enable all
+breakpointMenuItem.enableAll2.accesskey=b
+breakpointMenuItem.disableAll2.label=Disable all
+breakpointMenuItem.disableAll2.accesskey=k
+breakpointMenuItem.deleteAll2.label=Remove all
+breakpointMenuItem.deleteAll2.accesskey=a
+breakpointMenuItem.removeCondition2.label=Remove condition
+breakpointMenuItem.removeCondition2.accesskey=c
+breakpointMenuItem.addCondition2.label=Add condition
+breakpointMenuItem.addCondition2.accesskey=A
+breakpointMenuItem.editCondition2.label=Edit condition
+breakpointMenuItem.editCondition2.accesskey=n
+breakpointMenuItem.enableSelf=Enable breakpoint
+breakpointMenuItem.disableSelf=Disable breakpoint
+breakpointMenuItem.deleteSelf=Remove breakpoint
+breakpointMenuItem.enableOthers=Enable others
+breakpointMenuItem.disableOthers=Disable others
+breakpointMenuItem.deleteOthers=Remove others
+breakpointMenuItem.enableAll=Enable all breakpoints
+breakpointMenuItem.disableAll=Disable all breakpoints
+breakpointMenuItem.deleteAll=Remove all breakpoints
+breakpointMenuItem.disableAllAtLine.label=Disable breakpoints on line
+breakpointMenuItem.disableAllAtLine.accesskey=K
+breakpointMenuItem.enableAllAtLine.label=Enable breakpoints on line
+breakpointMenuItem.enableAllAtLine.accesskey=L
+breakpointMenuItem.removeAllAtLine.label=Remove breakpoints on line
+breakpointMenuItem.removeAllAtLine.accesskey=X
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=Breakpoints
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=Remove Breakpoint
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+callStack.header=Call Stack
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=Not Paused
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=Collapse Rows
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=Expand Rows
+
+# LOCALIZATION NOTE (callStack.group.expandTooltip): The text that will appear
+# when hovering a collapsed Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Show React frames`.
+callStack.group.expandTooltip=Show %S frames
+
+# LOCALIZATION NOTE (callStack.group.collapseTooltip): The text that will appear
+# when hovering an expanded Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Collapse React frames`.
+callStack.group.collapseTooltip=Collapse %S frames
+
+# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results.
+editor.searchResults1=%d of #1 result;%d of #1 results
+
+# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message
+# for when no results found.
+editor.noResultsFound=No results found
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=Next Result
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=Previous Result
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=Continue To Here
+editor.continueToHere.accesskey=H
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=Add Breakpoint
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=Disable Breakpoint
+editor.disableBreakpoint.accesskey=D
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=Enable Breakpoint
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=Remove Breakpoint
+
+# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionBreakpoint=Add condition
+editor.addConditionBreakpoint.accesskey=c
+
+# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editConditionBreakpoint=Edit condition
+
+# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context
+# menu item for adding a log point on a line.
+editor.addLogPoint=Add log
+editor.addLogPoint.accesskey=l
+
+# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item
+# for editing a log point already set on a line.
+editor.editLogPoint=Edit log
+editor.editLogPoint.accesskey=E
+
+# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing
+# a log point on a line.
+editor.removeLogPoint.label=Remove log
+editor.removeLogPoint.accesskey=V
+
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component
+editor.conditionalPanel.placeholder2=Breakpoint condition, e.g. items.length > 0
+
+# LOCALIZATION NOTE (editor.conditionalPanel.logPoint.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component when a log point is set
+editor.conditionalPanel.logPoint.placeholder2=Log message, e.g. displayName
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=Jump to %S location
+editor.jumpToMappedLocation1.accesskey=m
+
+# LOCALIZATION NOTE (downloadFile.label): Context menu item
+# for downloading a source's content
+downloadFile.label=Download file
+downloadFile.accesskey=d
+
+# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item
+# for showing the inline preview blocks
+inlinePreview.show.label=Show inline preview
+
+# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item
+# for hiding the inline preview block
+inlinePreview.hide.label=Hide inline preview
+
+# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item
+# that will toggle display of inline preview
+inlinePreview.toggle.label=Inline Variable Preview
+
+# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item
+# tooltip that will describe toggling inline preview
+inlinePreview.toggle.tooltip=Show inline preview in the debugger editor
+
+# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.show.label=Wrap lines
+
+# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.hide.label=Unwrap lines
+
+# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item
+# label for toggling the lines wrapping feature
+editorWrapping.toggle.label=Wrap Lines
+
+# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item
+# tooltip for toggling the lines wrapping feature
+editorWrapping.toggle.tooltip=Wrap lines in the debugger editor
+
+# LOCALIZATION NOTE (settings.button.label): Label for Settings button
+settings.button.label=Debugger Settings
+
+# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item
+# label for disabling JavaScript
+settings.disableJavaScript.label=Disable JavaScript
+
+# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item
+# tooltip for disabling JavaScript
+settings.disableJavaScript.tooltip=Disables JavaScript (Requires refresh)
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item
+# tooltip for toggling the source maps feature
+settings.toggleSourceMaps.tooltip=Enable Source Maps to let DevTools load your original sources in addition to your generated ones
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item
+# label for toggling the source maps feature
+settings.toggleSourceMaps.label=Source Maps
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item
+# tooltip for hiding and showing all the ignored sources
+settings.hideIgnoredSources.tooltip=Hides all ignored sources in the Sources panel
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.label): Context menu item
+# label for hiding all ignored sources when enabled (indicated by the check mark)
+# Ignored sources will be shown when disabled (no check mark).
+settings.hideIgnoredSources.label=Hide Ignored Sources
+
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.tooltip): Context menu item
+# tooltip for ignoring all sources on the sourcemaps ignore list.
+# Note: x_google_ignoreList should not be translated.
+settings.enableSourceMapIgnoreList.tooltip=Ignores all sources on the source map x_google_ignoreList field.
+
+# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.label): Context menu item
+# label for ignoring all sources on the sourcemaps ignore list when enabled
+# (indicated by the check mark). The sources on the ignore list are un-ignored
+# when disabled (no check mark).
+# Note: Make sure to also keep 'sourceFooter.ignoreList' in sync when this changes
+settings.enableSourceMapIgnoreList.label=Ignore Known Third-party Scripts
+
+# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview
+# popup when there are no properties to show.
+preview.noProperties=No properties
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping=Disable Framework Grouping
+framework.disableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping=Enable Framework Grouping
+framework.enableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=generated
+
+# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location
+original=original
+
+# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
+# input element
+expressions.placeholder=Add Watch Expression
+
+# LOCALIZATION NOTE (expressions.noOriginalScopes): Expressions right sidebar pane message
+# for when the`map variable names`is off and the debugger is paused in an original source
+expressions.noOriginalScopes=Original variables name mapping is turned off. Expression values might not be accurate.
+
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Invalid expression…
+expressions.label=Add watch expression
+expressions.accesskey=e
+expressions.remove.tooltip=Remove watch expression
+
+# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings
+xhrBreakpoints.header=XHR Breakpoints
+xhrBreakpoints.placeholder=Break when URL contains
+xhrBreakpoints.label=Add XHR breakpoint
+
+# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel
+xhrBreakpoints.removeAll.tooltip=Remove all XHR breakpoints
+
+
+# LOCALIZATION NOTE (xhrBreakpoints.item.label): message displayed when reaching a breakpoint for XHR requests. %S is replaced by the path provided as condition for the breakpoint.
+xhrBreakpoints.item.label=URL contains “%S”
+
+# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description
+# when the debugger will pause on any XHR requests.
+pauseOnAnyXHR=Pause on any URL
+
+# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu.
+watchpoints.submenu=Break on…
+
+# LOCALIZATION NOTE (watchpoints.getWatchpoint): This is the text that appears in the
+# watchpoints sub-menu to add a "get" watchpoint on an object property.
+watchpoints.getWatchpoint=Property get
+
+# LOCALIZATION NOTE (watchpoints.setWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.setWatchpoint=Property set
+
+# LOCALIZATION NOTE (watchpoints.getOrSetWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.getOrSetWatchpoint=Property get or set
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the
+# context menu to delete a watchpoint on an object property.
+watchpoints.removeWatchpoint=Remove watchpoint
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the
+# tooltip to delete a watchpoint on an object property.
+watchpoints.removeWatchpointTooltip=Remove watchpoint
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=Close tab
+sourceTabs.closeTab.accesskey=c
+sourceTabs.closeTab.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=Close others
+sourceTabs.closeOtherTabs.accesskey=o
+
+# LOCALIZATION NOTE (sourceTabs.closeTabsToEnd): Editor source tab context menu item
+# for closing the tabs to the end (the right for LTR languages) of the selected tab.
+sourceTabs.closeTabsToEnd=Close tabs to the right
+sourceTabs.closeTabsToEnd.accesskey=e
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=Close all tabs
+sourceTabs.closeAllTabs.accesskey=a
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=Reveal in Tree
+sourceTabs.revealInTree.accesskey=r
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=Pretty Print Source
+sourceTabs.prettyPrint.accesskey=p
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isPrettyPrintedMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is already pretty printed.
+sourceFooter.prettyPrint.isPrettyPrintedMessage=Can’t pretty print, file is already pretty printed
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isOriginalMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is an original source.
+sourceFooter.prettyPrint.isOriginalMessage=Can’t pretty print original sources, file is already readable
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.hasSourceMapMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has a valid sourcemap with original sources.
+sourceFooter.prettyPrint.hasSourceMapMessage=Can’t pretty print generated sources with valid sourcemaps. Please use the original sources.
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.noContentMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file has no content.
+sourceFooter.prettyPrint.noContentMessage=Can’t pretty print, file has no content
+
+# LOCALIZATION NOTE (sourceFooter.prettyPrint.isNotJavascriptMessage): Tooltip text for the disabled
+# pretty print button in editor footer. This displays when the file is not JavaScript code.
+sourceFooter.prettyPrint.isNotJavascriptMessage=Can’t pretty print, file is not JavaScript
+
+# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated
+# with the ignores button
+sourceFooter.ignore=Ignore source
+
+# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated
+# with the ignore button
+sourceFooter.unignore=Unignore source
+
+# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated
+# with the ignore source button when the selected source is on the ignore list
+sourceFooter.ignoreList=This source is on the ignore list. Please turn off the `Ignore Known Third-party Scripts` option to enable it.
+
+# LOCALIZATION NOTE (editorNotificationFooter.noOriginalScopes): The notification message displayed in the editor notification footer
+# when paused in an original file and original variable mapping is turned off
+# %S is text from the label for checkbox to show original scopes
+editorNotificationFooter.noOriginalScopes=Original variables name mapping is turned off, so all inline and tooltip previews are disabled. Click the `%S` checkbox in the scopes panel to turn them on.
+
+# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated
+# with the ignore context menu item
+ignoreContextItem.ignore=Ignore source
+ignoreContextItem.ignore.accesskey=I
+
+# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated
+# with the unignore context menu item
+ignoreContextItem.unignore=Unignore source
+ignoreContextItem.unignore.accesskey=U
+
+# LOCALIZATION NOTE (overridesContextItem.override): Text associated
+# with the add overrides context menu item
+overridesContextItem.override=Add script override
+overridesContextItem.override.accesskey=o
+
+# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated
+# with the remove override context menu item
+overridesContextItem.removeOverride=Remove script override
+overridesContextItem.removeOverride.accesskey=o
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated
+# with the ignore line context menu item
+ignoreContextItem.ignoreLine=Ignore line
+ignoreContextItem.ignoreLine.accesskey=l
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated
+# with the unignore line context menu item
+ignoreContextItem.unignoreLine=Unignore line
+ignoreContextItem.unignoreLine.accesskey=n
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated
+# with the ignore lines context menu item
+ignoreContextItem.ignoreLines=Ignore lines
+ignoreContextItem.ignoreLines.accesskey=i
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated
+# with the unignore lines context menu item
+ignoreContextItem.unignoreLines=Unignore lines
+ignoreContextItem.unignoreLines.accesskey=u
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(From %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(Source mapped from %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated
+# with a mapped source. Displays next to URLs in tree and tabs.
+sourceFooter.mappedSuffix=(mapped)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition=(%S, %S)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition.tooltip=(Line %1$S, column %2$S)
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=Close tab
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=Scopes
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=Scopes Unavailable
+
+# LOCALIZATION NOTE (scopes.noOriginalScopes): Scopes right sidebar pane message
+# for when original variable mapping is disabled. This is only displayed when paused in an original source.
+# %S is text from the label for checkbox to show original scopes
+scopes.noOriginalScopes=Original variables name mapping is turned off. Scopes cannot be displayed. Click the `%S` checkbox above to turn on.
+
+# LOCALIZATION NOTE (scopes.loadingOriginalScopes): Scopes right sidebar pane message
+# for when the debugger is still loading the original variable mapping information.
+scopes.loadingOriginalScopes=Loading variables for the original source…
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=Not Paused
+
+# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.mapping.label=Map original variable names
+
+# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for
+# checkbox and label
+eventlisteners.log.label=Log events to the console
+
+# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events
+eventlisteners.log=Log
+
+# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.helpTooltip.label=Learn more about map scopes
+
+# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes
+scopes.map.label=Map
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesHelpTooltip): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.showOriginalScopesHelpTooltip=Learn more about mapping variables and showing the original scopes
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesTooltip): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.showOriginalScopesTooltip=Show the scopes with mapped variable names for the original source.
+
+# LOCALIZATION NOTE (scopes.showOriginalScopes): Checkbox label to show original scopes
+scopes.showOriginalScopes=Show original variables
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=Block
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=Sources
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=Outline
+
+# LOCALIZATION NOTE (search.header): Search left sidebar header
+search.header=Search
+
+# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input
+# element
+outline.placeholder=Filter functions
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=Sort by name
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=No functions
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=No file selected
+
+# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt
+# e.g. Cmd+P to search. On a mac, we use the command unicode character.
+# On windows, it's ctrl.
+sources.search=%S to search
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=Watch Expressions
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=Refresh
+
+# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search=%S to search for sources
+
+# LOCALIZATION NOTE (welcome.search2): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search2=%S Go to file
+
+# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles=%S to find in files
+
+# LOCALIZATION NOTE (welcome.findInFiles2): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles2=%S Find in files
+
+# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of
+# shortcuts, displayed in the welcome panel.
+welcome.allShortcuts=Show all shortcuts
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=Search…
+
+# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search2=Go to file…
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=Pause on all exceptions. Click to ignore exceptions
+
+# LOCALIZATION NOTE (loadingText): The text that is displayed in the script
+# editor when the loading process has started but there is no file to display
+# yet.
+loadingText=Loading\u2026
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=Please refresh to debug this module
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=Error loading this URI: %S
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=Go to line…
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=Go to a line number in a file
+
+# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the
+# go to line modal
+# Do not localize "Ctrl+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+gotoLineModal.key3=Ctrl+G
+
+# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
+# text displayed when the user searches for functions in a file
+symbolSearch.search.functionsPlaceholder=Search functions…
+symbolSearch.search.functionsPlaceholder.title=Search for a function in a file
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=Search variables…
+symbolSearch.search.variablesPlaceholder.title=Search for a variable in a file
+
+# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for
+# searching for a function or variable
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+symbolSearch.search.key2=CmdOrCtrl+Shift+O
+
+experimental=This is an experimental feature
+
+# LOCALIZATION NOTE (ctrl): The text that is used for documenting
+# keyboard shortcuts that use the control key
+ctrl=Ctrl
+
+# LOCALIZATION NOTE (anonymousFunction): this string is used to display
+# JavaScript functions that have no given name - they are said to be
+# anonymous.
+anonymousFunction=<anonymous>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(Async: %S)
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=Toggle Breakpoint
+shortcuts.toggleBreakpoint.accesskey=B
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.breakpoint): text describing
+# keyboard shortcut action for toggling conditional panel for breakpoints
+shortcuts.toggleCondPanel.breakpoint=Edit Conditional Breakpoint
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing
+# keyboard shortcut action for toggling conditional panel for log points
+shortcuts.toggleCondPanel.logPoint=Edit Log Point
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=Pause/Resume
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+shortcuts.stepOver=Step Over
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+shortcuts.stepIn=Step In
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+shortcuts.stepOut=Step Out
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=Source File Search
+
+# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch2=Go to file
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=Go to line
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=Full Project Search
+
+# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch2=Find in files
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=Function Search
+
+# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch2=Find function
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=Keyboard shortcuts
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel=:
+variablesViewOptimizedOut=(optimized away)
+variablesViewUninitialized=(uninitialized)
+variablesViewMissingArgs=(unavailable)
+
+# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed
+# in a tooltip on the "open in inspector" button in the the variables list for a
+# DOMNode item.
+variablesDomNodeValueTooltip=Click to select the node in the inspector
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=Click to set value
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+variablesViewErrorStacktrace=Stack trace:
+
+# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed
+# when you have an object preview that does not show all of the elements. At the end of the list
+# you see "N more..." in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of remaining items in the object
+# example: 3 more…
+variablesViewMoreObjects=#1 more…;#1 more…
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=Double click to edit
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=Click to change value
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=Click to remove
+
+# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed
+# in the variables list on certain variables or properties as tooltips.
+# Explanations of what these represent can be found at the following links:
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
+# It's probably best to keep these in English.
+configurableTooltip=configurable
+enumerableTooltip=enumerable
+writableTooltip=writable
+frozenTooltip=frozen
+sealedTooltip=sealed
+extensibleTooltip=extensible
+overriddenTooltip=overridden
+WebIDLTooltip=WebIDL
+
+# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service
+# worker that has been parsed.
+serviceWorkerInfo.parsed=parsed
+# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a
+# service worker that is being installed.
+serviceWorkerInfo.installing=installing
+# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a
+# service worker that has finished being installed.
+serviceWorkerInfo.installed=installed
+# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a
+# service worker that is being activated.
+serviceWorkerInfo.activating=activating
+# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a
+# service worker that has finished being activated.
+serviceWorkerInfo.activated=activated
+# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a
+# service worker that is redundant.
+serviceWorkerInfo.redundant=redundant
+# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a
+# service worker that is in an unknown state.
+serviceWorkerInfo.unknown=unknown
diff --git a/l10n-fi/devtools/client/device.properties b/l10n-fi/devtools/client/device.properties
new file mode 100644
index 0000000000..9c7e26b704
--- /dev/null
+++ b/l10n-fi/devtools/client/device.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside Device Emulation developer
+# tools. The correct localization of this file might be to keep it in English,
+# or another language commonly spoken among web developers. You want to make
+# that choice consistent across the developer tools. A good criteria is the
+# language in which you'd find the best documentation on web development on the
+# web.
+
+# LOCALIZATION NOTE:
+# These strings are category names in a list of devices that a user can choose
+# to simulate (e.g. "ZTE Open C", "VIA Vixen", "720p HD Television", etc).
+device.phones=Phones
+device.tablets=Tablets
+device.laptops=Laptops
+device.televisions=TVs
+device.consoles=Gaming consoles
+device.watches=Watches
+device.custom=Custom
diff --git a/l10n-fi/devtools/client/dom.properties b/l10n-fi/devtools/client/dom.properties
new file mode 100644
index 0000000000..f2d060a469
--- /dev/null
+++ b/l10n-fi/devtools/client/dom.properties
@@ -0,0 +1,27 @@
+# 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 These strings are used inside the DOM panel
+# which is available from the Web Developer sub-menu -> 'DOM'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the DOM panel
+# which is available from the Browser Tools sub-menu -> 'DOM'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (dom.filterDOMPanel): A placeholder text used for
+# DOM panel search box.
+dom.filterDOMPanel=Filter DOM Panel
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=Refresh
diff --git a/l10n-fi/devtools/client/filterwidget.properties b/l10n-fi/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..ddd2f26650
--- /dev/null
+++ b/l10n-fi/devtools/client/filterwidget.properties
@@ -0,0 +1,61 @@
+# 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 These strings are used in the CSS Filter Editor Widget
+# which can be found in a tooltip that appears in the Rule View when clicking
+# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'.
+
+# LOCALIZATION NOTE (emptyFilterList):
+# This string is displayed when filter's list is empty
+# (no filter specified / all removed)
+emptyFilterList=No filter specified
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=You don’t have any saved presets. \
+You can store filter presets by choosing a name and saving them. \
+Presets are quickly accessible and you can re-use them with ease.
+
+# LOCALIZATION NOTE (addUsingList):
+# This string is displayed under [emptyFilterList] when filter's
+# list is empty, guiding user to add a filter using the list below it
+addUsingList=Add a filter using the list below
+
+# LOCALIZATION NOTE (dropShadowPlaceholder):
+# This string is used as a placeholder for drop-shadow's input
+# in the filter list (shown when <input> is empty)
+dropShadowPlaceholder=x y radius color
+
+# LOCALIZATION NOTE (dragHandleTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# drag handles of filters which are used to re-order filters
+dragHandleTooltipText=Drag up or down to re-order filter
+
+# LOCALIZATION NOTE (labelDragTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# filters' labels which can be dragged left/right to increase/decrease
+# the filter's value (like photoshop)
+labelDragTooltipText=Drag left or right to decrease or increase the value
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+# <select>
+filterListSelectPlaceholder=Select a Filter
+
+# LOCALIZATION NOTE (addNewFilterButton):
+# This string is displayed on a button used to add new filters
+addNewFilterButton=Add
+
+# LOCALIZATION NOTE (newPresetPlaceholder):
+# This string is used as a placeholder in the list of presets which is used to
+# save a new preset
+newPresetPlaceholder=Preset Name
+
+# LOCALIZATION NOTE (savePresetButton):
+# This string is displayed on a button used to save a new preset
+savePresetButton=Save
+
+# LOCALIZATION NOTE(presetsToggleButton):
+# This string is used in a button which toggles the presets list
+presetsToggleButton=Presets
diff --git a/l10n-fi/devtools/client/font-inspector.properties b/l10n-fi/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..e2f6a43bde
--- /dev/null
+++ b/l10n-fi/devtools/client/font-inspector.properties
@@ -0,0 +1,69 @@
+# 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 This file contains the Font Inspector strings.
+# The Font Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (fontinspector.system) This label indicates that the font is a local
+# system font.
+fontinspector.system=system
+
+# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when
+# no fonts were used on the selected element.
+fontinspector.noFontsUsedOnCurrentElement=No fonts used on the current element.
+
+# LOCALIZATION NOTE (fontinspector.copyURL): This is the text that appears in a tooltip
+# displayed when the user hovers over the copy icon next to the font URL.
+# Clicking the copy icon copies the full font URL to the user's clipboard
+fontinspector.copyURL=Copy URL
+
+# LOCALIZATION NOTE (fontinspector.customInstanceName): Think of instances as presets
+# (groups of settings that apply in bulk to a thing). Instances have names. When the user
+# creates a new instance, it doesn't have a name. This is the text that appears as the
+# default name for a new instance. It shows up in a dropdown from which users can select
+# between predefined instances and this custom instance.
+fontinspector.customInstanceName=Custom
+
+# LOCALIZATION NOTE (fontinspector.fontInstanceLabel): This label is shown next to the UI
+# in the font editor which allows a user to select a font instance option from a
+# dropdown. An instance is like a preset. A "font instance" is the term used by the font
+# authors to mean a group of predefined font settings.
+fontinspector.fontInstanceLabel=Instance
+
+# LOCALIZATION NOTE (fontinspector.fontSizeLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font size.
+fontinspector.fontSizeLabel=Size
+
+# LOCALIZATION NOTE (fontinspector.fontWeightLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font weight.
+fontinspector.fontWeightLabel=Weight
+
+# LOCALIZATION NOTE (fontinspector.fontItalicLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the style of the font to italic.
+fontinspector.fontItalicLabel=Italic
+
+# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts.
+fontinspector.showMore=Show more
+
+# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts.
+fontinspector.showLess=Show less
+
+# LOCALIZATION NOTE (fontinspector.letterSpacingLabel): Label for the UI to change the
+# letter spacing in the font editor.
+fontinspector.letterSpacingLabel=Spacing
+
+# LOCALIZATION NOTE (fontinspector.lineHeightLabelCapitalized): Label for the UI to change the line height in the font editor.
+fontinspector.lineHeightLabelCapitalized=Line Height
+
+# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing
+# all the fonts on the current page.
+fontinspector.allFontsOnPageHeader=All fonts on page
+
+# LOCALIZATION NOTE (fontinspector.fontsUsedLabel): Label for the Font Editor section
+# which shows the fonts used on the selected element.
+fontinspector.fontsUsedLabel=Fonts Used
+
+# LOCALIZATION NOTE (fontinspector.previewTextPlaceholder): Placeholder for the input
+# where the user can type text to get a preview of it using a font.
+fontinspector.previewTextPlaceholder=Font preview text
diff --git a/l10n-fi/devtools/client/har.properties b/l10n-fi/devtools/client/har.properties
new file mode 100644
index 0000000000..b14ef1ad50
--- /dev/null
+++ b/l10n-fi/devtools/client/har.properties
@@ -0,0 +1,30 @@
+# 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 These strings are used inside the Network Monitor
+# which is available from the Web Developer sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP response bodies are not includes
+# in exported data.
+har.responseBodyNotIncluded=Response bodies are not included.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP request bodies are not includes
+# in exported data.
+har.requestBodyNotIncluded=Request bodies are not included.
+
diff --git a/l10n-fi/devtools/client/inspector.properties b/l10n-fi/devtools/client/inspector.properties
new file mode 100644
index 0000000000..ad9a19a8e0
--- /dev/null
+++ b/l10n-fi/devtools/client/inspector.properties
@@ -0,0 +1,602 @@
+# 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 These strings are used inside the Inspector
+# which is available from the Browser Tools sub-menu -> 'Inspect'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+inspector.panelLabel.markupView=Markup View
+
+# LOCALIZATION NOTE (markupView.more.showing)
+# When there are too many nodes to load at once, we will offer to
+# show all the nodes.
+markupView.more.showing=Some nodes were hidden.
+
+# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+markupView.more.showAll2=Show one more node;Show all #1 nodes
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly.label)
+# Used in the badge that appears when whitespace-only text nodes are displayed in the
+# inspector.
+markupView.whitespaceOnly.label=whitespace
+
+# LOCALIZATION NOTE (markupView.unavailableChildren.label)
+# Used in the badge that appears when the Browser Toolbox is in "parent-process"
+# mode and the markup view cannot display the children from a content browser.
+markupView.unavailableChildren.label=unavailable
+
+# LOCALIZATION NOTE (markupView.unavailableChildren.title)
+# Title for the badge that appears when the Browser Toolbox is in "parent-process"
+# mode and the markup view cannot display the children from a content browser.
+markupView.unavailableChildren.title=Children of this element are unavailable with the current Browser Toolbox mode
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly)
+# Used in a tooltip that appears when the user hovers over whitespace-only text nodes in
+# the inspector. %S in the content will be replaced by the whitespace characters used in
+# the text node.
+markupView.whitespaceOnly=Whitespace-only text node: %S
+
+# LOCALIZATION NOTE (markupView.display.flex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flex.tooltiptext2=This element behaves like a block element and lays out its content according to the flexbox model. Click to toggle the flexbox overlay for this element.
+
+# LOCALIZATION NOTE (markupView.display.inlineFlex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineFlex.tooltiptext2=This element behaves like an inline element and lays out its content according to the flexbox model. Click to toggle the flexbox overlay for this element.
+
+# LOCALIZATION NOTE (markupView.display.grid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.grid.tooltiptext2=This element behaves like a block element and lays out its content according to the grid model. Click to toggle the grid overlay for this element.
+
+# LOCALIZATION NOTE (markupView.display.inlineGrid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineGrid.tooltiptext2=This element behaves like an inline element and lays out its content according to the grid model. Click to toggle the grid overlay for this element.
+
+# LOCALIZATION NOTE (markupView.display.subgrid.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.subgrid.tooltiptiptext=This element lays out its content according to the grid model but defers the definition of its rows and/or columns to its parent grid container.
+
+# LOCALIZATION NOTE (markupView.display.flowRoot.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flowRoot.tooltiptext=This element generates a block element box that establishes a new block formatting context.
+
+# LOCALIZATION NOTE (markupView.display.contents.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.contents.tooltiptext2=This element doesn’t produce a specific box by itself, but renders its contents.
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext=Event listener
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext2=Click to show event listeners for this element
+
+# LOCALIZATION NOTE (markupView.custom.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'custom' badge in
+# the markup view. Only displayed on custom elements with a shadow root attached.
+markupView.custom.tooltiptext=Show custom element definition
+
+# LOCALIZATION NOTE (markupView.newAttribute.label)
+# This is used to speak the New Attribute button when editing a tag
+# and a screen reader user tabs to it. This string is not visible onscreen.
+markupView.newAttribute.label=New attribute
+
+# LOCALIZATION NOTE (markupView.revealLink.tooltip)
+# Used as a tooltip for an icon in the markup view when displaying elements inserted in
+# <slot> nodes in a custom component. When clicking on the icon, the corresponding
+# non-slotted container will be selected
+markupView.revealLink.tooltip=Reveal
+
+#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
+previewTooltip.image.brokenImage=Could not load the image
+
+# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for
+# non-HTML documents
+eyedropper.disabled.title=Unavailable in non-HTML documents
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger=Open in Debugger
+
+# LOCALIZATION NOTE: Used in the event tooltip for the toggle button.
+# Parameter is the event type (e.g. "click")
+eventsTooltip.toggleButton.label=“%S” event listener code
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger2=Open “%S” in Debugger
+
+#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected
+eventsTooltip.unknownLocation=Unknown location
+
+#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location."
+eventsTooltip.unknownLocationExplanation=The original location of this listener cannot be detected. Maybe the code is transpiled by a utility such as Babel.
+
+# LOCALIZATION NOTE: Label for the checkbox in the event tooltip that toggles event listeners
+# Parameter is the event type (e.g. "click")
+eventsTooltip.toggleListenerLabel=Enable “%S” event listener
+
+#LOCALIZATION NOTE: Used in the tooltip for Bubbling
+eventsTooltip.Bubbling=Bubbling
+
+#LOCALIZATION NOTE: Used in the tooltip for Capturing
+eventsTooltip.Capturing=Capturing
+
+# LOCALIZATION NOTE: Title of the iframe we use in the event tooltip to display the code of
+# the event listener. Parameter is the event type (e.g. "click")
+eventsTooltip.codeIframeTitle=“%S” event listener code
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Show all tabs
+
+# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button
+# that toggles on the 3 pane inspector mode.
+inspector.showThreePaneMode=Toggle on the 3-pane inspector
+
+# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button
+# that toggles off the 3 pane inspector mode.
+inspector.hideThreePaneMode=Toggle off the 3-pane inspector
+
+# LOCALIZATION NOTE (inspector.searchResultsCount2): This is the label that
+# will show up next to the inspector search box. %1$S is the current result
+# index and %2$S is the total number of search results. For example: "3 of 9".
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsCount2=%1$S of %2$S
+
+# LOCALIZATION NOTE (inspector.searchResultsNone): This is the label that
+# will show up next to the inspector search box when no matches were found
+# for the given string.
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsNone=No matches
+
+# LOCALIZATION NOTE (inspector.menu.openUrlInNewTab.label): This is the label of
+# a menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is a URL, and that
+# allows to open that URL in a new tab.
+inspector.menu.openUrlInNewTab.label=Open Link in New Tab
+
+# LOCALIZATION NOTE (inspector.menu.copyUrlToClipboard.label): This is the label
+# of a menu item in the inspector contextual-menu that appears when the user
+# right-clicks on the attribute of a node in the inspector that is a URL, and
+# that allows to copy that URL in the clipboard.
+inspector.menu.copyUrlToClipboard.label=Copy Link Address
+
+# LOCALIZATION NOTE (inspector.menu.selectElement.label): This is the label of a
+# menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is the ID of another
+# element in the DOM (like with <label for="input-id">), and that allows to
+# select that element in the inspector.
+inspector.menu.selectElement.label=Select Element #%S
+
+# LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the node in the inspector, and that allows
+# to edit an attribute on this node.
+inspectorEditAttribute.label=Edit Attribute “%S”
+inspectorEditAttribute.accesskey=E
+
+# LOCALIZATION NOTE (inspectorRemoveAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to remove this attribute.
+inspectorRemoveAttribute.label=Remove Attribute “%S”
+inspectorRemoveAttribute.accesskey=R
+
+# LOCALIZATION NOTE (inspectorCopyAttributeValue.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the attribute of a node in the inspector,
+# and that allows to copy the attribute value to clipboard.
+inspectorCopyAttributeValue.label=Copy Attribute Value “%S”
+inspectorCopyAttributeValue.accesskey=V
+
+# LOCALIZATION NOTE (inspector.nodePreview.highlightNodeLabel):
+# This string is displayed in a tooltip that is shown when hovering over a the
+# inspector icon displayed next to a DOM node preview (e.g. next to something
+# like "div#foo.bar").
+# DOM node previews can be displayed in places like the animation-inspector, the
+# console or the object inspector.
+# The tooltip invites the user to click on the icon in order to highlight the
+# node in the page.
+inspector.nodePreview.highlightNodeLabel=Click to highlight this node in the page
+
+# LOCALIZATION NOTE (inspectorHTMLEdit.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users edit the
+# (outer) HTML of the current node
+inspectorXMLEdit.label=Edit As XML
+inspectorHTMLEdit.label=Edit As HTML
+inspectorSVGEdit.label=Edit As SVG
+inspectorMathMLEdit.label=Edit As MathML
+inspectorHTMLEdit.accesskey=E
+
+# LOCALIZATION NOTE (inspectorCopyInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# inner HTML of the current node
+inspectorCopyInnerHTML.label=Inner HTML
+inspectorCopyInnerHTML.accesskey=I
+
+# LOCALIZATION NOTE (inspectorCopyOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# outer HTML of the current node
+inspectorCopyOuterHTML.label=Outer HTML
+inspectorCopyOuterHTML.accesskey=O
+
+# LOCALIZATION NOTE (inspectorCopyCSSSelector.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the CSS Selector of the current node
+inspectorCopyCSSSelector.label=CSS Selector
+inspectorCopyCSSSelector.accesskey=S
+
+# LOCALIZATION NOTE (inspectorCopyCSSPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the full CSS path of the current node
+inspectorCopyCSSPath.label=CSS Path
+inspectorCopyCSSPath.accesskey=P
+
+# LOCALIZATION NOTE (inspectorCopyXPath.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the XPath of the current node
+inspectorCopyXPath.label=XPath
+inspectorCopyXPath.accesskey=X
+
+# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste outer
+# HTML in the current node
+inspectorPasteOuterHTML.label=Outer HTML
+inspectorPasteOuterHTML.accesskey=O
+
+# LOCALIZATION NOTE (inspectorPasteInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste inner
+# HTML in the current node
+inspectorPasteInnerHTML.label=Inner HTML
+inspectorPasteInnerHTML.accesskey=I
+
+# LOCALIZATION NOTE (inspectorHTMLPasteBefore.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML before the current node
+inspectorHTMLPasteBefore.label=Before
+inspectorHTMLPasteBefore.accesskey=B
+
+# LOCALIZATION NOTE (inspectorHTMLPasteAfter.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste
+# the HTML after the current node
+inspectorHTMLPasteAfter.label=After
+inspectorHTMLPasteAfter.accesskey=A
+
+# LOCALIZATION NOTE (inspectorHTMLPasteFirstChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the first child the current node
+inspectorHTMLPasteFirstChild.label=As First Child
+inspectorHTMLPasteFirstChild.accesskey=F
+
+# LOCALIZATION NOTE (inspectorHTMLPasteLastChild.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users paste
+# the HTML as the last child the current node
+inspectorHTMLPasteLastChild.label=As Last Child
+inspectorHTMLPasteLastChild.accesskey=L
+
+# LOCALIZATION NOTE (inspectorScrollNodeIntoView.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users scroll
+# the current node into view
+inspectorScrollNodeIntoView.label=Scroll Into View
+inspectorScrollNodeIntoView.accesskey=S
+
+# LOCALIZATION NOTE (inspectorHTMLDelete.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users delete the
+# current node
+inspectorHTMLDelete.label=Delete Node
+inspectorHTMLDelete.accesskey=D
+
+# LOCALIZATION NOTE (inspectorAttributesSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# attribute items, which allow to:
+# - add new attribute
+# - edit attribute
+# - remove attribute
+inspectorAttributesSubmenu.label=Attributes
+inspectorAttributesSubmenu.accesskey=A
+
+# LOCALIZATION NOTE (inspectorAddAttribute.label): This is the label shown in
+# the inspector contextual-menu for the item that lets users add attribute
+# to current node
+inspectorAddAttribute.label=Add Attribute
+inspectorAddAttribute.accesskey=A
+
+# LOCALIZATION NOTE (inspectorPseudoClassSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the pseudo-classes.
+inspectorPseudoClassSubmenu.label=Change Pseudo-class
+
+# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints.
+inspectorBreakpointSubmenu.label=Break on…
+
+# LOCALIZATION NOTE (inspectorSubtreeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for subtree modification.
+inspectorSubtreeModification.label=Subtree Modification
+
+# LOCALIZATION NOTE (inspectorAttributeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for attribute modification.
+inspectorAttributeModification.label=Attribute Modification
+
+# LOCALIZATION NOTE (inspectorNodeRemoval.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for node removal.
+inspectorNodeRemoval.label=Node Removal
+
+# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is
+# shown as the placeholder for the markup view search in the inspector.
+inspectorSearchHTML.label3=Search HTML
+
+# LOCALIZATION NOTE (inspectorImageDataUri.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the URL embedding the image data encoded in Base 64 (what we name
+# here Image Data URL). For more information:
+# https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs
+inspectorImageDataUri.label=Image Data-URL
+
+# LOCALIZATION NOTE (inspectorShowDOMProperties.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users see
+# the DOM properties of the current node. When triggered, this item
+# opens the split Console and displays the properties in its side panel.
+inspectorShowDOMProperties.label=Show DOM Properties
+
+# LOCALIZATION NOTE (inspectorShowAccessibilityProperties.label): This is the
+# label shown in the inspector contextual-menu for the item that lets users see
+# the accessibility tree and accessibility properties of the current node.
+# When triggered, this item opens accessibility panel and selects an accessible
+# object for the given node.
+inspectorShowAccessibilityProperties.label=Show Accessibility Properties
+
+# LOCALIZATION NOTE (inspectorUseInConsole.label): This is the label
+# shown in the inspector contextual-menu for the item that outputs a
+# variable for the current node to the console. When triggered,
+# this item opens the split Console.
+inspectorUseInConsole.label=Use in Console
+
+# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label
+# shown in the inspector contextual-menu for recursively expanding
+# mark-up elements
+inspectorExpandNode.label=Expand All
+
+# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label
+# shown in the inspector contextual-menu for recursively collapsing
+# mark-up elements
+inspectorCollapseAll.label=Collapse All
+
+# LOCALIZATION NOTE (inspectorScreenshotNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users take
+# a screenshot of the currently selected node.
+inspectorScreenshotNode.label=Screenshot Node
+
+# LOCALIZATION NOTE (inspectorDuplicateNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users
+# duplicate the currently selected node.
+inspectorDuplicateNode.label=Duplicate Node
+
+# LOCALIZATION NOTE (inspectorAddNode.label): This is the label shown in
+# the inspector toolbar for the button that lets users add elements to the
+# DOM (as children of the currently selected element).
+inspectorAddNode.label=Create New Node
+inspectorAddNode.accesskey=C
+
+# LOCALIZATION NOTE (inspectorCopyHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# copy items, which allow to:
+# - Copy Inner HTML
+# - Copy Outer HTML
+# - Copy Unique selector
+# - Copy Image data URI
+inspectorCopyHTMLSubmenu.label=Copy
+
+# LOCALIZATION NOTE (inspectorPasteHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# paste items, which allow to:
+# - Paste Inner HTML
+# - Paste Outer HTML
+# - Before
+# - After
+# - As First Child
+# - As Last Child
+inspectorPasteHTMLSubmenu.label=Paste
+
+# LOCALIZATION NOTE (inspectorCustomElementDefinition.label): This is the label
+# shown in the inspector contextual-menu for custom elements to which a shadow root has
+# been attached. Clicking on the menu item will open the Debugger on the custom element
+# definition location.
+inspectorCustomElementDefinition.label=Show Custom Element
+
+# LOCALIZATION NOTE (inspector.searchHTML.key):
+# Key shortcut used to focus the DOM element search box on top-right corner of
+# the markup view
+inspector.searchHTML.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (markupView.hide.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.hide.key=h
+
+# LOCALIZATION NOTE (markupView.edit.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.edit.key=F2
+
+# LOCALIZATION NOTE (markupView.scrollInto.key):
+# Key shortcut used to scroll the webpage in order to ensure the selected node
+# is visible
+markupView.scrollInto.key=s
+
+# LOCALIZATION NOTE (inspector.sidebar.fontInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of fonts used in the page.
+inspector.sidebar.fontInspectorTitle=Fonts
+
+# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle):
+# Title of the Changes sidebar tab shown in the Inspector panel. The Changes panel shows
+# style changes made using DevTools.
+inspector.sidebar.changesViewTitle=Changes
+
+# LOCALIZATION NOTE (inspector.sidebar.ruleViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of CSS rules used
+# in the page.
+inspector.sidebar.ruleViewTitle=Rules
+
+# LOCALIZATION NOTE (inspector.sidebar.computedViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of computed CSS values
+# used in the page.
+inspector.sidebar.computedViewTitle=Computed
+
+# LOCALIZATION NOTE (inspector.sidebar.layoutViewTitle2):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying layout information defined in the page.
+inspector.sidebar.layoutViewTitle2=Layout
+
+# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying animations defined in the page.
+inspector.sidebar.animationInspectorTitle=Animations
+
+# LOCALIZATION NOTE (inspector.sidebar.compatibilityViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying web compatibility information about the page.
+inspector.sidebar.compatibilityViewTitle=Compatibility
+
+# LOCALIZATION NOTE (inspector.eyedropper.label): A string displayed as the tooltip of
+# a button in the inspector which toggles the Eyedropper tool
+inspector.eyedropper.label=Grab a color from the page
+
+# LOCALIZATION NOTE (inspector.breadcrumbs.label): A string visible only to a screen reader and
+# is used to label (using aria-label attribute) a container for inspector breadcrumbs
+inspector.breadcrumbs.label=Breadcrumbs
+
+# LOCALIZATION NOTE (inspector.browserStyles.label): This is the label for the checkbox
+# that specifies whether the styles that are not from the user's stylesheet should be
+# displayed or not.
+inspector.browserStyles.label=Browser styles
+
+# LOCALIZATION NOTE (inspector.filterStyles.label): This is the label for the search box
+inspector.filterStyles.label=Filter Styles
+
+# LOCALIZATION NOTE (inspector.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+inspector.filterStyles.placeholder=Filter Styles
+
+# LOCALIZATION NOTE (inspector.filterStylesClearButton.title): This is the title
+# for the search box clear button displayed when the input is not empty.
+inspector.filterStylesClearButton.title = Clear filter input
+
+# LOCALIZATION NOTE (inspector.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar. This should
+# match ruleView.contextmenu.addNewRule in styleinspector.properties
+inspector.addRule.tooltip=Add new rule
+
+# LOCALIZATION NOTE (inspector.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+inspector.togglePseudo.tooltip=Toggle pseudo-classes
+
+# LOCALIZATION NOTE (inspector.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+inspector.classPanel.toggleClass.tooltip=Toggle classes
+
+# LOCALIZATION NOTE (inspector.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+inspector.classPanel.newClass.placeholder=Add new class
+
+# LOCALIZATION NOTE (inspector.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+inspector.classPanel.noClasses=No classes on this element
+
+# LOCALIZATION NOTE (inspector.noProperties): In the case where there are no CSS
+# properties to display e.g. due to search criteria this message is
+# displayed.
+inspector.noProperties=No CSS properties found.
+
+# LOCALIZATION NOTE (inspector.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+inspector.printSimulation.tooltip = Toggle print media simulation for the page
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationLight.tooltip):
+# This is the tooltip of the light color scheme simulation button in the Rule View
+# toolbar that toggles light color scheme simulation.
+inspector.colorSchemeSimulationLight.tooltip=Toggle light color scheme simulation for the page
+
+# LOCALIZATION NOTE (inspector.colorSchemeSimulationDark.tooltip):
+# This is the tooltip of the dark color scheme simulation button in the Rule View
+# toolbar that toggles dark color scheme simulation.
+inspector.colorSchemeSimulationDark.tooltip=Toggle dark color scheme simulation for the page
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are scrollable in the page.
+markupView.scrollableBadge.label=scroll
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.tooltip=This element has scrollable overflow.
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.interactive.tooltip): This is the tooltip that is displayed
+# when hovering over interactive badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.interactive.tooltip=This element has scrollable overflow. Click to reveal elements that are causing the overflow.
+
+# LOCALIZATION NOTE (markupView.overflowBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are causing overflow in other elements.
+markupView.overflowBadge.label=overflow
+
+# LOCALIZATION NOTE (markupView.overflowBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to overflow causing elements in the inspector.
+markupView.overflowBadge.tooltip=This element is causing an element to overflow.
+
+# LOCALIZATION NOTE (rulePreviewTooltip.noAssociatedRule): This is the text displayed inside
+# the RulePreviewTooltip when a rule cannot be found for a CSS property declaration.
+rulePreviewTooltip.noAssociatedRule=No associated rule
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrastAgainstBgTitle): A title text for the
+# contrast ratio value description that labels the background the color contrast ratio is calculated
+# against, used together with the actual background color. %S in the content will be replaced by a
+# span (containing bg color swatch) and textNode (containing bg color hex string) at run time
+colorPickerTooltip.contrastAgainstBgTitle=Calculated against background: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the
+# spectrum dragger panel in the color picker tooltip.
+colorPickerTooltip.spectrumDraggerTitle=Spectrum
+
+# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the
+# eyedropper in the color picker tooltip.
+colorPickerTooltip.eyedropperTitle=Pick color on page
+
+# LOCALIZATION NOTE (colorPickerTooltip.colorNameTitle): A title text for the
+# closest color name shown in the color picker tooltip, used together with the actual color.
+# %S in the content will be replaced by the color name the current color is closest to.
+colorPickerTooltip.colorNameTitle=Closest to: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the
+# hue slider in the color picker tooltip.
+colorPickerTooltip.hueSliderTitle=Hue
+
+# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the
+# alpha slider in the color picker tooltip.
+colorPickerTooltip.alphaSliderTitle=Opacity
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrast.large.title): A title text for the color
+# contrast ratio description in the color picker tooltip, used together with the specification
+# that the color contrast criteria used is for large text. %S in the content will be replaced by a
+# large text indicator span at run time.
+colorPickerTooltip.contrast.large.title=Contrast %S:
diff --git a/l10n-fi/devtools/client/jsonview.properties b/l10n-fi/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..fe243b08c9
--- /dev/null
+++ b/l10n-fi/devtools/client/jsonview.properties
@@ -0,0 +1,47 @@
+# 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 These strings are used in the JSON View tool
+# that is used to inspect application/json document types loaded
+# in the browser.
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (jsonViewer.tab.JSON, jsonViewer.tab.RawData,
+# jsonViewer.tab.Headers): Label for a panel tab.
+jsonViewer.tab.JSON=JSON
+jsonViewer.tab.RawData=Raw Data
+jsonViewer.tab.Headers=Headers
+
+# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders):
+# Label for header groups within the 'Headers' panel.
+jsonViewer.responseHeaders=Response Headers
+jsonViewer.requestHeaders=Request Headers
+
+# LOCALIZATION NOTE (jsonViewer.Save): Label for save command
+jsonViewer.Save=Save
+
+# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command
+jsonViewer.Copy=Copy
+
+# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes
+jsonViewer.ExpandAll=Expand All
+
+jsonViewer.ExpandAllSlow=Expand All (slow)
+
+# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes
+jsonViewer.CollapseAll=Collapse All
+
+# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON
+# pretty print action button.
+jsonViewer.PrettyPrint=Pretty Print
+
+# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box
+# at the top right cornder of the JSON Viewer.
+jsonViewer.filterJSON=Filter JSON
+
diff --git a/l10n-fi/devtools/client/layout.properties b/l10n-fi/devtools/client/layout.properties
new file mode 100644
index 0000000000..bc28929b71
--- /dev/null
+++ b/l10n-fi/devtools/client/layout.properties
@@ -0,0 +1,138 @@
+# 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 This file contains the Layout Inspector strings.
+# The Layout Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when
+# no flex container or item is selected.
+flexbox.header=Flexbox
+
+# LOCALIZATION NOTE (flexbox.backButtonLabel): The spoken label for the button
+# that returns from the display of a flex item to the flex item list.
+# This label is spoken by screen readers, not displayed on screen.
+flexbox.backButtonLabel=Back to Flex Container
+
+# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel
+# when a flex container is selected.
+flexbox.flexContainer=Flex Container
+
+# LOCALIZATION NOTE) (flexbox.flexItemOf): The accordion header for the Flexbox panel
+# when a flex item is selected. %s represents the flex container selector.
+flexbox.flexItemOf=Flex Item of %S
+
+# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS
+# flex containers to display.
+flexbox.noFlexboxeOnThisPage=Select a Flex container or item to continue.
+
+# LOCALIZATION NOTE (flexbox.flexItems): Header label displayed for the flex item list.
+flexbox.flexItems=Flex Items
+
+# LOCALIZATION NOTE (flexbox.noFlexItems): Label shown in the flex items list section if
+# there are no flex items for the flex container to display.
+flexbox.noFlexItems=No flex items
+
+# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Base Size section.
+flexbox.itemSizing.baseSizeSectionHeader=Base Size
+
+# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed
+# at the start of the flex item sizing Flexibility section.
+flexbox.itemSizing.flexibilitySectionHeader=Flexibility
+
+# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Minimum Size section.
+flexbox.itemSizing.minSizeSectionHeader=Minimum Size
+
+# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Maximum Size section.
+flexbox.itemSizing.maxSizeSectionHeader=Maximum Size
+
+# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Final Size section.
+flexbox.itemSizing.finalSizeSectionHeader=Final Size
+
+# LOCALIZATION NOTE (flexbox.itemSizing.itemContentSize): Label shown in the flex item
+# sizing panel. It tells users that a given item’s base size was calculated from its
+# content size when unconstrained.
+flexbox.itemSizing.itemContentSize=Content Size
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMax): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a smaller max size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMax=The item was clamped to its maximum size.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMin): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a larger min size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMin=The item was clamped to its minimum size.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToGrow): Label shown in the flex item sizing
+# panel. It tells users that a given item was set to grow.
+flexbox.itemSizing.setToGrow=Item was set to grow.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToShrink): Label shown in the flexbox item
+# sizing panel. It tells users that a given item was set to shrink.
+flexbox.itemSizing.setToShrink=Item was set to shrink.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToGrow): Label shown in the
+# flexbox item sizing panel. It tells users that a given item was not set to grow, even
+# though there might have been space on the flex line for it to grow.
+flexbox.itemSizing.notSetToGrow=Item was not set to grow.
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToShrink): Label shown in the
+# flexbox item sizing panel. It tells users that a given item did not shrink even though
+# there might not have been enough space on the flex line for all items to fit.
+flexbox.itemSizing.notSetToShrink=Item was not set to shrink.
+
+# LOCALIZATION NOTE (flexbox.togglesFlexboxHighlighter2): The tooltip text for the Flexbox
+# toggle button.
+flexbox.togglesFlexboxHighlighter2=Toggle Flexbox Highlighter
+
+# LOCALIZATION NOTE (layout.overlayCheckbox.label): Label used for checkboxes in the grid
+# sections of the layout panel that control the display of the grid highlighter.
+layout.toggleGridHighlighter=Toggle Grid Highlighter
+
+# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title):
+# In the case where the grid outline cannot be effectively displayed.
+layout.cannotShowGridOutline=Cannot show outline for this grid
+layout.cannotShowGridOutline.title=The selected grid’s outline cannot effectively fit inside the layout panel for it to be usable.
+
+# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting
+# option in the CSS Grid panel.
+layout.displayAreaNames=Display area names
+
+# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers
+# setting option in the CSS Grid panel.
+layout.displayLineNumbers=Display line numbers
+
+# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines
+# infinitely setting option in the CSS Grid panel.
+layout.extendLinesInfinitely=Extend lines infinitely
+
+# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel.
+layout.header=Grid
+
+# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display
+# settings container in the CSS Grid panel.
+layout.gridDisplaySettings=Grid Display Settings
+
+# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid
+# containers to display.
+layout.noGridsOnThisPage=CSS Grid is not in use on this page
+
+# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container
+# elements if only one item can be selected.
+layout.overlayGrid=Overlay Grid
+
+# LOCALIZATION NOTE (layout.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the layout panel (for flexbox/grid highlighter color).
+# %s represents the current selected color in hex format (e.g. #FF0000).
+layout.colorSwatch.tooltip=Color Swatch: %S. Click to open the color picker
diff --git a/l10n-fi/devtools/client/memory.properties b/l10n-fi/devtools/client/memory.properties
new file mode 100644
index 0000000000..22433b20fb
--- /dev/null
+++ b/l10n-fi/devtools/client/memory.properties
@@ -0,0 +1,434 @@
+# 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 These strings are used inside the Memory Tools
+# which is available from the Web Developer sub-menu -> 'Memory'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Memory Tools
+# which is available from the Browser Tools sub-menu -> 'Memory'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (snapshot.io.save): The label for the link that saves a
+# snapshot to disk.
+snapshot.io.save=Save
+
+# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
+# a snapshot
+snapshot.io.delete=Delete
+
+# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window
+# displayed when saving a snapshot to disk.
+snapshot.io.save.window=Save Snapshot
+
+# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window
+# displayed when importing a snapshot form disk.
+snapshot.io.import.window=Import Snapshot
+
+# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to
+# filter file types (*.fxsnapshot)
+snapshot.io.filter=Firefox Snapshots
+
+# LOCALIZATION NOTE (aggregate.mb): The label annotating the number of bytes (in
+# megabytes) in a snapshot. %S represents the value, rounded to 2 decimal
+# points.
+aggregate.mb=%S MB
+
+# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before
+# it has a creation time to display.
+snapshot-title.loading=Processing…
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the
+# boolean checkbox whether or not to record call stacks.
+checkbox.recordAllocationStacks=Record call stacks
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for
+# the label describing the boolean checkbox whether or not to record call
+# stacks.
+checkbox.recordAllocationStacks.tooltip=Toggle the recording of the call stack of when an object was allocated. Subsequent snapshots will be able to group and label objects by call stacks, but only with those objects created after toggling this option. Recording call stacks has a performance overhead.
+
+# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu
+# options of the display options.
+toolbar.displayBy=Group by:
+
+# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label
+# describing the select menu options of the display options.
+toolbar.displayBy.tooltip=Change how objects are grouped
+
+# LOCALIZATION NOTE (toolbar.pop-view): The text in the button to go back to the
+# previous view.
+toolbar.pop-view=←
+
+# LOCALIZATION NOTE (toolbar.pop-view.label): The text for the label for the
+# button to go back to the previous view.
+toolbar.pop-view.label=Go back to aggregates
+
+# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user
+# know that they are viewing individual nodes from a census group.
+toolbar.viewing-individuals=⁂ Viewing individuals in group
+
+# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the
+# "coarse type" display option.
+censusDisplays.coarseType.tooltip=Group items by their type
+
+# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for
+# the "call stack" display option.
+censusDisplays.allocationStack.tooltip=Group items by the JavaScript stack recorded when the object was allocated
+
+# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The
+# tooltip for the "inverted call stack" display option.
+censusDisplays.invertedAllocationStack.tooltip=Group items by the inverted JavaScript call stack recorded when the object was created
+
+# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu
+# options of the label options.
+toolbar.labelBy=Label by:
+
+# LOCALIZATION NOTE (toolbar.labelBy): The tooltip for the label describing the
+# select menu options of the label options.
+toolbar.labelBy.tooltip=Change how objects are labeled
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" dominator tree display option.
+dominatorTreeDisplays.coarseType.tooltip=Label objects by the broad categories they fit in
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The
+# tooltip for the "call stack" dominator tree display option.
+dominatorTreeDisplays.allocationStack.tooltip=Label objects by the JavaScript stack recorded when it was allocated
+
+# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" tree map display option.
+treeMapDisplays.coarseType.tooltip=Label objects by the broad categories they fit in
+
+# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the
+# toolbar.
+toolbar.view=View:
+
+# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the
+# view selector in the toolbar.
+toolbar.view.tooltip=Change the view of the snapshot
+
+# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option
+# in the toolbar.
+toolbar.view.census=Aggregate
+
+# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for
+# the census view option in the toolbar.
+toolbar.view.census.tooltip=View a summary of the snapshot’s contents by aggregating objects into groups
+
+# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view
+# option in the toolbar.
+toolbar.view.dominators=Dominators
+
+# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label
+# for the dominators view option in the toolbar.
+toolbar.view.dominators.tooltip=View the dominator tree and surface the largest structures in the snapshot
+
+# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option
+# in the toolbar.
+toolbar.view.treemap=Tree Map
+
+# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for
+# the tree map view option in the toolbar.
+toolbar.view.treemap.tooltip=Visualize memory usage: larger blocks account for a larger percent of memory usage
+
+# LOCALIZATION NOTE (take-snapshot): The label describing the button that
+# initiates taking a snapshot, either as the main label, or a tooltip.
+take-snapshot=Take snapshot
+
+# LOCALIZATION NOTE (import-snapshot): The label describing the button that
+# initiates importing a snapshot.
+import-snapshot=Import…
+
+# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that
+# deletes existing snapshot.
+clear-snapshots.tooltip=Delete all snapshots
+
+# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that
+# initiates selecting two snapshots to diff with each other.
+diff-snapshots.tooltip=Compare snapshots
+
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=Filter
+
+# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory
+# tool's filter search box.
+filter.tooltip=Filter the contents of the snapshot
+
+# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the
+# button to view individuals in this group.
+tree-item.view-individuals.tooltip=View individual nodes in this group and their retaining paths
+
+# LOCALIZATION NOTE (tree-item.load-more): The label for the links to fetch the
+# lazily loaded sub trees in the dominator tree view.
+tree-item.load-more=Load more…
+
+# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the
+# dominator tree.
+tree-item.rootlist=GC Roots
+
+# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree
+# that represents a row broken down by call stack when no stack was available.
+tree-item.nostack=(no stack available)
+
+# LOCALIZATION NOTE (tree-item.nofilename): The label describing the row in the
+# heap tree that represents a row broken down by filename when no filename was
+# available.
+tree-item.nofilename=(no filename available)
+
+# LOCALIZATION NOTE (tree-item.root): The label describing the row in the heap tree
+# that represents the root of the tree when inverted.
+tree-item.root=(root)
+
+# LOCALIZATION NOTE (tree-item.percent2): A percent of bytes or count displayed in the tree view.
+# there are two "%" after %S to escape and display "%"
+tree-item.percent2=%S%%
+
+# LOCALIZATION NOTE (diffing.baseline): The name of the baseline snapshot in a
+# diffing comparison.
+diffing.baseline=Baseline
+
+# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being
+# compared to the baseline in a diffing comparison.
+diffing.comparison=Comparison
+
+# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the
+# first snapshot when doing a diffing comparison.
+diffing.prompt.selectBaseline=Select the baseline snapshot
+
+# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the
+# second snapshot when doing a diffing comparison.
+diffing.prompt.selectComparison=Select the snapshot to compare to the baseline
+
+# LOCALIZATION NOTE (diffing.state.error): The label describing the diffing
+# state ERROR, used in the snapshot list when an error occurs while diffing two
+# snapshots.
+diffing.state.error=Error
+
+# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing
+# state ERROR, used in the main view when an error occurs while diffing two
+# snapshots.
+diffing.state.error.full=There was an error while comparing snapshots.
+
+# LOCALIZATION NOTE (diffing.state.taking-diff): The label describing the diffin
+# state TAKING_DIFF, used in the snapshots list when computing the difference
+# between two snapshots.
+diffing.state.taking-diff=Computing difference…
+
+# LOCALIZATION NOTE (diffing.state.taking-diff.full): The label describing the
+# diffing state TAKING_DIFF, used in the main view when computing the difference
+# between two snapshots.
+diffing.state.taking-diff.full=Computing difference…
+
+# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing
+# state SELECTING.
+diffing.state.selecting=Select two snapshots to compare
+
+# LOCALIZATION NOTE (diffing.state.selecting.full): The label describing the
+# diffing state SELECTING, used in the main view when selecting snapshots to
+# diff.
+diffing.state.selecting.full=Select two snapshots to compare
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING.
+dominatorTree.state.computing=Generating dominators report…
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING, used in the dominator tree view.
+dominatorTree.state.computing.full=Generating dominators report…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING.
+dominatorTree.state.fetching=Computing sizes…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING, used in the dominator tree view.
+dominatorTree.state.fetching.full=Computing dominator’s retained sizes…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label
+# describing the dominator tree state INCREMENTAL_FETCHING.
+dominatorTree.state.incrementalFetching=Fetching…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label describing the
+# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view.
+dominatorTree.state.incrementalFetching.full=Fetching more…
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR.
+dominatorTree.state.error=Error
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR, used in the dominator tree view.
+dominatorTree.state.error.full=There was an error while processing the dominator tree
+
+# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the
+# snapshot state SAVING, used in the main heap view.
+snapshot.state.saving.full=Saving snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.reading.full): The label describing the
+# snapshot state READING, and SAVED, due to these states being combined
+# visually, used in the main heap view.
+snapshot.state.reading.full=Reading snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-census.full=Generating aggregate report…
+
+# LOCALIZATION NOTE (snapshot.state.saving-tree-map.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-tree-map.full=Saving tree map…
+
+# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the
+# snapshot state ERROR, used in the main heap view.
+snapshot.state.error.full=There was an error processing this snapshot.
+
+# LOCALIZATION NOTE (individuals.state.error): The short message displayed when
+# there is an error fetching individuals from a group.
+individuals.state.error=Error
+
+# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed
+# when there is an error fetching individuals from a group.
+individuals.state.error.full=There was an error while fetching individuals in the group
+
+# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed
+# while fetching individuals.
+individuals.state.fetching=Fetching…
+
+# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message
+# displayed while fetching individuals.
+individuals.state.fetching.full=Fetching individuals in group…
+
+# LOCALIZATION NOTE (individuals.field.node): The header label for an individual
+# node.
+individuals.field.node=Node
+
+# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header
+# label for an individual node.
+individuals.field.node.tooltip=The individual node in the snapshot
+
+# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot
+# state SAVING, used in the snapshot list view
+snapshot.state.saving=Saving snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.importing): The label describing the
+# snapshot state IMPORTING, used in the snapshot list view
+snapshot.state.importing=Importing snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.reading): The label describing the snapshot
+# state READING, and SAVED, due to these states being combined visually, used in
+# the snapshot list view.
+snapshot.state.reading=Reading snapshot…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-census=Saving report…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-tree-map=Saving tree map…
+
+# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot
+# state ERROR, used in the snapshot list view.
+snapshot.state.error=Error
+
+# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no
+# difference between two snapshots.
+heapview.no-difference=No difference between the baseline and comparison.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no
+# matches when filtering.
+heapview.none-match=No matches.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report
+# is empty.
+heapview.empty=Empty.
+
+# LOCALIZATION NOTE (heapview.noAllocationStacks): The message displayed to
+# users when selecting a display by "call stack" but no call stacks
+# were recorded in the heap snapshot.
+heapview.noAllocationStacks=No call stacks found. Record call stacks before taking a snapshot.
+
+# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the
+# dominator tree view for retained byte sizes.
+heapview.field.retainedSize=Retained Size (Bytes)
+
+# LOCALIZATION NOTE (heapview.field.retainedSize.tooltip): The tooltip for the
+# column header in the dominator tree view for retained byte sizes.
+heapview.field.retainedSize.tooltip=The sum of the size of the object itself, and the sizes of all the other objects kept alive by it
+
+# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the
+# dominator tree view for shallow byte sizes.
+heapview.field.shallowSize=Shallow Size (Bytes)
+
+# LOCALIZATION NOTE (heapview.field.shallowSize.tooltip): The tooltip for the
+# column header in the dominator tree view for shallow byte sizes.
+heapview.field.shallowSize.tooltip=The size of the object itself
+
+# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the
+# dominator tree for an object's label.
+dominatortree.field.label=Dominator
+
+# LOCALIZATION NOTE (dominatortree.field.label.tooltip): The tooltip for the column
+# header in the dominator tree view for an object's label.
+dominatortree.field.label.tooltip=The label for an object in memory
+
+# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap
+# view for bytes.
+heapview.field.bytes=Bytes
+
+# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column
+# header in the heap view for bytes.
+heapview.field.bytes.tooltip=The number of bytes taken up by this group, excluding subgroups
+
+# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap
+# view for count.
+heapview.field.count=Count
+
+# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column
+# header in the heap view for count.
+heapview.field.count.tooltip=The number of reachable objects in this group, excluding subgroups
+
+# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the
+# heap view for total bytes.
+heapview.field.totalbytes=Total Bytes
+
+# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the
+# column header in the heap view for total bytes.
+heapview.field.totalbytes.tooltip=The number of bytes taken up by this group, including subgroups
+
+# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the
+# heap view for total count.
+heapview.field.totalcount=Total Count
+
+# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the
+# column header in the heap view for total count.
+heapview.field.totalcount.tooltip=The number of reachable objects in this group, including subgroups
+
+# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap
+# view for name.
+heapview.field.name=Group
+
+# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column
+# header in the heap view for name.
+heapview.field.name.tooltip=The name of this group
+
+# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest
+# paths pane.
+shortest-paths.header=Retaining Paths (from Garbage Collector Roots)
+
+# LOCALIZATION NOTE (shortest-paths.select-node): The message displayed in the
+# shortest paths pane when a node is not yet selected.
+shortest-paths.select-node=Select an item to view its retaining paths
+
+# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a
+# node in the tree map
+tree-map.node-count=count
diff --git a/l10n-fi/devtools/client/menus.properties b/l10n-fi/devtools/client/menus.properties
new file mode 100644
index 0000000000..c6af91f96f
--- /dev/null
+++ b/l10n-fi/devtools/client/menus.properties
@@ -0,0 +1,29 @@
+# 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 (devtoolsRemoteDebugging.label): This is the label for the menu item
+# in Tools > Web Developer. Clicking on this menu item will open about:debugging which
+# acts as a hub for debugging remote devices.
+devtoolsRemoteDebugging.label = Remote Debugging
+devtoolsRemoteDebugging.accesskey = R
+
+browserConsoleCmd.label = Browser Console
+browserConsoleCmd.accesskey = B
+
+responsiveDesignMode.label = Responsive Design Mode
+responsiveDesignMode.accesskey = R
+
+eyedropper.label = Eyedropper
+eyedropper.accesskey = Y
+
+# LOCALIZATION NOTE (browserToolboxMenu.label): This is the label for the
+# application menu item that opens the browser toolbox UI in the Tools menu.
+browserToolboxMenu.label = Browser Toolbox
+browserToolboxMenu.accesskey = e
+
+webDeveloperToolsMenu.label = Web Developer Tools
+webDeveloperToolsMenu.accesskey = T
+
+extensionsForDevelopersCmd.label = Extensions for Developers
+extensionsForDevelopersCmd.accesskey = f
diff --git a/l10n-fi/devtools/client/netmonitor.properties b/l10n-fi/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..92c215186f
--- /dev/null
+++ b/l10n-fi/devtools/client/netmonitor.properties
@@ -0,0 +1,1679 @@
+# 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 These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (netmonitor.security.state.secure)
+# This string is used as an tooltip for request that was performed over secure
+# channel i.e. the connection was encrypted.
+netmonitor.security.state.secure=The connection used to fetch this resource was secure.
+
+# LOCALIZATION NOTE (netmonitor.security.state.insecure)
+# This string is used as an tooltip for request that was performed over insecure
+# channel i.e. the connection was not https
+netmonitor.security.state.insecure=The connection used to fetch this resource was not secure.
+
+# LOCALIZATION NOTE (netmonitor.security.state.broken)
+# This string is used as an tooltip for request that failed due to security
+# issues.
+netmonitor.security.state.broken=A security error prevented the resource from being loaded.
+
+# LOCALIZATION NOTE (netmonitor.security.state.weak)
+# This string is used as an tooltip for request that had minor security issues
+netmonitor.security.state.weak=This resource was transferred over a connection that used weak encryption.
+
+# LOCALIZATION NOTE (netmonitor.security.enabled):
+# This string is used to indicate that a specific security feature is used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Enabled"
+netmonitor.security.enabled=Enabled
+
+# LOCALIZATION NOTE (netmonitor.security.disabled):
+# This string is used to indicate that a specific security feature is not used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Disabled"
+netmonitor.security.disabled=Disabled
+
+# LOCALIZATION NOTE (netmonitor.security.hostHeader):
+# This string is used as a header for section containing security information
+# related to the remote host. %S is replaced with the domain name of the remote
+# host. For example: Host example.com
+netmonitor.security.hostHeader=Host %S:
+
+# LOCALIZATION NOTE (netmonitor.security.notAvailable):
+# This string is used to indicate that a certain piece of information is not
+# available to be displayed. For example a certificate that has no organization
+# defined:
+# Organization: <Not Available>
+netmonitor.security.notAvailable=<Not Available>
+
+# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button
+# that collapses the network details pane in the UI.
+collapseDetailsPane=Hide request details
+
+# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button
+# that collapses the network action pane in the UI.
+collapseActionPane=Hide network action
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Show all tabs
+
+# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the
+# headers tab of the network details pane when there are no headers available.
+headersEmptyText=No headers for this request
+
+# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the
+# headers tab of the network details pane for the filtering input.
+headersFilterText=Filter headers
+
+# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the
+# WebSockets tab of the network details pane when there are no frames available.
+messagesEmptyText=No messages for this request
+
+# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the
+# cookies tab of the network details pane when there are no cookies available.
+cookiesEmptyText=No cookies for this request
+
+# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the
+# cookies tab of the network details pane for the filtering input.
+cookiesFilterText=Filter cookies
+
+# LOCALIZATION NOTE (responseEmptyText): This is the text displayed in the
+# response tab of the network details pane when the response is empty or not
+# available for shown.
+responseEmptyText=No response data available for this request
+
+# LOCALIZATION NOTE (paramsNoPayloadText): This is the text displayed in the
+# request tab of the network details pane when there are no params available.
+paramsNoPayloadText=No payload for this request
+
+# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the
+# request tab of the network details pane for the filtering input.
+paramsFilterText=Filter request parameters
+
+# LOCALIZATION NOTE (paramsQueryString): This is the label displayed
+# in the network details request tab identifying the query string.
+paramsQueryString=Query string
+
+# LOCALIZATION NOTE (paramsFormData): This is the label displayed
+# in the network details request tab identifying the form data.
+paramsFormData=Form data
+
+# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed
+# in the network details request tab identifying the request payload.
+paramsPostPayload=Request payload
+
+# LOCALIZATION NOTE (netmonitor.request.raw): This is the label displayed
+# on the button in the network details request tab that toggles the
+# view of the network request between the raw data and the formatted display.
+netmonitor.request.raw=Raw
+
+# LOCALIZATION NOTE (requestHeaders): This is the label displayed
+# in the network details headers tab identifying the request headers.
+requestHeaders=Request headers
+
+# LOCALIZATION NOTE (requestHeadersFromUpload): This is the label displayed
+# in the network details headers tab identifying the request headers from
+# the upload stream of a POST request's body.
+requestHeadersFromUpload=Request headers from upload stream
+
+# LOCALIZATION NOTE (responseHeaders): This is the label displayed
+# in the network details headers tab identifying the response headers.
+responseHeaders=Response headers
+
+# LOCALIZATION NOTE (requestCookies): This is the label displayed
+# in the network details request tab identifying the request cookies.
+requestCookies=Request cookies
+
+# LOCALIZATION NOTE (responseCookies): This is the label displayed
+# in the network details request tab identifying the response cookies.
+responseCookies=Response cookies
+
+# LOCALIZATION NOTE (responsePayload): This is the label displayed
+# in the network details response tab identifying the response payload.
+responsePayload=Response payload
+
+# LOCALIZATION NOTE (netmonitor.response.raw): This is the label displayed
+# on the button in the network details response tab that toggles the
+# view of the network response between the raw data and the formatted display.
+netmonitor.response.raw=Raw
+
+# LOCALIZATION NOTE (netmonitor.response.html): This is the text displayed
+# in the response tab of the network details pane for an HTML preview.
+netmonitor.response.html=HTML
+
+# LOCALIZATION NOTE (jsonFilterText): This is the text displayed
+# in the response tab of the network details pane for the JSON filtering input.
+jsonFilterText=Filter properties
+
+# LOCALIZATION NOTE (jsonScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSON scope.
+jsonScopeName=JSON
+
+# LOCALIZATION NOTE (jsonpScopeName): This is the text displayed
+# in the response tab of the network details pane for a JSONP scope.
+jsonpScopeName=JSONP → callback %S()
+
+# LOCALIZATION NOTE (jsonXssiStripped): This is the text displayed
+# in a notification in the response tab of the network details pane
+# when a JSON payload had XSSI escape characters which were removed
+jsonXssiStripped=The string “%S” was removed from the beginning of the JSON shown below
+
+# LOCALIZATION NOTE (responseTruncated): This is the text displayed
+# in the response tab of the network details pane when the response is over
+# the truncation limit and thus was truncated.
+responseTruncated=Response has been truncated
+
+# LOCALIZATION NOTE (requestTruncated): This is the text displayed
+# in the request tab of the network details pane when the request is over
+# the truncation limit and thus was truncated.
+requestTruncated=Request has been truncated
+
+# LOCALIZATION NOTE (networkMenu.raced): This is the label displayed
+# in the network menu specifying the transfer or a request is
+# raced. %S refers to the current transfer size.
+networkMenu.raced=%S (raced)
+
+# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted ascending.
+networkMenu.sortedAsc=Sorted ascending
+
+# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted descending.
+networkMenu.sortedDesc=Sorted descending
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining
+# what the perf button does
+networkMenu.summary.tooltip.perf=Start performance analysis
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining
+# what the DOMContentLoaded label displays
+networkMenu.summary.tooltip.domContentLoaded=Time when “DOMContentLoad” event occurred
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining
+# what the load label displays
+networkMenu.summary.tooltip.load=Time when “load” event occurred
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCount2): This label is displayed
+# in the network table footer providing the number of requests
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.summary.requestsCount2=One request;#1 requests
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed
+# in the network table footer when there are no requests
+networkMenu.summary.requestsCountEmpty=No requests
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining
+# what the requestsCount label displays
+networkMenu.summary.tooltip.requestsCount=Number of requests
+
+# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed
+# in the network table footer providing the transferred size.
+networkMenu.summary.transferred=%S / %S transferred
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining
+# what the transferred label displays
+networkMenu.summary.tooltip.transferred=Size/transferred size of all requests
+
+# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed
+# in the network table footer providing the transfer time.
+networkMenu.summary.finish=Finish: %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining
+# what the finish label displays
+networkMenu.summary.tooltip.finish=Total time needed to load all requests
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCount2): This label is displayed
+# in the messages table footer providing the number of frames
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.ws.summary.framesCount2=One message;#1 messages
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed
+# in the messages table footer when there are no frames
+networkMenu.ws.summary.framesCountEmpty=No messages
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining
+# what the framesCount label displays
+networkMenu.ws.summary.tooltip.framesCount=Number of messages
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining
+# what the framesTotalSize label displays
+networkMenu.ws.summary.tooltip.framesTotalSize=Total size of displayed messages
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.label.framesTranferredSize): A label showing
+# summary size info related to the current list of WS messages
+# %1$S is the total size of the transferred data, %2$S is the size of sent data, %3$S is the size of received data.
+networkMenu.ws.summary.label.framesTranferredSize=%1$S total, %2$S sent, %3$S received
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining
+# what framesTotalTime displays
+networkMenu.ws.summary.tooltip.framesTotalTime=Total elapsed time between the first and last displayed messages
+
+# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed
+# in the network menu specifying the size of a request (in bytes).
+networkMenu.sizeB=%S B
+
+# LOCALIZATION NOTE (networkMenu.size.kB): This is the label displayed
+# in the network menu specifying the size of a request (in kilobytes).
+networkMenu.size.kB=%S kt
+
+# LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed
+# in the network menu specifying the size of a request (in megabytes).
+networkMenu.sizeMB=%S MB
+
+# LOCALIZATION NOTE (networkMenu.sizeGB): This is the label displayed
+# in the network menu specifying the size of a request (in gigabytes).
+networkMenu.sizeGB=%S GB
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed
+# in the network menu specifying the transferred size of a request is
+# unavailable.
+networkMenu.sizeUnavailable=—
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable.title): This is the tooltip
+# displayed in the network menu specifying that the transferred size of a
+# request is unavailable.
+networkMenu.sizeUnavailable.title=Transferred size is not available
+
+# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed
+# in the network menu and the headers panel specifying the transfer or a request is
+# cached.
+networkMenu.sizeCached=cached
+
+# LOCALIZATION NOTE (networkMenu.sizeServiceWorker): This is the label displayed
+# in the network menu and the headers panel specifying the transferred of a request
+# computed by a service worker.
+networkMenu.sizeServiceWorker=service worker
+
+# LOCALIZATION NOTE (networkMenu.blocked2): This is a generic message for a
+# URL that has been blocked for an unknown reason
+networkMenu.blocked2=Blocked
+
+# LOCALIZATION NOTE (networkMenu.blockedby): This is a generic message for a
+# URL that has been blocked by an extension
+# %S is the extension name.
+networkMenu.blockedby=Blocked By %S
+
+# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed
+# as a tooltip for the blocked icon in the request list
+networkMenu.blockedTooltip=Blocked
+
+# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed
+# in the network menu specifying the time for a request to finish (in milliseconds).
+networkMenu.totalMS2=%S ms
+
+# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
+# in the requests waterfall for total time (in milliseconds). \\u0020 represents
+# a whitespace. You can replace this with a different character, e.g. an hyphen
+# or a period, if a comma doesn't work for your language.
+netmonitor.waterfall.tooltip.separator=,\u0020
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
+# displayed in the requests waterfall for total time (in milliseconds).
+netmonitor.waterfall.tooltip.total=Total %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip
+# displayed in the requests waterfall for blocked time (in milliseconds).
+netmonitor.waterfall.tooltip.blocked=Blocked %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.dns): This is part of the tooltip
+# displayed in the requests waterfall for dns time (in milliseconds).
+netmonitor.waterfall.tooltip.dns=DNS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.ssl): This is part of the tooltip
+# displayed in the requests waterfall for tls setup time (in milliseconds).
+netmonitor.waterfall.tooltip.ssl=TLS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.connect): This is part of the tooltip
+# displayed in the requests waterfall for connect time (in milliseconds).
+netmonitor.waterfall.tooltip.connect=Connect %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.send): This is part of the tooltip
+# displayed in the requests waterfall for send time (in milliseconds).
+netmonitor.waterfall.tooltip.send=Send %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.wait): This is part of the tooltip
+# displayed in the requests waterfall for wait time (in milliseconds).
+netmonitor.waterfall.tooltip.wait=Wait %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.receive): This is part of the tooltip
+# displayed in the requests waterfall for receive time (in milliseiconds).
+netmonitor.waterfall.tooltip.receive=Receive %S ms
+
+# LOCALIZATION NOTE (netmonitor.timings.requestTiming): This is the title of the existing
+# section in Timings side panel. This section contains request timings.
+netmonitor.timings.requestTiming=Request Timing
+
+# LOCALIZATION NOTE (netmonitor.timings.serverTiming): This is the title of a new section
+# in Timings side panel. This section contains server timings transferred from the server
+# through the "Server-Timing" header.
+netmonitor.timings.serverTiming=Server Timing
+
+# LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the
+# first request. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.queuedAt=Queued: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.startedAt): Relative to the first request,
+# when the request actually started. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.startedAt=Started: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.downloadedAt): Relative to first request,
+# when the request actually finished downloading.
+# %S is time expressed in milliseconds or minutes.
+netmonitor.timings.downloadedAt=Downloaded: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the
+# timings pane when thea request has been blocked
+netmonitor.timings.noTimings=No timings for this request
+
+# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed
+# in the network menu specifying timing interval divisions (in milliseconds).
+networkMenu.millisecond=%S ms
+
+# LOCALIZATION NOTE (networkMenu.second): This is the label displayed
+# in the network menu specifying timing interval divisions (in seconds).
+networkMenu.second=%S s
+
+# LOCALIZATION NOTE (networkMenu.minute): This is the label displayed
+# in the network menu specifying timing interval divisions (in minutes).
+networkMenu.minute=%S min
+
+# LOCALIZATION NOTE (pieChart.loading): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+pieChart.loading=Loading
+
+# LOCALIZATION NOTE (pieChart.unavailable): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+pieChart.unavailable=Empty
+
+# LOCALIZATION NOTE (pieChart.ariaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts (e.g., in the performance analysis view).
+pieChart.ariaLabel=Pie chart representing the size of each type of request in proportion to each other
+
+# LOCALIZATION NOTE (pieChart.sliceAriaLabel): This is the text used for the aria-label attribute
+# for SVG pie charts slices (e.g., in the performance analysis view).
+# %1$S is the slice label (e.g. "html")
+# %2$S is the percentage (e.g. "33.23%").
+pieChart.sliceAriaLabel=%1$S: %2$S
+
+# LOCALIZATION NOTE (tableChart.loading): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+tableChart.loading=Please wait…
+
+# LOCALIZATION NOTE (tableChart.unavailable): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+tableChart.unavailable=No data available
+
+# LOCALIZATION NOTE (charts.size.kB): This is the label displayed
+# in pie or table charts specifying the size of a request (in kilobytes).
+charts.size.kB=%S kt
+
+# LOCALIZATION NOTE (charts.transferredSize.kB): This is the label displayed
+# in pie or table charts specifying the size of a transferred request (in kilobytes).
+charts.transferredSize.kB=%S kt
+
+# LOCALIZATION NOTE (charts.totalS): This is the label displayed
+# in pie or table charts specifying the time for a request to finish (in seconds).
+charts.totalS=%S s
+
+# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+charts.totalTransferredSize.kB=Siirretty koko: %S kt
+
+# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed
+# in the performance analysis view for "cache enabled" charts.
+charts.cacheEnabled=Primed cache
+
+# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed
+# in the performance analysis view for "cache disabled" charts.
+charts.cacheDisabled=Empty cache
+
+# LOCALIZATION NOTE (charts.learnMore): This is the label displayed
+# in the performance analysis view, with a link to external documentation.
+charts.learnMore=Learn more about performance analysis
+
+# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+charts.totalSize.kB=Koko: %S kt
+
+# LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time, in seconds.
+charts.totalSeconds=Time: #1 second;Time: #1 seconds
+
+# LOCALIZATION NOTE (charts.totalSecondsNonBlocking): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time (non-blocking), in seconds.
+charts.totalSecondsNonBlocking=Non blocking time: #1 second;Non blocking time: #1 seconds
+
+# LOCALIZATION NOTE (charts.totalCached): This is the label displayed
+# in the performance analysis view for total cached responses.
+charts.totalCached=Cached responses: %S
+
+# LOCALIZATION NOTE (charts.totalCount): This is the label displayed
+# in the performance analysis view for total requests.
+charts.totalCount=Total requests: %S
+
+# LOCALIZATION NOTE (charts.requestsNumber): This is the label for the header column in
+# the performance analysis view for the number of requests. The label is not visible on screen,
+# but is set in the DOM for accessibility sake.
+charts.requestsNumber=Number of requests
+
+# LOCALIZATION NOTE (charts.size): This is the label displayed
+# in the header column in the performance analysis view for size of the request.
+charts.size=Size
+
+# LOCALIZATION NOTE (charts.type): This is the label displayed
+# in the header column in the performance analysis view for type of request.
+charts.type=Type
+
+# LOCALIZATION NOTE (charts.transferred): This is the label displayed
+# in the header column in the performance analysis view for transferred
+# size of the request.
+charts.transferred=Transferred
+
+# LOCALIZATION NOTE (charts.time): This is the label displayed
+# in the header column in the performance analysis view for time of request.
+charts.time=Time
+
+# LOCALIZATION NOTE (charts.nonBlockingTime): This is the label displayed
+# in the header column in the performance analysis view for non blocking
+# time of request.
+charts.nonBlockingTime=Non blocking time
+
+# LOCALIZATION NOTE (netRequest.originalFileURL.tooltip): This is the tooltip
+# displayed for the file's original URL value displayed in the file column of
+# a request.
+netRequest.originalFileURL.tooltip=Original: %S
+
+# LOCALIZATION NOTE (netRequest.decodedFileURL.tooltip): This is the tooltip
+# displayed for the file's decoded URL value displayed in the file column of
+# a request.
+netRequest.decodedFileURL.tooltip=Decoded: %S
+
+# LOCALIZATION NOTE (certmgr.subjectinfo.label):
+# A label used for a certificate section in security tab.
+# This section displays Name and organization who has been assigned the fingerprints
+certmgr.subjectinfo.label=Issued To
+
+# LOCALIZATION NOTE (certmgr.certdetail.cn):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.cn=Common Name (CN):
+
+# LOCALIZATION NOTE (certmgr.certdetail.o):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.o=Organization (O):
+
+# LOCALIZATION NOTE (certmgr.certdetail.ou):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.ou=Organizational Unit (OU):
+
+# LOCALIZATION NOTE (certmgr.issuerinfo.label):
+# A label used for a certificate section in security tab
+# This section displays Name and organization who issued the fingerprints
+certmgr.issuerinfo.label=Issued By
+
+# LOCALIZATION NOTE (certmgr.periodofvalidity.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.periodofvalidity.label=Period of Validity
+
+# LOCALIZATION NOTE (certmgr.begins):
+# A label used for Period of Validity sub-section in security tab
+certmgr.begins=Begins On:
+
+# LOCALIZATION NOTE (certmgr.expires):
+# A label used for Period of Validity sub-section in security tab
+certmgr.expires=Expires On:
+
+# LOCALIZATION NOTE (certmgr.fingerprints.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.fingerprints.label=Fingerprints
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha256fingerprint=SHA-256 Fingerprint:
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha1fingerprint=SHA1 Fingerprint:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.label):
+# This string is used as a label in the security tab.
+certmgr.certificateTransparency.label=Transparency:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.ok):
+# This string is used to indicate that there are valid signed certificate
+# timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.ok=Valid SCTs records
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notEnoughSCTS):
+# This string is used to indicate that there are not enough valid signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notEnoughSCTS=Not enough SCTs
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notDiverseSCTS):
+# This string is used to indicate that there ar not enough diverse signed
+# certificate timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.notDiverseSCTS=Not diverse SCTs
+
+# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed
+# in the network table when empty to start performance analysis.
+netmonitor.perfNotice1=• Click on the
+netmonitor.perfNotice2=button to start performance analysis.
+netmonitor.perfNotice3=Analyze
+
+# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed
+# in the network table when empty to start logging network requests.
+netmonitor.reloadNotice1=• Perform a request or
+netmonitor.reloadNotice2=Reload
+netmonitor.reloadNotice3=the page to see detailed information about network activity.
+netmonitor.emptyBrowserToolbox=Perform a request to see detailed information about network activity.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed
+# in the network table toolbar, above the "status" column.
+netmonitor.toolbar.status3=Status
+
+# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed
+# in the network table toolbar, above the "method" column.
+netmonitor.toolbar.method=Method
+
+# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed
+# in the network table toolbar, above the "priority" column.
+netmonitor.toolbar.priority=Priority
+
+# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed
+# in the network table toolbar, above the "file" column.
+netmonitor.toolbar.file=File
+
+# LOCALIZATION NOTE (netmonitor.toolbar.url): This is the label displayed
+# in the network table toolbar, above the "url" column.
+netmonitor.toolbar.url=URL
+
+# LOCALIZATION NOTE (netmonitor.toolbar.protocol): This is the label displayed
+# in the network table toolbar, above the "protocol" column.
+netmonitor.toolbar.protocol=Protocol
+
+# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed
+# in the network table toolbar, above the "domain" column.
+netmonitor.toolbar.domain=Domain
+
+# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed
+# in the network table toolbar, above the "remoteip" column.
+netmonitor.toolbar.remoteip=Remote IP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed
+# in the network table toolbar, above the "initiator" column.
+netmonitor.toolbar.initiator=Initiator
+
+# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed
+# in the network table toolbar, above the "type" column.
+netmonitor.toolbar.type=Type
+
+# LOCALIZATION NOTE (netmonitor.toolbar.cookies): This is the label displayed
+# in the network table toolbar, above the "cookies" column.
+netmonitor.toolbar.cookies=Cookies
+
+# LOCALIZATION NOTE (netmonitor.toolbar.setCookies): This is the label displayed
+# in the network table toolbar, above the "set cookies" column.
+# Set-Cookie is a HTTP response header. This string is the plural form of it.
+# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie
+netmonitor.toolbar.setCookies=Set-Cookies
+
+# LOCALIZATION NOTE (netmonitor.toolbar.scheme): This is the label displayed
+# in the network table toolbar, above the "scheme" column.
+netmonitor.toolbar.scheme=Scheme
+
+# LOCALIZATION NOTE (netmonitor.toolbar.startTime): This is the label displayed
+# in the network table toolbar, above the "start time" column, which is the time
+# from start of 1st request until the start of this request.
+netmonitor.toolbar.startTime=Start Time
+
+# LOCALIZATION NOTE (netmonitor.toolbar.endTime): This is the label displayed
+# in the network table toolbar, above the "end time" column, which is the time
+# from start of 1st request until the end of this response.
+netmonitor.toolbar.endTime=End Time
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseTime): This is the label displayed
+# in the network table toolbar, above the "response time" column, which is the time
+# from start of 1st request until the beginning of download of this response.
+netmonitor.toolbar.responseTime=Response Time
+
+# LOCALIZATION NOTE (netmonitor.toolbar.duration): This is the label displayed
+# in the network table toolbar, above the "duration" column, which is the time
+# from start of this request until the end of this response.
+netmonitor.toolbar.duration=Duration
+
+# LOCALIZATION NOTE (netmonitor.toolbar.latency): This is the label displayed
+# in the network table toolbar, above the "latency" column, which is the time
+# from end of this request until the beginning of download of this response.
+netmonitor.toolbar.latency=Latency
+
+# LOCALIZATION NOTE (netmonitor.toolbar.transferred): This is the label displayed
+# in the network table toolbar, above the "transferred" column and in general
+# section of the headers panel, which is the compressed / encoded size.
+netmonitor.toolbar.transferred=Transferred
+
+# LOCALIZATION NOTE (netmonitor.toolbar.contentSize): This is the label displayed
+# in the network table toolbar, above the "size" column, which is the
+# uncompressed / decoded size.
+netmonitor.toolbar.contentSize=Size
+
+# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed
+# in the network table toolbar, above the "waterfall" column.
+netmonitor.toolbar.waterfall=Timeline
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed
+# in the messages table header, above the "size" column.
+netmonitor.ws.toolbar.size=Size
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed
+# in the messages table header, above the "data" column.
+netmonitor.ws.toolbar.data=Data
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.opCode): This is the label displayed
+# in the messages table header, above the "opCode" column.
+netmonitor.ws.toolbar.opCode=OpCode
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.maskBit): This is the label displayed
+# in the messages table header, above the "maskBit" column.
+netmonitor.ws.toolbar.maskBit=MaskBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.finBit): This is the label displayed
+# in the messages table header, above the "finBit" column.
+netmonitor.ws.toolbar.finBit=FinBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.time): This is the label displayed
+# in the messages table header, above the "time" column.
+netmonitor.ws.toolbar.time=Time
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed
+# in the messages table header, above the "eventName" column.
+netmonitor.ws.toolbar.eventName=Event Name
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed
+# in the messages table header, above the "retry" column.
+netmonitor.ws.toolbar.retry=Retry
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.lastEventId): This is the label displayed
+# in the messages table header, above the "lastEventId" column.
+netmonitor.ws.toolbar.lastEventId=Last Event ID
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed
+# in the messages panel toolbar for the "Clear" button.
+netmonitor.ws.toolbar.clear=Clear
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.label): This is the label
+# displayed in the messages panel toolbar for the frames filtering textbox.
+netmonitor.ws.toolbar.filterFreetext.label=Filter Messages
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the messages panel toolbar messages filtering textbox
+netmonitor.ws.toolbar.filterFreetext.key=CmdOrCtrl+E
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.resetColumns): This is the label
+# displayed in the messages panel table header context menu.
+netmonitor.ws.toolbar.resetColumns=Reset Columns
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed
+# on the context menu that shows "All" WebSocket frames.
+netmonitor.ws.context.all=All
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all.accesskey): This is the access key
+# for the "All" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.all.accesskey=A
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent): This is the label displayed
+# on the context menu that shows "Sent" WebSocket frames.
+netmonitor.ws.context.sent=Sent
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent.accesskey): This is the access key
+# for the "Sent" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.sent.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received): This is the label displayed
+# on the context menu that shows "Received" WebSocket frames.
+netmonitor.ws.context.received=Received
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received.accesskey): This is the access key
+# for the "Received" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.received.accesskey=R
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames): This is the label displayed
+# on the context menu that shows "Control Frames" WebSocket frames.
+netmonitor.ws.context.controlFrames=Control
+
+# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames.accesskey): This is the access key
+# for the "Control Frames" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.controlFrames.accesskey=o
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame): This is the label displayed
+# on the context menu that shows "Copy Message".
+netmonitor.ws.context.copyFrame=Copy Message
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame.accesskey): This is the access key
+# for the "Copy Message" menu item displayed in the context menu of a WebSocket frame.
+netmonitor.ws.context.copyFrame.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64): This is the label displayed
+# on the context menu that shows "Copy as Base64" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsBase64=Copy as Base64
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64.accesskey): This is the access key
+# for the "Copy as Base64" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsBase64.accesskey=B
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex): This is the label displayed
+# on the context menu that shows "Copy as Hex" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsHex=Copy as Hex
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex.accesskey): This is the access key
+# for the "Copy as Hex" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsHex.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText): This is the label displayed
+# on the context menu that shows "Copy as Text" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsText=Copy as Text
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText.accesskey): This is the access key
+# for the "Copy as Text" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsText.accesskey=T
+
+# LOCALIZATION NOTE (netmonitor.ws.connection.closed): This is the text displayed in the
+# websocket messages panel when the connection is closed
+netmonitor.ws.connection.closed=Connection Closed
+
+# LOCALIZATION NOTE (netmonitor.ws.type.sent): This is the label used as
+# accessible text for the "sent" type icon in the websocket table's "data" column.
+netmonitor.ws.type.sent=Sent
+
+# LOCALIZATION NOTE (netmonitor.ws.type.received): This is the label used as
+# accessible text for the "received" type icon in the websocket table's "data" column.
+netmonitor.ws.type.received=Received
+
+# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed
+# in the messages panel identifying the raw data.
+netmonitor.ws.rawData.header=Raw Data (%S)
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.inputPlaceholder): This is the label
+# displayed in the search toolbar for the search input as the placeholder.
+netmonitor.search.toolbar.inputPlaceholder=Find in resources…
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label
+# displayed in the search toolbar to close the search panel.
+netmonitor.search.toolbar.close=Close Search Panel
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label
+# displayed in the search toolbar to clear the search panel.
+netmonitor.search.toolbar.clear=Clear Search Results
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.caseSensitive): This is the label
+# displayed in the search toolbar to do a case sensitive search.
+netmonitor.search.toolbar.caseSensitive=Case Sensitive
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fetching): This is the label
+# displayed in the search results status bar when status is set to fetching.
+netmonitor.search.status.labels.fetching=Searching…
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.canceled): This is the label
+# displayed in the search results status bar when status is set to cancelled.
+netmonitor.search.status.labels.canceled=Search canceled.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.done): This is the label
+# displayed in the search results status bar when status is set to done.
+# %1$S is the number of matching lines in search results (netmonitor.search.status.labels.matchingLines)
+# %2$S is the number of files in which matching lines were found (netmonitor.search.status.labels.fileCount)
+netmonitor.search.status.labels.done=Search finished. %1$S %2$S.
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.matchingLines): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing matching lines found.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of matching lines found
+netmonitor.search.status.labels.matchingLines=Found #1 matching line;Found #1 matching lines
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fileCount): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing file count
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of files in which matching lines were found
+netmonitor.search.status.labels.fileCount=in #1 file;in #1 files
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.error): This is the label
+# displayed in the search results status bar when status is set to error.
+netmonitor.search.status.labels.error=Search error.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed
+# over the toolbar's Request Blocking button
+netmonitor.toolbar.requestBlocking=Request Blocking
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed
+# in the action bar's request blocking tab
+netmonitor.actionbar.requestBlocking2=Blocking
+
+# LOCALIZATION NOTE (netmonitor.actionbar.enableBlocking): This is the label displayed
+# in request blocking tab to represent if requests blocking should be enabled
+netmonitor.actionbar.enableBlocking=Enable Request Blocking
+
+# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the
+# placeholder text for the request addition form
+netmonitor.actionbar.blockSearchPlaceholder=Block resource when URL contains
+
+# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the
+# tooltip shown over the remove button for blocked URL item
+netmonitor.actionbar.removeBlockedUrl=Remove pattern
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the
+# usage notice displayed when network blocking list is empty
+netmonitor.actionbar.requestBlockingUsageNotice=Add URL patterns here to block matching requests.
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingAddNotice): This is the
+# add notice that explains ways to add blocking pattern that is displayed when
+# network blocking list is empty
+netmonitor.actionbar.requestBlockingAddNotice=Start by adding a pattern or dragging a row from the network table.
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the
+# context menu item for removing all blocked URLs
+netmonitor.requestBlockingMenu.removeAllBlockedUrls=Remove all
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the
+# context menu item for enabling all blocked URLs
+netmonitor.requestBlockingMenu.enableAllBlockedUrls=Enable all
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the
+# context menu item for disabling all blocked URLs
+netmonitor.requestBlockingMenu.disableAllBlockedUrls=Disable all
+
+# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed
+# in the action bar's search tab
+netmonitor.actionbar.search=Search
+
+# LOCALIZATION NOTE (netmonitor.actionbar.HTTPCustomRequest): This is the label displayed
+# in the action bar's edit and resend tab
+netmonitor.actionbar.HTTPCustomRequest=New Request
+
+# LOCALIZATION NOTE (messagesTruncated): This is the text displayed
+# in the messages panel when the number of messages is over the
+# truncation limit.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+netmonitor.ws.truncated-messages.warning=One message has been truncated to conserve memory;#1 messages have been truncated to conserve memory
+
+# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed
+# in the messages panel checkbox label for toggling message truncation.
+toggleMessagesTruncation=Keep all future messages
+
+# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used
+# to describe the checkbox used to toggle message truncation.
+toggleMessagesTruncation.title=Keep all future messages or continue showing truncated messages
+
+# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed
+# to describe to describe data truncation in the messages panel.
+messageDataTruncated=Data has been truncated
+
+# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed
+# in the network details pane identifying the headers tab.
+netmonitor.tab.headers=Headers
+
+# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed
+# in the network details pane identifying the messages tab.
+netmonitor.tab.messages=Messages
+
+# LOCALIZATION NOTE (netmonitor.tab.cookies): This is the label displayed
+# in the network details pane identifying the cookies tab.
+netmonitor.tab.cookies=Cookies
+
+# LOCALIZATION NOTE (netmonitor.tab.cache): This is the label displayed
+# in the network details pane identifying the cache tab.
+netmonitor.tab.cache=Cache
+
+# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed
+# in the network details pane identifying the params tab.
+netmonitor.tab.params=Params
+
+# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed
+# in the network details pane identifying the request tab.
+netmonitor.tab.request=Request
+
+# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed
+# in the network details pane identifying the response tab.
+netmonitor.tab.response=Response
+
+# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed
+# in the network details pane identifying the timings tab.
+netmonitor.tab.timings=Timings
+
+# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed
+# in the network details pane identifying the stack-trace tab.
+netmonitor.tab.stackTrace=Stack Trace
+
+# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed
+# in the network details pane identifying the security tab.
+netmonitor.tab.security=Security
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed
+# in the network toolbar for the "All" filtering button.
+netmonitor.toolbar.filter.all=All
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.html): This is the label displayed
+# in the network toolbar for the "HTML" filtering button.
+netmonitor.toolbar.filter.html=HTML
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.css): This is the label displayed
+# in the network toolbar for the "CSS" filtering button.
+netmonitor.toolbar.filter.css=CSS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.js): This is the label displayed
+# in the network toolbar for the "JS" filtering button.
+netmonitor.toolbar.filter.js=JS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.xhr): This is the label displayed
+# in the network toolbar for the "XHR" filtering button.
+netmonitor.toolbar.filter.xhr=XHR
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.fonts): This is the label displayed
+# in the network toolbar for the "Fonts" filtering button.
+netmonitor.toolbar.filter.fonts=Fonts
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed
+# in the network toolbar for the "Images" filtering button.
+netmonitor.toolbar.filter.images=Images
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed
+# in the network toolbar for the "Media" filtering button.
+netmonitor.toolbar.filter.media=Media
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.flash): This is the label displayed
+# in the network toolbar for the "Flash" filtering button.
+netmonitor.toolbar.filter.flash=Flash
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.ws): This is the label displayed
+# in the network toolbar for the "WS" filtering button.
+netmonitor.toolbar.filter.ws=WS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.other): This is the label displayed
+# in the network toolbar for the "Other" filtering button.
+netmonitor.toolbar.filter.other=Other
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label
+# displayed in the network toolbar for the url filtering textbox.
+netmonitor.toolbar.filterFreetext.label=Filter URLs
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the toolbar url filtering textbox
+netmonitor.toolbar.filterFreetext.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search.key): This is the
+# shortcut key to toggle the search panel
+netmonitor.toolbar.search.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.copy.key): This is the
+# shortcut key to copy a selected request url from the network table
+netmonitor.toolbar.copy.key=CmdOrCtrl+C
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.learnMore): This is
+# the title used for MDN icon in filtering textbox
+netmonitor.toolbar.filterFreetext.learnMore=Learn more about filtering
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.label=Persist Logs
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.tooltip=If you enable this option the requests list will not be cleared each time you navigate to a new page
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.label=Disable cache
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.tooltip=Disable HTTP cache
+
+# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed
+# in the network toolbar for the "Clear" button.
+netmonitor.toolbar.clear=Clear
+
+# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed
+# in the network toolbar for the toggle recording button.
+netmonitor.toolbar.toggleRecording=Pause/Resume recording network log
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed
+# in the network toolbar for the search button.
+netmonitor.toolbar.search=Search
+
+# LOCALIZATION NOTE (netmonitor.toolbar.HTTPCustomRequest): This is the tooltip label displayed
+# in the network toolbar for the new HTTP Custom Request button.
+netmonitor.toolbar.HTTPCustomRequest=New Request
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label
+# displayed in the network table header context menu.
+netmonitor.toolbar.resetColumns=Reset Columns
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label
+# displayed in the network table header context menu to reset sorting
+netmonitor.toolbar.resetSorting=Reset Sorting
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent): This is the label
+# displayed in the network table header context menu to resize a column to fit its content
+netmonitor.toolbar.resizeColumnToFitContent=Resize Column To Fit Content
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent.title): This is the title
+# tooltip displayed when draggable resizer in network table headers is hovered
+netmonitor.toolbar.resizeColumnToFitContent.title=Double-click to fit column to content
+
+# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label
+# displayed in the network table header context menu for the timing submenu
+netmonitor.toolbar.timings=Timings
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseHeaders): This is the
+# label displayed in the network table header context menu for the
+# response headers submenu.
+netmonitor.toolbar.responseHeaders=Response Headers
+
+# LOCALIZATION NOTE (netmonitor.headers.toolbar.block): This is the
+# label displayed in the network details headers tab identifying the
+# block url toolbar button.
+netmonitor.headers.toolbar.block=Block
+
+# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed
+# in the network details headers tab identifying the remote address.
+netmonitor.headers.address=Address
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyAddress): This is the label displayed
+# in the network details headers tab identifying the proxy address.
+netmonitor.headers.proxyAddress=Proxy Address
+
+# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed
+# in the network details headers tab identifying the status code.
+netmonitor.headers.status=Status
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyStatus): This is the label displayed
+# in the network details headers tab identifying the status code for the proxy.
+netmonitor.headers.proxyStatus=Proxy Status
+
+# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed
+# in the network details headers tab identifying the size.
+netmonitor.headers.size=Size
+
+# LOCALIZATION NOTE (networkMenu.headers.sizeDetails): This label is displayed
+# in the network details headers tab providing the size details.
+# %1$S is the transferred size, %2$S is the size.
+netmonitor.headers.sizeDetails=%1$S (%2$S size)
+
+# LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed
+# in the network details headers tab identifying the http version.
+netmonitor.headers.version=Version
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyVersion): This is the label displayed
+# in the network details headers tab identifying the http version of the proxy.
+netmonitor.headers.proxyVersion=Proxy Version
+
+# LOCALIZATION NOTE (netmonitor.summary.learnMore): This is the label displayed
+# in the network details headers tab, with a link to external documentation for
+# status codes.
+netmonitor.summary.learnMore=Learn more about status code
+
+# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed
+# in the network details headers tab identifying the referrer policy.
+netmonitor.headers.referrerPolicy=Referrer Policy
+
+# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed
+# in the network details headers tab identifying the content blocking mode.
+netmonitor.headers.contentBlocking=Blocking
+
+# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed
+# in the network details headers tab identifying the request priority.
+netmonitor.headers.requestPriority=Request Priority
+
+# LOCALIZATION NOTE (netmonitor.headers.dns): This is the label displayed
+# in the network details headers tab identifying the DNS resolution.
+netmonitor.headers.dns=DNS-selvitys
+
+# LOCALIZATION NOTE (netmonitor.headers.dns.basic): This is the label value displayed
+# in the network details headers tab identifying the Basic DNS resolution.
+netmonitor.headers.dns.basic=Järjestelmä
+
+# LOCALIZATION NOTE (netmonitor.headers.dns.doh): This is the label value displayed
+# in the network details headers tab identifying the DNS over HTTPS resolution.
+netmonitor.headers.dns.overHttps=DNS HTTPS:n kautta
+
+# LOCALIZATION NOTE (netmonitor.summary.editAndResend): This is the label displayed
+# on the button in the headers tab that opens a form to edit and resend the currently
+# displayed request
+netmonitor.summary.editAndResend=Edit and Resend
+
+# LOCALIZATION NOTE (netmonitor.headers.raw): This is the label displayed
+# on the button in the headers tab that toggle view for raw request/response headers
+# from the currently displayed request
+netmonitor.headers.raw=Raw
+
+# LOCALIZATION NOTE (netmonitor.headers.blockedByCORS): This is the message displayed
+# in the notification shown when a request has been blocked by CORS with a more
+# specific reason shown in the parenthesis
+netmonitor.headers.blockedByCORS=Response body is not available to scripts (Reason: %S)
+
+#LOCALIZATION NOTE (netmonitor.headers.blockedByCORSTooltip): This is the tooltip
+# displayed on the learnmore link of the blocked by CORS notification.
+netmonitor.headers.blockedByCORSTooltip=Learn more about this CORS error
+
+# LOCALIZATION NOTE (netmonitor.response.name): This is the label displayed
+# in the network details response tab identifying an image's file name or font face's name.
+netmonitor.response.name=Name:
+
+# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed
+# in the network details response tab identifying an image's dimensions.
+netmonitor.response.dimensions=Dimensions:
+
+# LOCALIZATION NOTE (netmonitor.response.mime): This is the label displayed
+# in the network details response tab identifying an image's or font's MIME type.
+netmonitor.response.mime=MIME Type:
+
+# LOCALIZATION NOTE (netmonitor.response.fontPreviewFailed): This is the notice displayed
+# in the network details response tab if the font preview could not be generated due to
+# an error.
+netmonitor.response.fontPreviewFailed=Font preview could not be generated
+
+# LOCALIZATION NOTE (netmonitor.timings.blocked): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "blocked" state.
+netmonitor.timings.blocked=Blocked:
+
+# LOCALIZATION NOTE (netmonitor.timings.dns): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "dns" state.
+netmonitor.timings.dns=DNS resolution:
+
+# LOCALIZATION NOTE (netmonitor.timings.ssl): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "tls" handshake state.
+netmonitor.timings.ssl=TLS setup:
+
+# LOCALIZATION NOTE (netmonitor.timings.connect): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "connect" state.
+netmonitor.timings.connect=Connecting:
+
+# LOCALIZATION NOTE (netmonitor.timings.send): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "send" state.
+netmonitor.timings.send=Sending:
+
+# LOCALIZATION NOTE (netmonitor.timings.wait): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "wait" state.
+netmonitor.timings.wait=Waiting:
+
+# LOCALIZATION NOTE (netmonitor.timings.receive): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "receive" state.
+netmonitor.timings.receive=Receiving:
+
+# LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed
+# in the network details timings tab, with a link to external documentation
+netmonitor.timings.learnMore=Learn more about timings
+
+# LOCALIZATION NOTE (netmonitor.audits.slowIconTooltip): This is the tooltip text displayed
+# in the network request list file column, on the slow icon button.
+# %1$S is the waiting time %2$S is the slow threshold.
+netmonitor.audits.slowIconTooltip=Slow server response time (%1$S). The recommended limit is %2$S.
+
+# LOCALIZATION NOTE (netmonitor.security.warning.cipher): A tooltip
+# for warning icon that indicates a connection uses insecure cipher suite.
+netmonitor.security.warning.cipher=The cipher used for encryption is deprecated and insecure.
+
+# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed
+# in the security tab if a security error prevented the connection.
+netmonitor.security.error=An error occured:
+
+# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed
+# in the security tab describing TLS/SSL protocol version.
+netmonitor.security.protocolVersion=Protocol version:
+
+# LOCALIZATION NOTE (netmonitor.security.cipherSuite): This is the label displayed
+# in the security tab describing the cipher suite used to secure this connection.
+netmonitor.security.cipherSuite=Cipher suite:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup): This is the label displayed
+# in the security tab describing the key exchange group suite used to secure
+# this connection.
+netmonitor.security.keaGroup=Key Exchange Group:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.none): This is the label
+# displayed in the security tab describing the case when no group was used.
+netmonitor.security.keaGroup.none=none
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.custom): This is the label
+# displayed in the security tab describing the case when a custom group was used.
+netmonitor.security.keaGroup.custom=custom
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value
+# displayed in the security tab describing an unknown group.
+netmonitor.security.keaGroup.unknown=unknown group
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme): This is the label
+# displayed in the security tab describing the signature scheme used by for
+# the server certificate in this connection.
+netmonitor.security.signatureScheme=Signature Scheme:
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.none): This is the
+# label displayed in the security tab describing the case when no signature
+# was used.
+netmonitor.security.signatureScheme.none=none
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the
+# value displayed in the security tab describing an unknown signature scheme.
+netmonitor.security.signatureScheme.unknown=unknown signature scheme
+
+# LOCALIZATION NOTE (netmonitor.security.hsts): This is the label displayed
+# in the security tab describing the usage of HTTP Strict Transport Security.
+netmonitor.security.hsts=HTTP Strict Transport Security:
+
+# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed
+# in the security tab describing the usage of Public Key Pinning.
+netmonitor.security.hpkp=Public Key Pinning:
+
+# LOCALIZATION NOTE (netmonitor.security.connection): This is the label displayed
+# in the security tab describing the section containing information related to
+# the secure connection.
+netmonitor.security.connection=Connection:
+
+# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed
+# in the security tab describing the server certificate section.
+netmonitor.security.certificate=Certificate:
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.tooltip): This is the label used
+# in the Network monitor panel as a tooltip for tracking resource icon.
+netmonitor.trackingResource.tooltip=This URL matches a known tracker and it would be blocked with Content Blocking enabled.
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is
+# the label used in the Network monitor panel for showing enhanced tracking protection.
+netmonitor.trackingResource.enhancedTrackingProtection=Enhanced Tracking Protection
+
+# LOCALIZATION NOTE (netmonitor.enhancedTrackingProtection.learnMore): This is the label
+# displayed in the network details headers tab, with a link to external documentation for
+# enhanced tracking protection.
+netmonitor.enhancedTrackingProtection.learnMore=Learn more about enhanced tracking protection
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue): This is the label displayed
+# for the copy sub-menu in the context menu for a request
+netmonitor.context.copyValue=Copy Value
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue.accesskey): This is the access key
+# for the copy menu/sub-menu displayed in the context menu for a request
+netmonitor.context.copyValue.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl): This is the label displayed
+# on the context menu that copies the selected request's url
+netmonitor.context.copyUrl=Copy URL
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrl.accesskey): This is the access key
+# for the Copy URL menu item displayed in the context menu for a request
+netmonitor.context.copyUrl.accesskey=U
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams): This is the label displayed
+# on the context menu that copies the selected request's url parameters
+netmonitor.context.copyUrlParams=Copy URL Parameters
+
+# LOCALIZATION NOTE (netmonitor.context.copyUrlParams.accesskey): This is the access key
+# for the Copy URL Parameters menu item displayed in the context menu for a request
+netmonitor.context.copyUrlParams.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData): This is the label displayed
+# on the context menu that copies the selected request's data
+netmonitor.context.copyRequestData=Copy %S Data
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestData.accesskey): This is the access key
+# for the Copy POST/PATCH/PUT/DELETE Data menu item displayed in the context menu for a request
+netmonitor.context.copyRequestData.accesskey=D
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell): This is the label displayed
+# on the context menu that copies the selected request as a PowerShell command.
+netmonitor.context.copyAsPowerShell=Copy as PowerShell
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell.accesskey): This is the access key
+# for the Copy as PowerShell menu item displayed in the context menu for a request
+netmonitor.context.copyAsPowerShell.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl): This is the label displayed
+# on the context menu that copies the selected request as a cURL command.
+# The capitalization is part of the official name and should be used throughout all languages.
+# http://en.wikipedia.org/wiki/CURL
+netmonitor.context.copyAsCurl=Copy as cURL
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.accesskey): This is the access key
+# for the Copy as cURL menu item displayed in the context menu for a request
+netmonitor.context.copyAsCurl.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.*): This is the template used to add
+# a target platform to the label for "Copy as cURL" command
+# e.g. Copy as cURL (Windows)
+# Localized label for "Copy as cURL": %S
+netmonitor.context.copyAsCurl.win=%S (Windows)
+netmonitor.context.copyAsCurl.win.accesskey=C
+netmonitor.context.copyAsCurl.posix=%S (POSIX)
+netmonitor.context.copyAsCurl.posix.accesskey=P
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch request.
+netmonitor.context.copyAsFetch=Copy as Fetch
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.copyAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders): This is the label displayed
+# on the context menu that copies the selected item's request headers
+netmonitor.context.copyRequestHeaders=Copy Request Headers
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders.accesskey): This is the access key
+# for the Copy Request Headers menu item displayed in the context menu for a request
+netmonitor.context.copyRequestHeaders.accesskey=Q
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders): This is the label displayed
+# on the context menu that copies the selected item's response headers
+netmonitor.context.copyResponseHeaders=Copy Response Headers
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders.accesskey): This is the access key
+# for the Copy Response Headers menu item displayed in the context menu for a response
+netmonitor.context.copyResponseHeaders.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse): This is the label displayed
+# on the context menu that copies the selected response as a string
+netmonitor.context.copyResponse=Copy Response
+
+# LOCALIZATION NOTE (netmonitor.context.copyResponse.accesskey): This is the access key
+# for the Copy Response menu item displayed in the context menu for a request
+netmonitor.context.copyResponse.accesskey=R
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri): This is the label displayed
+# on the context menu that copies the selected image as data uri
+netmonitor.context.copyImageAsDataUri=Copy Image as Data URI
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.copyImageAsDataUri.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch command.
+netmonitor.context.useAsFetch=Use as Fetch in Console
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.useAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs): This is the label displayed
+# on the context menu that save the Image
+netmonitor.context.saveImageAs=Save Image As
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.saveImageAs.accesskey=V
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed
+# on the context menu that copies all data
+netmonitor.context.copyAll=Copy All
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll.accesskey): This is the access key
+# for the Copy All menu item displayed in the context menu for a properties view panel
+netmonitor.context.copyAll.accesskey=A
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed
+# on the context menu that copies all as HAR format
+netmonitor.context.copyAllAsHar=Copy All As HAR
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar.accesskey): This is the access key
+# for the Copy All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.copyAllAsHar.accesskey=O
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar): This is the label displayed
+# on the context menu that saves all as HAR format
+netmonitor.context.saveAllAsHar=Save All As HAR
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar.accesskey): This is the access key
+# for the Save All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.saveAllAsHar.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.context.importHar.accesskey): This is the access key
+# for the Import HAR menu item displayed in the context menu for a network panel
+netmonitor.context.importHar.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.har.importHarDialogTitle): This is a label
+# used for import file open dialog
+netmonitor.har.importHarDialogTitle=Import HAR File
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogHARFilter=HAR Files
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogAllFilter=All Files
+
+# LOCALIZATION NOTE (netmonitor.context.resend.label): This is the label displayed
+# on the context menu that resends the currently displayed request immediately
+netmonitor.context.resend.label=Resend
+
+# LOCALIZATION NOTE (netmonitor.context.resend.accesskey): This is the access key
+# for the "Resend" menu item displayed in the context menu for a request
+netmonitor.context.resend.accesskey=n
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend): This is the label displayed
+# on the context menu that opens a form to edit and resend the currently
+# displayed request
+netmonitor.context.editAndResend=Edit and Resend
+
+# LOCALIZATION NOTE (netmonitor.context.editAndResend.accesskey): This is the access key
+# for the "Edit and Resend" menu item displayed in the context menu for a request
+netmonitor.context.editAndResend.accesskey=E
+
+# LOCALIZATION NOTE (netmonitor.context.blockURL): This is the label displayed
+# on the context menu that blocks any requests matching the selected request's URL.
+netmonitor.context.blockURL=Block URL
+
+# LOCALIZATION NOTE (netmonitor.context.unblockURL): This is the label displayed
+# on the context menu that unblocks any requests matching the selected request's URL.
+netmonitor.context.unblockURL=Unblock URL
+
+# LOCALIZATION NOTE (netmonitor.context.newTab): This is the label
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab=Open in New Tab
+
+# LOCALIZATION NOTE (netmonitor.context.newTab.accesskey): This is the access key
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab.accesskey=T
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger): This is the label
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger=Open in Debugger
+
+# LOCALIZATION NOTE (netmonitor.context.openInDebugger.accesskey): This is the access key
+# for the Open in Debugger menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInDebugger.accesskey=D
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor): This is the label
+# for the Open in Style Editor menu item displayed in the context menu of the
+# network container
+netmonitor.context.openInStyleEditor=Open in Style Editor
+
+# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor.accesskey): This is
+# the access key for the Open in Style Editor menu item displayed in the
+# context menu of the network container
+netmonitor.context.openInStyleEditor.accesskey=S
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools): This is the label displayed
+# on the context menu that shows the performance analysis tools
+netmonitor.context.perfTools=Start Performance Analysis…
+
+# LOCALIZATION NOTE (netmonitor.context.perfTools.accesskey): This is the access key
+# for the performance analysis menu item displayed in the context menu for a request
+netmonitor.context.perfTools.accesskey=A
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequest): This is the label displayed
+# as the title of the new custom request form
+netmonitor.custom.newRequest=New Request
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestMethodLabel): This is the label displayed
+# above the method text input field of the new custom request form
+netmonitor.custom.newRequestMethodLabel=Method
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestUrlLabel): This is the label displayed
+# above the url text input field of the new custom request form
+netmonitor.custom.newRequestUrlLabel=URL
+
+# LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.query=Query String:
+
+# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.urlParameters=URL Parameters
+
+# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed
+# above the request headers entry in the custom request form
+netmonitor.custom.headers=Request Headers:
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed
+# above the request headers entry in the new custom request form
+netmonitor.custom.newRequestHeaders=Headers
+
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.name): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+netmonitor.custom.placeholder.name=name
+
+# LOCALIZATION NOTE (netmonitor.custom.placeholder.value): This is the placeholder displayed
+# on the input on the headers and query params on new custom request form
+netmonitor.custom.placeholder.value=value
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed
+# above the request body entry in the new custom request form
+netmonitor.custom.postBody=Body
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody.placeholder): This is the placeholder displayed
+# on the textarea body in the new custom request form
+netmonitor.custom.postBody.placeholder=payload
+
+# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed
+# above the request body entry in the custom request form
+netmonitor.custom.postData=Request Body:
+
+# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed
+# on the button which sends the custom request
+netmonitor.custom.send=Send
+
+# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed
+# on the button which cancels and closes the custom request form
+netmonitor.custom.cancel=Cancel
+
+# LOCALIZATION NOTE (netmonitor.custom.clear): This is the label displayed
+# on the button which clears the content of the new custom request panel
+netmonitor.custom.clear=Clear
+
+# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the
+# tooltip shown over the remove button for headers and query params item
+netmonitor.custom.removeItem=Remove item
+
+# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed
+# on the button which exists the performance statistics view
+netmonitor.backButton=Back
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.simple): This is the tooltip of the
+# column status code, when request is not being cached or is not from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.simple = %1$S %2$S
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cached): This is the tooltip of
+# the column status code, when the request is cached
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cached = %1$S %2$S (cached)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.worker): This is the tooltip of
+# the column status code, when the request is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.worker = %1$S %2$S (service worker)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cachedworker): This is the tooltip
+# of the column status code, when the request is cached and is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cachedworker = %1$S %2$S (cached, service worker)
+
+# LOCALIZATION NOTE (netmonitor.label.dropHarFiles): This is a label
+# rendered within the Network panel when *.har file(s) are dragged
+# over the content.
+netmonitor.label.dropHarFiles = Drop HAR files here
+
+# LOCALIZATION NOTE (netmonitor.label.har): This is a label used
+# as a tooltip for toolbar drop-down button with HAR actions
+netmonitor.label.har=HAR Export/Import
+
+# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent
+# node in the TreeView.
+netmonitor.cache.cache=Cache
+
+# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache
+# information is not available.
+netmonitor.cache.empty=No cache information
+
+# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under
+# a node that has no information available.
+netmonitor.cache.notAvailable=Not Available
+
+# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for
+# the datasize of the cached object.
+netmonitor.cache.dataSize=Data Size
+
+# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the
+# expires time of the cached object.
+netmonitor.cache.expires=Expires
+
+# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the
+# fetch count of the cached object.
+netmonitor.cache.fetchCount=Fetch Count
+
+# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the
+# last fetched date/time of the cached object.
+netmonitor.cache.lastFetched=Last Fetched
+
+# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the
+# last modified date/time of the cached object.
+netmonitor.cache.lastModified=Last Modified
+
+# LOCALIZATION NOTE (netmonitor.cache.device): This is the label text for the device
+# where a cached object was fetched from (e.g. "disk").
+netmonitor.cache.device=Device
+
+# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed
+# when the settings menu button is hovered.
+netmonitor.settings.menuTooltip=Network Settings
+
+# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed
+# when the HAR import menu item is hovered
+netmonitor.settings.importHarTooltip=Import a HAR file of network data
+
+# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed
+# when the HAR save menu item is hovered
+netmonitor.settings.saveHarTooltip=Save network data to HAR file
+
+# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed
+# when the HAR copy menu item is hovered
+netmonitor.settings.copyHarTooltip=Copy network data to the clipboard
diff --git a/l10n-fi/devtools/client/network-throttling.properties b/l10n-fi/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..d4a70016ae
--- /dev/null
+++ b/l10n-fi/devtools/client/network-throttling.properties
@@ -0,0 +1,27 @@
+# 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 These strings are used inside the NetworkThrottlingMenu
+# component used to throttle network bandwidth.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (responsive.noThrottling): UI option in a menu to configure
+# network throttling. This option is the default and disables throttling so you
+# just have normal network conditions. There is not very much room in the UI
+# so a short string would be best if possible.
+responsive.noThrottling=No throttling
+
+# LOCALIZATION NOTE (throttling.profile.description): Tooltip for the throttling
+# menu button, which gives details about the currently selected profile.
+# %1$S: Download speed value (number)
+# %2$S: Download speed unit (eg "Kbps", "Mbps")
+# %3$S: Upload speed value (number)
+# %4$S: Upload speed unit (eg "Kbps", "Mbps")
+# %5$S: Latency value, (number, in ms)
+throttling.profile.description = download %1$S%2$S, upload %3$S%4$S, latency %5$Sms
diff --git a/l10n-fi/devtools/client/perftools.ftl b/l10n-fi/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..87b44bf17b
--- /dev/null
+++ b/l10n-fi/devtools/client/perftools.ftl
@@ -0,0 +1,161 @@
+# 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/.
+
+
+### These strings are used in DevTools’ performance-new panel, about:profiling, and
+### the remote profiling panel. There are additional profiler strings in the appmenu.ftl
+### file that are used for the profiler popup.
+
+perftools-intro-title = Profiler Settings
+perftools-intro-description =
+ Recordings launch profiler.firefox.com in a new tab. All data is stored
+ locally, but you can choose to upload it for sharing.
+
+## All of the headings for the various sections.
+
+perftools-heading-settings = Full Settings
+perftools-heading-buffer = Buffer Settings
+perftools-heading-features = Features
+perftools-heading-features-default = Features (Recommended on by default)
+perftools-heading-features-disabled = Disabled Features
+perftools-heading-features-experimental = Experimental
+perftools-heading-threads = Threads
+perftools-heading-threads-jvm = JVM Threads
+perftools-heading-local-build = Local build
+
+##
+
+perftools-description-intro =
+ Recordings launch <a>profiler.firefox.com</a> in a new tab. All data is stored
+ locally, but you can choose to upload it for sharing.
+perftools-description-local-build =
+ If you’re profiling a build that you have compiled yourself, on this
+ machine, please add your build’s objdir to the list below so that
+ it can be used to look up symbol information.
+
+## The controls for the interval at which the profiler samples the code.
+
+perftools-range-interval-label = Sampling interval:
+perftools-range-interval-milliseconds = { NUMBER($interval, maxFractionalUnits: 2) } ms
+
+##
+
+# The size of the memory buffer used to store things in the profiler.
+perftools-range-entries-label = Buffer size:
+
+perftools-custom-threads-label = Add custom threads by name:
+
+perftools-devtools-interval-label = Interval:
+perftools-devtools-threads-label = Threads:
+perftools-devtools-settings-label = Settings
+
+## Various statuses that affect the current state of profiling, not typically displayed.
+
+perftools-status-recording-stopped-by-another-tool = The recording was stopped by another tool.
+perftools-status-restart-required = The browser must be restarted to enable this feature.
+
+## These are shown briefly when the user is waiting for the profiler to respond.
+
+perftools-request-to-stop-profiler = Stopping recording
+perftools-request-to-get-profile-and-stop-profiler = Capturing profile
+
+##
+
+perftools-button-start-recording = Start recording
+perftools-button-capture-recording = Capture recording
+perftools-button-cancel-recording = Cancel recording
+perftools-button-save-settings = Save settings and go back
+perftools-button-restart = Restart
+perftools-button-add-directory = Add a directory
+perftools-button-remove-directory = Remove selected
+perftools-button-edit-settings = Edit Settings…
+
+## These messages are descriptions of the threads that can be enabled for the profiler.
+
+perftools-thread-gecko-main =
+ .title = The main processes for both the parent process, and content processes
+perftools-thread-compositor =
+ .title = Composites together different painted elements on the page
+perftools-thread-dom-worker =
+ .title = This handles both web workers and service workers
+perftools-thread-renderer =
+ .title = When WebRender is enabled, the thread that executes OpenGL calls
+perftools-thread-render-backend =
+ .title = The WebRender RenderBackend thread
+perftools-thread-timer =
+ .title = The thread handling timers (setTimeout, setInterval, nsITimer)
+perftools-thread-style-thread =
+ .title = Style computation is split into multiple threads
+pref-thread-stream-trans =
+ .title = Network stream transport
+perftools-thread-socket-thread =
+ .title = The thread where networking code runs any blocking socket calls
+perftools-thread-img-decoder =
+ .title = Image decoding threads
+perftools-thread-dns-resolver =
+ .title = DNS resolution happens on this thread
+perftools-thread-task-controller =
+ .title = TaskController thread pool threads
+perftools-thread-jvm-gecko =
+ .title = The main Gecko JVM thread
+perftools-thread-jvm-nimbus =
+ .title = The main threads for the Nimbus experiments SDK
+perftools-thread-jvm-default-dispatcher =
+ .title = The Default dispatcher for the Kotlin coroutines library
+perftools-thread-jvm-glean =
+ .title = The main threads for the Glean telemetry SDK
+perftools-thread-jvm-arch-disk-io =
+ .title = The IO dispatcher for the Kotlin coroutines library
+perftools-thread-jvm-pool =
+ .title = Threads created in an unnamed thread pool
+
+##
+
+perftools-record-all-registered-threads = Bypass selections above and record all registered threads
+
+perftools-tools-threads-input-label =
+ .title = These thread names are a comma separated list that is used to enable profiling of the threads in the profiler. The name needs to be only a partial match of the thread name to be included. It is whitespace sensitive.
+
+## Onboarding UI labels. These labels are displayed in the new performance panel UI, when
+## devtools.performance.new-panel-onboarding preference is true.
+
+perftools-onboarding-message = <b>New</b>: { -profiler-brand-name } is now integrated into Developer Tools. <a>Learn more</a> about this powerful new tool.
+
+perftools-onboarding-close-button =
+ .aria-label = Close the onboarding message
+
+## Profiler presets
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/popup/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+perftools-presets-web-developer-label = Web Developer
+perftools-presets-web-developer-description = Recommended preset for most web app debugging, with low overhead.
+
+perftools-presets-firefox-label = { -brand-shorter-name }
+perftools-presets-firefox-description = Recommended preset for profiling { -brand-shorter-name }.
+
+perftools-presets-graphics-label = Graphics
+perftools-presets-graphics-description = Preset for investigating graphics bugs in { -brand-shorter-name }.
+
+perftools-presets-media-label = Media
+perftools-presets-media-description2 = Preset for investigating audio and video bugs in { -brand-shorter-name }.
+
+perftools-presets-networking-label = Networking
+perftools-presets-networking-description = Preset for investigating networking bugs in { -brand-shorter-name }.
+
+# "Power" is used in the sense of energy (electricity used by the computer).
+perftools-presets-power-label = Power
+perftools-presets-power-description = Preset for investigating power use bugs in { -brand-shorter-name }, with low overhead.
+
+perftools-presets-custom-label = Custom
+
+##
+
diff --git a/l10n-fi/devtools/client/responsive.properties b/l10n-fi/devtools/client/responsive.properties
new file mode 100644
index 0000000000..5ae29b9a5d
--- /dev/null
+++ b/l10n-fi/devtools/client/responsive.properties
@@ -0,0 +1,182 @@
+# 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 These strings are used inside the Responsive Design Mode,
+# available from the Web Developer sub-menu -> 'Responsive Design Mode'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode,
+# available from the Browser Tools sub-menu -> 'Responsive Design Mode'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (responsive.editDeviceList2): Context menu item displayed in the
+# device selector.
+responsive.editDeviceList2=Edit List…
+
+# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button.
+responsive.exit=Close Responsive Design Mode
+
+# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button.
+responsive.rotate=Rotate viewport
+
+# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the
+# device selector.
+responsive.responsiveMode=Responsive
+
+# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch
+# simulation button when it's disabled.
+responsive.enableTouch=Enable touch simulation
+
+# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch
+# simulation button when it's enabled.
+responsive.disableTouch=Disable touch simulation
+
+# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button.
+responsive.screenshot=Take a screenshot of the viewport
+
+# LOCALIZATION NOTE (responsive.screenshotGeneratedFilename): The auto generated
+# filename.
+# The first argument (%1$S) is the date string in yyyy-mm-dd format and the
+# second argument (%2$S) is the time string in HH.MM.SS format.
+responsive.screenshotGeneratedFilename=Screen Shot %1$S at %2$S
+
+# LOCALIZATION NOTE (responsive.remoteOnly): Message displayed in the tab's
+# notification box if a user tries to open Responsive Design Mode in a
+# non-remote tab.
+responsive.remoteOnly=Responsive Design Mode is only available for remote browser tabs, such as those used for web content in multi-process Firefox.
+
+# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the
+# device pixel ratio dropdown when is enabled.
+responsive.changeDevicePixelRatio=Change device pixel ratio of the viewport
+
+# LOCALIZATION NOTE (responsive.devicePixelRatio.auto): Tooltip for the device pixel ratio
+# dropdown when it is disabled because a device is selected.
+# The argument (%1$S) is the selected device (e.g. iPhone 6) that set
+# automatically the device pixel ratio value.
+responsive.devicePixelRatio.auto=Device pixel ratio automatically set by %1$S
+
+# LOCALIZATION NOTE (responsive.customDeviceName): Default value in a form to
+# add a custom device based on an arbitrary size (no association to an existing
+# device).
+responsive.customDeviceName=Custom Device
+
+# LOCALIZATION NOTE (responsive.customDeviceNameFromBase): Default value in a
+# form to add a custom device based on the properties of another. %1$S is the
+# name of the device we're staring from, such as "Apple iPhone 6".
+responsive.customDeviceNameFromBase=%1$S (Custom)
+
+# LOCALIZATION NOTE (responsive.addDevice2): Button text that reveals a form to
+# be used for adding custom devices.
+responsive.addDevice2=Add Custom Device…
+
+# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the
+# name of a new device.
+responsive.deviceAdderName=Name
+
+# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the
+# size of a new device.
+responsive.deviceAdderSize=Size
+
+# LOCALIZATION NOTE (responsive.deviceAdderPixelRatio2): Label of form field for
+# the device pixel ratio of a new device.
+responsive.deviceAdderPixelRatio2=Device Pixel Ratio
+
+# LOCALIZATION NOTE (responsive.deviceAdderUserAgent2): Label of form field for
+# the user agent of a new device.
+responsive.deviceAdderUserAgent2=User Agent String
+
+# LOCALIZATION NOTE (responsive.deviceAdderTouch2): Label of form field for the
+# touch input support of a new device.
+responsive.deviceAdderTouch2=Touch Screen
+
+# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a
+# form to add a new device.
+responsive.deviceAdderSave=Save
+
+# LOCALIZATION NOTE (responsive.deviceAdderCancel): Button text that cancels a
+# form to add a new device.
+responsive.deviceAdderCancel=Cancel
+
+# LOCALIZATION NOTE (responsive.deviceDetails): Tooltip that appears when
+# hovering on a device in the device modal. %1$S is the width of the device.
+# %2$S is the height of the device. %3$S is the device pixel ratio value of the
+# device. %4$S is the user agent of the device. %5$S is a boolean value
+# noting whether touch input is supported.
+responsive.deviceDetails=Size: %1$S x %2$S\nDPR: %3$S\nUA: %4$S\nTouch: %5$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.browserAndOS): Used to display the browser
+# and the OS in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: browser
+# %2$S: OS
+responsive.deviceDetails.browserAndOS=%1$S on %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.size): Used to display the pixel
+# size in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: width
+# %2$S: height
+responsive.deviceDetails.size=Size: %1$S x %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.DPR): Used to display the DPR in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: device pixel ratio
+responsive.deviceDetails.DPR=DPR: %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.UA): Used to display the UA in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: user agent
+responsive.deviceDetails.UA=UA: %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.touch): Used to display a boolean value
+# which is whether the touch input is supported or not in a tooltip that appears when
+# hovering on a device in the device modal.
+# %1$S: touch
+responsive.deviceDetails.touch=Touch: %1$S
+
+# LOCALIZATION NOTE (responsive.devicePixelRatioOption): UI option in a menu to configure
+# the device pixel ratio. %1$S is the devicePixelRatio value of the device.
+responsive.devicePixelRatioOption=DPR: %1$S
+
+# LOCALIZATION NOTE (responsive.reloadConditions.touchSimulation): Label on checkbox used
+# to select whether to reload when touch simulation is toggled.
+responsive.reloadConditions.touchSimulation=Reload when touch simulation is toggled
+
+# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used
+# to select whether to reload when user agent is changed.
+responsive.reloadConditions.userAgent=Reload when user agent is changed
+
+# LOCALIZATION NOTE (responsive.reloadNotification.description2): Text in notification bar
+# shown on first open to clarify that some features need a reload to apply.
+responsive.reloadNotification.description2=Device simulation changes require a reload to fully apply. Automatic reloads are disabled by default to avoid losing any changes in DevTools. You can enable reloading via the Settings menu.
+
+# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings
+# menu.
+responsive.leftAlignViewport=Left-align Viewport
+
+# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user
+# agent input in the responsive design mode toolbar.
+responsive.customUserAgent=Custom User Agent
+
+responsive.showUserAgentInput=Show user agent
+
+# LOCALIZATION NOTE (responsive.deviceSettings): The header text for the device settings
+# view.
+responsive.deviceSettings=Device Settings
+
+# LOCALIZATION NOTE (responsive.deviceNameAlreadyInUse): This is the text shown when adding a new
+# device with an already existing device name.
+responsive.deviceNameAlreadyInUse=Device name already in use
+
+# LOCALIZATION NOTE (responsive.deviceFormUpdate): Button text that updates a custom
+# device when the form is submitted.
+responsive.deviceFormUpdate=Update
diff --git a/l10n-fi/devtools/client/shared.properties b/l10n-fi/devtools/client/shared.properties
new file mode 100644
index 0000000000..33dd145445
--- /dev/null
+++ b/l10n-fi/devtools/client/shared.properties
@@ -0,0 +1,26 @@
+# 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 (dimensions): This is used to display the dimensions
+# of a node or image, like 100×200.
+dimensions=%S\u00D7%S
+
+# LOCALIZATION NOTE (boxModelSize.accessibleLabel): This is used to read the
+# dimensions of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Size: Width 100, height 200.
+boxModelSize.accessibleLabel=Size: Width %1$S, height %2$S
+
+# LOCALIZATION NOTE (boxModelInfo.accessibleLabel): This is used to read the
+# dimensions and position of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Dimensions: Width 100, height 200, position static.
+boxModelInfo.accessibleLabel=Dimensions: Width %1$S, height %2$S, position %3$S
+
+# LOCALIZATION NOTE (boxModelEditable.accessibleLabel): The string spoken by
+# screen readers for each button in the box model view that opens that property
+# for editing. %1$S is the property displayed in the tooltip when hovering.
+# %2$S is the value that is visually displayed.
+# Example: margin-left: 0.
+boxModelEditable.accessibleLabel=%1$S: %2$S
diff --git a/l10n-fi/devtools/client/sourceeditor.properties b/l10n-fi/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..0d4bd64f89
--- /dev/null
+++ b/l10n-fi/devtools/client/sourceeditor.properties
@@ -0,0 +1,117 @@
+# 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 These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools - current examples are the
+# Scratchpad and the Style Editor tools.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools (like Style Editor).
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (findCmd.promptMessage): This is the message shown when
+# the user wants to search for a string in the code. You can
+# access this feature by pressing Ctrl-F on Windows/Linux or Cmd-F on Mac.
+findCmd.promptMessage=Search for:
+
+# LOCALIZATION NOTE (gotoLineCmd.promptTitle): This is the dialog title used
+# when the user wants to jump to a specific line number in the code. You can
+# access this feature by pressing Ctrl-J on Windows/Linux or Cmd-J on Mac.
+gotoLineCmd.promptTitle=Go to line…
+
+# LOCALIZATION NOTE (autocompletion.docsLink): This is the text shown on
+# the link inside of the documentation popup. If you type 'document' in Scratchpad
+# then press Shift+Space you can see the popup.
+autocompletion.docsLink=docs
+
+# LOCALIZATION NOTE (autocompletion.notFound): This is the text shown in
+# the documentation popup if Tern fails to find a type for the object.
+autocompletion.notFound=not found
+
+# LOCALIZATION NOTE (jumpToLine.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to jump to
+# a specific line in the editor.
+jumpToLine.commandkey=J
+
+# LOCALIZATION NOTE (toggleComment.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to either
+# comment or uncomment selected lines in the editor.
+toggleComment.commandkey=/
+
+# LOCALIZATION NOTE (indentLess.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to reduce
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools so we disable it.
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentLess.commandkey=[
+
+# LOCALIZATION NOTE (indentMore.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to increase
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentMore.commandkey=]
+
+# LOCALIZATION NOTE (moveLineUp.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Up", or change the format of the string. These are key
+# identifiers, not messages displayed to the user.
+moveLineUp.commandkey=Alt-Up
+
+# LOCALIZATION NOTE (moveLineDown.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Down", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+moveLineDown.commandkey=Alt-Down
+
+# LOCALIZATION NOTE (autocompletion.commandkey): This is the key, used with
+# Ctrl, for code autocompletion.
+# Do not localize "Space", it's the key identifier, not a message displayed to
+# the user.
+autocompletion.commandkey=Space
+
+# LOCALIZATION NOTE (showInformation2.commandkey): This is the combination of
+# keys used to display more information, like type inference.
+# Do not localize "Shift", "Ctrl", "Space", or change the format of the string.
+# These are key identifiers, not messages displayed to the user.
+showInformation2.commandkey=Shift-Ctrl-Space
+
+# LOCALIZATION NOTE (find.key):
+# Key shortcut used to find the typed search
+# Do not localize "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAll.key):
+# Key shortcut used to replace the content of the editor
+# Do not localize "Shift", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAll.key=Shift+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAllMac.key):
+# Key shortcut used to replace the content of the editor on Mac
+# Do not localize "Alt", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAllMac.key=Alt+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (findNext.key):
+# Key shortcut used to find again the typed search
+# Do not localize "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findNext.key=CmdOrCtrl+G
+
+# LOCALIZATION NOTE (findPrev.key):
+# Key shortcut used to find the previous typed search
+# Do not localize "Shift", "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findPrev.key=Shift+CmdOrCtrl+G
diff --git a/l10n-fi/devtools/client/startup.properties b/l10n-fi/devtools/client/startup.properties
new file mode 100644
index 0000000000..c5fc62b2e0
--- /dev/null
+++ b/l10n-fi/devtools/client/startup.properties
@@ -0,0 +1,248 @@
+# 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 (optionsButton.tooltip): This is used as the tooltip
+# for the options panel tab.
+optionsButton.tooltip=Toolbox Options
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=Options
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=Toolbox Options Panel
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=Dark
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=Light
+
+# LOCALIZATION NOTE (performance.label):
+# This string is displayed in the title of the tab when the profiler is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+performance.label=Performance
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=Performance Panel
+
+# LOCALIZATION NOTE (performance.accesskey)
+# Used for the menuitem in the tool menu
+performance.accesskey=P
+
+# LOCALIZATION NOTE (performance.tooltip):
+# This string is displayed in the tooltip of the tab when the profiler is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Performance Tools will be shown inside brackets.
+performance.tooltip=Performance (%S)
+
+# LOCALIZATION NOTE (MenuWebconsole.label): the string displayed in the Tools
+# menu as a shortcut to open the devtools with the Web Console tab selected.
+MenuWebconsole.label=Web Console
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=Console
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=Console Panel
+
+# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
+# tooltip of the tab when the Web Console is displayed inside the developer
+# tools window.
+# Keyboard shortcut for Console will be shown inside the brackets.
+ToolboxWebconsole.tooltip2=Web Console (%S)
+
+webConsoleCmd.accesskey=W
+
+# LOCALIZATION NOTE (ToolboxDebugger.label):
+# This string is displayed in the title of the tab when the debugger is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxDebugger.label=Debugger
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=Debugger Panel
+
+# LOCALIZATION NOTE (ToolboxDebugger.tooltip4):
+# This string is displayed in the tooltip of the tab when the debugger is
+# displayed inside the developer tools window.
+ToolboxDebugger.tooltip4=JavaScript Debugger (%S)
+
+# LOCALIZATION NOTE (debuggerMenu.accesskey)
+# Used for the menuitem in the tool menu
+debuggerMenu.accesskey=D
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.label):
+# This string is displayed in the title of the tab when the style editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxStyleEditor.label=Style Editor
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=Style Editor Panel
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
+# This string is displayed in the tooltip of the tab when the style editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
+ToolboxStyleEditor.tooltip3=Stylesheet Editor (CSS) (%S)
+
+# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
+# editor.
+open.accesskey=l
+
+# LOCALIZATION NOTE (inspector.*)
+# Used for the menuitem in the tool menu
+inspector.label=Inspector
+inspector.accesskey=I
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=Inspector Panel
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=DOM and Style Inspector (%S)
+
+# LOCALIZATION NOTE (inspector.mac.tooltip)
+# This is the exact same string as inspector.tooltip2, except that we show it
+# on mac only, where we support toggling the inspector with either cmd+shift+C,
+# or cmd+opt+C
+inspector.mac.tooltip=DOM and Style Inspector (%1$S or %2$S)
+
+# LOCALIZATION NOTE (netmonitor.label):
+# This string is displayed in the title of the tab when the Network Monitor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+netmonitor.label=Network
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=Network Panel
+
+# LOCALIZATION NOTE (netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.accesskey=N
+
+# LOCALIZATION NOTE (netmonitor.tooltip2):
+# This string is displayed in the tooltip of the tab when the Network Monitor is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Network Monitor will be shown inside the brackets.
+netmonitor.tooltip2=Network Monitor (%S)
+
+# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage
+# editor.
+storage.accesskey=a
+
+# LOCALIZATION NOTE (storage.label):
+# This string is displayed as the label of the tab in the developer tools window
+storage.label=Storage
+
+# LOCALIZATION NOTE (storage.menuLabel):
+# This string is displayed in the Tools menu as a shortcut to open the devtools
+# with the Storage Inspector tab selected.
+storage.menuLabel=Storage Inspector
+
+# LOCALIZATION NOTE (storage.panelLabel):
+# This string is used as the aria-label for the iframe of the Storage Inspector
+# tool in developer tools toolbox.
+storage.panelLabel=Storage Panel
+
+# LOCALIZATION NOTE (storage.tooltip3):
+# This string is displayed in the tooltip of the tab when the storage editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Storage Inspector will be shown inside the brackets.
+storage.tooltip3=Storage Inspector (Cookies, Local Storage, …) (%S)
+
+# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
+# tab when the memory tool is displayed inside the developer tools window and in
+# the Developer Tools Menu.
+memory.label=Memory
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=Memory Panel
+
+# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
+# the tab when the memory tool is displayed inside the developer tools window.
+memory.tooltip=Memory
+
+# LOCALIZATION NOTE (dom.label):
+# This string is displayed in the title of the tab when the DOM panel is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+dom.label=DOM
+
+# LOCALIZATION NOTE (dom.panelLabel):
+# This is used as the label for the toolbox panel.
+dom.panelLabel=DOM Panel
+
+# LOCALIZATION NOTE (dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.accesskey=D
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
+
+# LOCALIZATION NOTE (accessibility.label):
+# This string is displayed in the title of the tab when the Accessibility panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+accessibility.label=Accessibility
+
+# LOCALIZATION NOTE (accessibility.panelLabel):
+# This is used as the label for the toolbox panel.
+accessibility.panelLabel=Accessibility Panel
+
+# LOCALIZATION NOTE (accessibility.accesskey)
+# Used for the menuitem in the tool menu
+accessibility.accesskey=y
+
+# LOCALIZATION NOTE (accessibility.tooltip3):
+# This string is displayed in the tooltip of the tab when the Accessibility is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Accessibility panel will be shown inside the brackets.
+accessibility.tooltip3=Accessibility (%S)
+
+# LOCALIZATION NOTE (application.label):
+# This string is displayed in the title of the tab when the Application panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+application.label=Application
+
+# LOCALIZATION NOTE (application.panelLabel):
+# This is used as the label for the toolbox panel.
+application.panelLabel=Application Panel
+
+# LOCALIZATION NOTE (application.tooltip):
+# This string is displayed in the tooltip of the tab when the Application panel is
+# displayed inside the developer tools window.
+application.tooltip=Application Panel
+
+# LOCALIZATION NOTE (toolbox.buttons.responsive):
+# This is the tooltip of the button in the toolbox toolbar that toggles
+# the Responsive mode.
+# Keyboard shortcut will be shown inside brackets.
+toolbox.buttons.responsive = Responsive Design Mode (%S)
+
+# LOCALIZATION NOTE (toolbox.buttons.screenshot):
+# This is the tooltip of the button in the toolbox toolbar that allows you to
+# take a screenshot of the entire page
+toolbox.buttons.screenshot = Take a screenshot of the entire page
+
+# LOCALIZATION NOTE (toolbox.buttons.rulers):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# rulers in the page
+toolbox.buttons.rulers = Toggle rulers for the page
+
+# LOCALIZATION NOTE (toolbox.buttons.measure):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# measuring tools
+toolbox.buttons.measure = Measure a portion of the page
+
diff --git a/l10n-fi/devtools/client/storage.ftl b/l10n-fi/devtools/client/storage.ftl
new file mode 100644
index 0000000000..7d6cd8c331
--- /dev/null
+++ b/l10n-fi/devtools/client/storage.ftl
@@ -0,0 +1,132 @@
+# 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/.
+
+
+### These strings are used inside the Storage Inspector.
+
+# Key shortcut used to focus the filter box on top of the data view
+storage-filter-key = CmdOrCtrl+F
+
+# Hint shown when the selected storage host does not contain any data
+storage-table-empty-text = No data present for selected host
+
+# Hint shown when the cookies storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cookies
+storage-table-type-cookies-hint = View and edit cookies by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the local storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+storage-table-type-localstorage-hint = View and edit the local storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the session storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+storage-table-type-sessionstorage-hint = View and edit the session storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the IndexedDB storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/IndexedDB
+storage-table-type-indexeddb-hint = View and delete IndexedDB entries by selecting a database. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the cache storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cache_Storage
+storage-table-type-cache-hint = View and delete the cache storage entries by selecting a storage. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Hint shown when the extension storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Extension_Storage
+storage-table-type-extensionstorage-hint = View and edit the extension storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a>
+
+# Placeholder for the searchbox that allows you to filter the table items
+storage-search-box =
+ .placeholder = Filter items
+
+# Placeholder text in the sidebar search box
+storage-variable-view-search-box =
+ .placeholder = Filter values
+
+# Add Item button title
+storage-add-button =
+ .title = Add Item
+
+# Refresh button title
+storage-refresh-button =
+ .title = Refresh Items
+
+# Context menu action to delete all storage items
+storage-context-menu-delete-all =
+ .label = Delete All
+
+# Context menu action to delete all session cookies
+storage-context-menu-delete-all-session-cookies =
+ .label = Delete All Session Cookies
+
+# Context menu action to copy a storage item
+storage-context-menu-copy =
+ .label = Copy
+
+# Context menu action to delete storage item
+# Variables:
+# $itemName (String) - Name of the storage item that will be deleted
+storage-context-menu-delete =
+ .label = Delete “{ $itemName }”
+
+# Context menu action to add an item
+storage-context-menu-add-item =
+ .label = Add Item
+
+# Context menu action to delete all storage items from a given host
+# Variables:
+# $host (String) - Host for which we want to delete the items
+storage-context-menu-delete-all-from =
+ .label = Delete All From “{ $host }”
+
+## Header names of the columns in the Storage Table for each type of storage available
+## through the Storage Tree to the side.
+
+storage-table-headers-cookies-name = Name
+storage-table-headers-cookies-value = Value
+storage-table-headers-cookies-expires = Expires / Max-Age
+storage-table-headers-cookies-size = Size
+storage-table-headers-cookies-last-accessed = Last Accessed
+storage-table-headers-cookies-creation-time = Created
+storage-table-headers-cache-status = Status
+storage-table-headers-extension-storage-area = Storage Area
+
+## Labels for Storage type groups present in the Storage Tree, like cookies, local storage etc.
+
+storage-tree-labels-cookies = Cookies
+storage-tree-labels-local-storage = Local Storage
+storage-tree-labels-session-storage = Session Storage
+storage-tree-labels-indexed-db = Indexed DB
+storage-tree-labels-cache = Cache Storage
+storage-tree-labels-extension-storage = Extension Storage
+
+##
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage-expand-pane =
+ .title = Expand Pane
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage-collapse-pane =
+ .title = Collapse Pane
+
+# String displayed in the expires column when the cookie is a Session Cookie
+storage-expires-session = Session
+
+# Heading displayed over the item value in the sidebar
+storage-data = Data
+
+# Heading displayed over the item parsed value in the sidebar
+storage-parsed-value = Parsed Value
+
+# Warning notification when IndexedDB database could not be deleted immediately.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-blocked = Database “{ $dbName }” will be deleted after all connections are closed.
+
+# Error notification when IndexedDB database could not be deleted.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-error = Database “{ $dbName }” could not be deleted.
diff --git a/l10n-fi/devtools/client/styleeditor.ftl b/l10n-fi/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..b6a1adad69
--- /dev/null
+++ b/l10n-fi/devtools/client/styleeditor.ftl
@@ -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/.
+
+styleeditor-new-button =
+ .tooltiptext = Create and append a new style sheet to the document
+ .accesskey = N
+styleeditor-import-button =
+ .tooltiptext = Import and append an existing style sheet to the document
+ .accesskey = I
+styleeditor-filter-input =
+ .placeholder = Filter style sheets
+styleeditor-visibility-toggle =
+ .tooltiptext = Toggle style sheet visibility
+ .accesskey = S
+styleeditor-visibility-toggle-system =
+ .tooltiptext = System style sheets can’t be disabled
+styleeditor-save-button = Save
+ .tooltiptext = Save this style sheet to a file
+ .accesskey = S
+styleeditor-options-button =
+ .tooltiptext = Style Editor options
+styleeditor-at-rules = At-rules
+styleeditor-editor-textbox =
+ .data-placeholder = Type CSS here.
+styleeditor-no-stylesheet = This page has no style sheet.
+styleeditor-no-stylesheet-tip = Perhaps you'd like to <a data-l10n-name="append-new-stylesheet">append a new style sheet</a>?
+styleeditor-open-link-new-tab =
+ .label = Open Link in New Tab
+styleeditor-copy-url =
+ .label = Copy URL
+styleeditor-find =
+ .label = Etsi
+ .accesskey = E
+styleeditor-find-again =
+ .label = Etsi seuraava
+ .accesskey = s
+styleeditor-go-to-line =
+ .label = Jump to line…
+ .accesskey = J
+# Label displayed when searching a term that is not found in any stylesheet path
+styleeditor-stylesheet-all-filtered = No matching style sheet has been found.
+# This string is shown in the style sheets list
+# Variables:
+# $ruleCount (Integer) - The number of rules in the stylesheet.
+styleeditor-stylesheet-rule-count =
+ { $ruleCount ->
+ [one] { $ruleCount } rule.
+ *[other] { $ruleCount } rules.
+ }
+# Title for the pretty print button in the editor footer.
+styleeditor-pretty-print-button =
+ .title = Pretty print style sheet
+# Title for the pretty print button in the editor footer, when it's disabled
+styleeditor-pretty-print-button-disabled =
+ .title = Can only pretty print CSS files
diff --git a/l10n-fi/devtools/client/styleeditor.properties b/l10n-fi/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..a1f9b1e897
--- /dev/null
+++ b/l10n-fi/devtools/client/styleeditor.properties
@@ -0,0 +1,74 @@
+# 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 These strings are used inside the Style Editor.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (inlineStyleSheet): This is the name used for an style sheet
+# that is declared inline in the <style> element. Shown in the stylesheets list.
+# the argument is the index (order) of the containing <style> element in the
+# document.
+inlineStyleSheet=<inline style sheet #%S>
+
+# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new
+# user-created style sheet.
+newStyleSheet=New style sheet #%S
+
+# LOCALIZATION NOTE (ruleCount.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is shown in the style sheets list.
+# #1 rule.
+# example: 111 rules.
+ruleCount.label=#1 rule.;#1 rules.
+
+# LOCALIZATION NOTE (error-load): This is shown when loading fails.
+error-load=Style sheet could not be loaded.
+
+# LOCALIZATION NOTE (error-save): This is shown when saving fails.
+error-save=Style sheet could not be saved.
+
+# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title,
+# when you import a style sheet into the Style Editor.
+importStyleSheet.title=Import style sheet
+
+# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title
+importStyleSheet.filter=CSS files
+
+# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title,
+# when you save a style sheet from the Style Editor.
+saveStyleSheet.title=Save style sheet
+
+# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title
+saveStyleSheet.filter=CSS files
+
+# LOCALIZATION NOTE (saveStyleSheet.commandkey): This the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to Save
+saveStyleSheet.commandkey=S
+
+# LOCALIZATION NOTE (focusFilterInput.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to focus the
+# filter input. Don't use "F" as it's used by the CodeMirror editor to perform an
+# in-file search; if possible, keep it the same as sources.search.key2.
+focusFilterInput.commandkey=P
+
+# LOCALIZATION NOTE (showOriginalSources.label): This is the label on the context
+# menu item to toggle showing original sources in the editor.
+showOriginalSources.label=Show original sources
+
+# LOCALIZATION NOTE (showOriginalSources.accesskey): This is the access key for
+# the menu item to toggle showing original sources in the editor.
+showOriginalSources.accesskey=o
+
+# LOCALIZATION NOTE (showAtRulesSidebar.label): This is the label on the context
+# menu item to toggle showing at-rules shortcuts in a sidebar.
+# "@media" and "@supports" should not be translated as they are CSS rule identifiers.
+showAtRulesSidebar.label=Show At-rules Sidebar (@media, @supports, …)
+
+# LOCALIZATION NOTE (showAtRulesSidebar.accesskey): This is the access key for
+# the menu item to toggle showing the at-rules sidebar.
+showAtRulesSidebar.accesskey=a
diff --git a/l10n-fi/devtools/client/toolbox-options.ftl b/l10n-fi/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..208637e6fb
--- /dev/null
+++ b/l10n-fi/devtools/client/toolbox-options.ftl
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = Default Developer Tools
+
+# The label for the explanation of the * marker on a tool which is currently not supported
+# for the target of the toolbox.
+options-tool-not-supported-label = * Not supported for current toolbox target
+
+# The label for the heading of group of checkboxes corresponding to the developer tools
+# added by add-ons. This heading is hidden when there is no developer tool installed by add-ons.
+options-select-additional-tools-label = Developer Tools installed by add-ons
+
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = Available Toolbox Buttons
+
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = Themes
+
+## Inspector section
+
+# The heading
+options-context-inspector = Inspector
+
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = Show Browser Styles
+options-show-user-agent-styles-tooltip =
+ .title = Turning this on will show default styles that are loaded by the browser.
+
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = Truncate DOM attributes
+options-collapse-attrs-tooltip =
+ .title = Truncate long attributes in the inspector
+
+# The label for the checkbox option to enable the "drag to update" feature
+options-inspector-draggable-properties-label = Click and drag to edit size values
+options-inspector-draggable-properties-tooltip =
+ .title = Click and drag to edit size values in the inspector rules view.
+
+# The label for the checkbox option to enable simplified highlighting on page elements
+# within the inspector for users who enabled prefers-reduced-motion = reduce
+options-inspector-simplified-highlighters-label = Use simpler highlighters with prefers-reduced-motion
+options-inspector-simplified-highlighters-tooltip =
+ .title = Enables simplified highlighters when prefers-reduced-motion is enabled. Draws lines instead of filled rectangles around highlighted elements to avoid flashing effects.
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = Default color unit
+options-default-color-unit-authored = As Authored
+options-default-color-unit-hex = Hex
+options-default-color-unit-hsl = HSL(A)
+options-default-color-unit-rgb = RGB(A)
+options-default-color-unit-hwb = HWB
+options-default-color-unit-name = Color Names
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = Style Editor
+
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = Autocomplete CSS
+options-stylesheet-autocompletion-tooltip =
+ .title = Autocomplete CSS properties, values and selectors in Style Editor as you type
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = Screenshot Behavior
+
+# Label for the checkbox that toggles screenshot to clipboard feature
+options-screenshot-clipboard-only-label = Screenshot to clipboard only
+options-screenshot-clipboard-tooltip2 =
+ .title = Tallentaa kuvakaappauksen suoraan leikepöydälle
+
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = Play camera shutter sound
+options-screenshot-audio-tooltip =
+ .title = Enables the camera audio sound when taking screenshot
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = Editor Preferences
+
+options-sourceeditor-detectindentation-tooltip =
+ .title = Guess indentation based on source content
+options-sourceeditor-detectindentation-label = Detect indentation
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = Automatically insert closing brackets
+options-sourceeditor-autoclosebrackets-label = Autoclose brackets
+options-sourceeditor-expandtab-tooltip =
+ .title = Use spaces instead of the tab character
+options-sourceeditor-expandtab-label = Indent using spaces
+options-sourceeditor-tabsize-label = Tab size
+options-sourceeditor-keybinding-label = Keybindings
+options-sourceeditor-keybinding-default-label = Default
+
+## Advanced section
+
+# The heading (this item is also used in perftools.ftl)
+options-context-advanced-settings = Advanced settings
+
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = Disable HTTP Cache (when toolbox is open)
+options-disable-http-cache-tooltip =
+ .title = Turning this option on will disable the HTTP cache for all tabs that have the toolbox open. Service Workers are not affected by this option.
+
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = Disable JavaScript *
+options-disable-javascript-tooltip =
+ .title = Turning this option on will disable JavaScript for the current tab. If the tab or the toolbox is closed then this setting will be forgotten.
+
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = Enable browser chrome and add-on debugging toolboxes
+options-enable-chrome-tooltip =
+ .title = Turning this option on will allow you to use various developer tools in browser context (via Tools > Web Developer > Browser Toolbox) and debug add-ons from the Add-ons Manager
+
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = Enable remote debugging
+options-enable-remote-tooltip2 =
+ .title = Turning this option on will allow to debug this browser instance remotely
+
+# The label for checkbox that enables F12 as a shortcut to open DevTools
+options-enable-f12-label = Use the F12 key to open or close DevTools
+options-enable-f12-tooltip =
+ .title = Turning this option on will bind the F12 key to open or close the DevTools toolbox
+
+# The label for checkbox that toggles custom formatters for objects
+options-enable-custom-formatters-label = Enable custom formatters
+options-enable-custom-formatters-tooltip =
+ .title = Turning this option on will allow sites to define custom formatters for DOM objects
+
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = Enable Service Workers over HTTP (when toolbox is open)
+options-enable-service-workers-http-tooltip =
+ .title = Turning this option on will enable the service workers over HTTP for all tabs that have the toolbox open.
+
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = Enable Source Maps
+options-source-maps-tooltip =
+ .title = If you enable this option sources will be mapped in the tools.
+
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = * Current session only, reloads the page
diff --git a/l10n-fi/devtools/client/toolbox.ftl b/l10n-fi/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..009d11c56f
--- /dev/null
+++ b/l10n-fi/devtools/client/toolbox.ftl
@@ -0,0 +1,55 @@
+# 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/.
+
+
+### These messages are used in the DevTools toolbox.
+
+
+## These labels are shown in the "..." menu in the toolbox, and represent different
+## commands such as the docking of DevTools, toggling features, and viewing some
+## external links. Some of the commands have the keyboard shortcut shown next to
+## the label.
+
+toolbox-meatball-menu-dock-bottom-label = Dock to bottom
+toolbox-meatball-menu-dock-left-label = Dock to left
+toolbox-meatball-menu-dock-right-label = Dock to right
+toolbox-meatball-menu-dock-separate-window-label = Separate window
+
+toolbox-meatball-menu-splitconsole-label = Show split console
+toolbox-meatball-menu-hideconsole-label = Hide split console
+
+toolbox-meatball-menu-settings-label = Settings
+toolbox-meatball-menu-documentation-label = Documentation…
+toolbox-meatball-menu-community-label = Community…
+
+# This menu item is only available in the browser toolbox. It forces the popups/panels
+# to stay visible on blur, which is primarily useful for addon developers and Firefox
+# contributors.
+toolbox-meatball-menu-noautohide-label = Disable popup auto-hide
+
+toolbox-meatball-menu-pseudo-locale-accented = Enable “accented” locale
+toolbox-meatball-menu-pseudo-locale-bidi = Enable “bidi” locale
+
+##
+
+
+## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console
+
+toolbox-mode-browser-toolbox-label = Browser Toolbox Mode
+toolbox-mode-browser-console-label = Browser Console Mode
+
+toolbox-mode-everything-label = Multiprocess
+toolbox-mode-everything-sub-label = (Slower)
+toolbox-mode-everything-container =
+ .title = Debug everything in all processes
+
+toolbox-mode-parent-process-label = Parent process only
+toolbox-mode-parent-process-sub-label = (Fast)
+toolbox-mode-parent-process-container =
+ .title = Only focus on resources from the parent process.
+
+toolbox-always-on-top-enabled2 = Disable always on top
+ .title = This will restart the Developer Tools
+toolbox-always-on-top-disabled2 = Enable always on top
+ .title = This will restart the Developer Tools
diff --git a/l10n-fi/devtools/client/toolbox.properties b/l10n-fi/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..0be5cf1bb6
--- /dev/null
+++ b/l10n-fi/devtools/client/toolbox.properties
@@ -0,0 +1,267 @@
+# 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 (toolbox.titleTemplate1): This is the template
+# used to format the title of the toolbox.
+# The URL of the page being targeted: %1$S.
+toolbox.titleTemplate1=Developer Tools — %1$S
+
+# LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template
+# used to format the title of the toolbox.
+# The page title or other name for the thing being targeted: %1$S
+# The URL of the page being targeted: %2$S.
+toolbox.titleTemplate2=Developer Tools — %1$S — %2$S
+
+# LOCALIZATION NOTE (toolbox.multiProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.fission` is true.
+# This Browser Toolbox allows to debug the parent process as well as the content
+# processes in the same toolbox.
+toolbox.multiProcessBrowserToolboxTitle=Multiprocess Browser Toolbox
+
+# LOCALIZATION NOTE (toolbox.parentProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.fission` and
+# `devtools.browsertoolbox.scope` is set to "parent-process".
+# This Browser Toolbox allows to debug only the parent process resources.
+toolbox.parentProcessBrowserToolboxTitle=Parent process Browser Toolbox
+
+# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
+# name when no tool is selected.
+toolbox.defaultTitle=Developer Tools
+
+# LOCALIZATION NOTE (toolbox.label): This is used as the label for the
+# toolbox as a whole
+toolbox.label=Developer Tools
+
+# LOCALIZATION NOTE (options.autoTheme.label)
+# Used as a label for auto theme
+options.autoTheme.label=Auto
+
+# LOCALIZATION NOTE (options.toolNotSupportedMarker): This is the template
+# used to add a * marker to the label for the Options Panel tool checkbox for the
+# tool which is not supported for the current toolbox target.
+# The name of the tool: %1$S.
+options.toolNotSupportedMarker=%1$S *
+
+# LOCALIZATION NOTE (toolbox.pickButton.tooltip)
+# This is the tooltip of the element picker button in the toolbox toolbar.
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.elementPicker.tooltip=Pick an element from the page (%S)
+
+# LOCALIZATION NOTE (toolbox.pickButton.mac.tooltip)
+# Like toolbox.pickButton.tooltip, but for macOS there are two possible keyboard
+# shortcuts: Cmd+Shift+C or Cmd+Opt+C
+toolbox.elementPicker.mac.tooltip=Pick an element from the page (%1$S or %2$S)
+
+# LOCALIZATION NOTE (toolbox.androidElementPicker.tooltip)
+# This is the tooltip of the element picker button in the about:devtools-toolbox toolbox toolbar
+# when debugging an Android device
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.androidElementPicker.tooltip=Pick an element from the Android phone (%S)
+
+# LOCALIZATION NOTE (toolbox.androidElementPicker.mac.tooltip)
+# Like toolbox.androidElementPicker.tooltip, but for macOS as there are two possible keyboard
+# shortcuts (Cmd+Shift+C or Cmd+Opt+C)
+# %1$S and %2$S are the keyboard shortcuts that toggle the element picker.
+toolbox.androidElementPicker.mac.tooltip=Pick an element from the Android phone (%1$S or %2$S)
+
+# LOCALIZATION NOTE (toolbox.elementPicker.key)
+# Key shortcut used to toggle the element picker.
+toolbox.elementPicker.key=CmdOrCtrl+Shift+C
+
+# LOCALIZATION NOTE (toolbox.elementPicker.mac.key)
+# Key shortcut used to toggle the element picker for macOS.
+toolbox.elementPicker.mac.key=Cmd+Opt+C
+
+# LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a css file in the Style-Editor tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInStyleEditorByXX is used.
+toolbox.viewCssSourceInStyleEditor.label=Open File in Style-Editor
+
+# LOCALIZATION NOTE (toolbox.viewJsSourceInDebugger.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a js file in the Debugger tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInDebugger is used.
+toolbox.viewJsSourceInDebugger.label=Open File in Debugger
+
+toolbox.resumeOrderWarning=Page did not resume after the debugger was attached. To fix this, please close and re-open the toolbox.
+
+# LOCALIZATION NOTE (toolbox.help.key)
+# Key shortcut used to open the options panel
+toolbox.help.key=F1
+
+# LOCALIZATION NOTE (toolbox.nextTool.key)
+# Key shortcut used to select the next tool
+toolbox.nextTool.key=CmdOrCtrl+]
+
+# LOCALIZATION NOTE (toolbox.previousTool.key)
+# Key shortcut used to select the previous tool
+toolbox.previousTool.key=CmdOrCtrl+[
+
+# LOCALIZATION NOTE (toolbox.zoom*.key)
+# Key shortcuts used to zomm in/out or reset the toolbox
+# Should match full-zoom-*-shortcut values from browserSets.ftl
+toolbox.zoomIn.key=CmdOrCtrl+Plus
+toolbox.zoomIn2.key=CmdOrCtrl+=
+
+toolbox.zoomOut.key=CmdOrCtrl+-
+toolbox.zoomOut2.key=
+
+toolbox.zoomReset.key=CmdOrCtrl+0
+toolbox.zoomReset2.key=
+
+# LOCALIZATION NOTE (toolbox.reload*.key)
+# Key shortcuts used to reload the page
+toolbox.reload.key=CmdOrCtrl+R
+toolbox.reload2.key=F5
+
+# LOCALIZATION NOTE (toolbox.forceReload*.key)
+# Key shortcuts used to force reload of the page by bypassing caches
+toolbox.forceReload.key=CmdOrCtrl+Shift+R
+toolbox.forceReload2.key=CmdOrCtrl+F5
+
+# LOCALIZATION NOTE (toolbox.toggleHost.key)
+# Key shortcut used to move the toolbox in bottom or side of the browser window
+toolbox.toggleHost.key=CmdOrCtrl+Shift+D
+
+# LOCALIZATION NOTE (toolbox.closeToolbox.key) Key shortcut used to close the toolbox
+toolbox.closeToolbox.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (toolbox.toggleToolbox.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolbox.key=CmdOrCtrl+Shift+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxOSX.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxOSX.key=CmdOrCtrl+Alt+I
+
+# LOCALIZATION NOTE (toolbox.toggleToolboxF12.key) Key shortcut used to toggle the toolbox
+toolbox.toggleToolboxF12.key=F12
+
+# LOCALIZATION NOTE (toolbox.frames.tooltip): This is the label for
+# the iframes menu list that appears only when the document has some.
+# It allows you to switch the context of the whole toolbox.
+toolbox.frames.tooltip=Select an iframe as the currently targeted document
+
+# LOCALIZATION NOTE (toolbox.frames.disabled.tooltip): This is the title
+# displayed as a tooltip of the iframes menu button, when disabled. The button
+# is normally hidden when no frames are available. But if the user is on the
+# DevTools Options panel, the button is always shown for discoverability.
+toolbox.frames.disabled.tooltip=This button is only available on pages with several iframes
+
+# LOCALIZATION NOTE (toolbox.showFrames.key)
+# Key shortcut used to show frames menu when 'frames' button is focused
+toolbox.showFrames.key=Alt+Down
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.button.tooltip): This is the tooltip
+# for the "..." button on the developer tools toolbox.
+toolbox.meatballMenu.button.tooltip=Customize Developer Tools and get help
+
+# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for
+# the close button the developer tools toolbox.
+toolbox.closebutton.tooltip=Close Developer Tools
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for
+# the error count button displayed in the developer tools toolbox.
+toolbox.errorCountButton.tooltip=Show Split Console
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.description): This is the description that
+# will be used for the error count button in the devTools settings panel.
+toolbox.errorCountButton.description=Show the number of errors on the page
+
+# LOCALIZATION NOTE (toolbox.sourceMapFailure): This is shown in the web console
+# when there is a failure to fetch or parse a source map.
+# The text of the error: %1$S
+# The URL that caused DevTools to try to fetch a source map: %2$S
+# The URL of the source map itself: %3$S
+toolbox.sourceMapFailure=Source map error: %1$S\nResource URL: %2$S\nSource Map URL: %3$S
+
+# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in
+# the web console when there is a failure to fetch or parse an
+# original source that was mentioned in a source map.
+# The text of the error: %1$S
+# The URL of the source: %2$S
+toolbox.sourceMapSourceFailure=Error while fetching an original source: %1$S\nSource URL: %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel): This is displayed as a toolbox
+# header in about:devtools-toolbox. about:devtools-toolbox is used for instance when
+# inspecting tabs in about:debugging.
+# e.g. Mozilla Fennec (65.0a1)
+# The name of runtime: %1$S
+# The version of runtime: %2$S
+toolbox.debugTargetInfo.runtimeLabel=%1$S (%2$S)
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel.thisRuntime): this is displayed
+# as a toolbox header in about:devtools-toolbox, when inspecting the current Firefox runtime
+# (for instance, when inspecting one of its tabs in about:debugging)
+# e.g. This Firefox (65.0a1)
+# The name of the current runtime/application (brandShorterName): %1$S
+# The version of runtime: %2$S
+toolbox.debugTargetInfo.runtimeLabel.thisRuntime=This %1$S (%2$S)
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleRemote):
+# Used as the tab title for about:devtools-toolbox when connected to a remote target.
+# The connection type (see toolbox.debugTargetInfo.connection.*): %1$S
+# The target type (see toolbox.debugTargetInfo.targetType.*): %2$S
+# The target name (retrieved from DevTools, eg the extension's name): %3$S
+toolbox.debugTargetInfo.tabTitleRemote=Toolbox (%1$S) - %2$S / %3$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleLocal):
+# Used as the tab title for about:devtools-toolbox when connected to This Firefox.
+# The target type (see toolbox.debugTargetInfo.targetType.*): %1$S
+# The target name (retrieved from DevTools, eg the extension's name): %2$S
+toolbox.debugTargetInfo.tabTitleLocal=Toolbox - %1$S / %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleError):
+# Used as the tab title for about:devtools-toolbox when it failed to connect to the
+# target.
+toolbox.debugTargetInfo.tabTitleError=Toolbox - error occurred
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.connection.*): This is displayed in the
+# toolbox header in about:devtools-toolbox, to indicate how the connection to the
+# runtime being inspected was made.
+toolbox.debugTargetInfo.connection.usb=USB
+toolbox.debugTargetInfo.connection.network=Network
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload):
+# Used as the reload button tooltip
+toolbox.debugTargetInfo.reload=Reload
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward):
+# Used as the navigation's "forward" button tooltip
+toolbox.debugTargetInfo.forward=Forward
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.back):
+# Used as the navigation's "back" button tooltip
+toolbox.debugTargetInfo.back=Back
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.targetType.*): This is displayed as the
+# alt attribute for an icon in the toolbox header in about:devtools-toolbox,
+# to indicate what is the type of the debug target being inspected.
+toolbox.debugTargetInfo.targetType.extension=Extension
+toolbox.debugTargetInfo.targetType.process=Process
+toolbox.debugTargetInfo.targetType.tab=Tab
+toolbox.debugTargetInfo.targetType.worker=Worker
+
+# LOCALIZATION NOTE (browserToolbox.statusMessage): This is the label
+# shown next to status details when the Browser Toolbox fails to connect or
+# appears to be taking a while to do so.
+browserToolbox.statusMessage=Browser Toolbox connection status:
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.title): This is the title
+# for the Error view shown by the toolbox when a connection to a debug target
+# could not be made
+toolbox.debugTargetErrorPage.title = Error
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.description): This is the
+# text that appears in the Error view and explains to the user that an error
+# has happened while trying to connect to a debug target
+toolbox.debugTargetErrorPage.description = Cannot connect to the debug target. See error details below:
+
+# LOCALIZATION NOTE (options.deprecationNotice): This is the text that appears in the
+# settings panel for panel that will be removed in future releases.
+# This entire text is treated as a link to an MDN page.
+options.deprecationNotice=Deprecated. Learn More…
+
+# LOCALIZATION NOTE (options.enableMultiProcessToolbox): This is the text that appears in the
+# settings panel for the checkbox that enables the Multiprocess Browser Toolbox.
+options.enableMultiProcessToolbox=Enable the Multiprocess Browser Toolbox (requires restarting the Browser Toolbox)
diff --git a/l10n-fi/devtools/client/tooltips.ftl b/l10n-fi/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..349f700859
--- /dev/null
+++ b/l10n-fi/devtools/client/tooltips.ftl
@@ -0,0 +1,101 @@
+# 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 for Developer Tools tooltips.
+
+learn-more = <span data-l10n-name="link">Learn more</span>
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## Variables:
+## $property (string) - A CSS property name e.g. "color".
+## $display (string) - A CSS display value e.g. "inline-block".
+
+inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s neither a flex container nor a grid container.
+inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container, a grid container, or a multi-column container.
+inactive-css-not-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a multi-column container.
+inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> has no effect on this element since it’s not a grid or flex item.
+inactive-css-not-grid-item = <strong>{ $property }</strong> has no effect on this element since it’s not a grid item.
+inactive-css-not-grid-container = <strong>{ $property }</strong> has no effect on this element since it’s not a grid container.
+inactive-css-not-flex-item = <strong>{ $property }</strong> has no effect on this element since it’s not a flex item.
+inactive-css-not-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container.
+inactive-css-not-inline-or-tablecell = <strong>{ $property }</strong> has no effect on this element since it’s not an inline or table-cell element.
+inactive-css-first-line-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::first-line pseudo-elements.
+inactive-css-first-letter-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::first-letter pseudo-elements.
+inactive-css-placeholder-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::placeholder pseudo-elements.
+inactive-css-property-because-of-display = <strong>{ $property }</strong> has no effect on this element since it has a display of <strong>{ $display }</strong>.
+inactive-css-not-display-block-on-floated = The <strong>display</strong> value has been changed by the engine to <strong>block</strong> because the element is <strong>floated</strong>.
+inactive-css-property-is-impossible-to-override-in-visited = It’s impossible to override <strong>{ $property }</strong> due to <strong>:visited</strong> restriction.
+inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> has no effect on this element since it’s not a positioned element.
+inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> has no effect on this element since <strong>overflow:hidden</strong> is not set.
+inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> has no effect on internal table elements.
+inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> has no effect on internal table elements except table cells.
+inactive-css-not-table = <strong>{ $property }</strong> has no effect on this element since it’s not a table.
+inactive-css-not-table-cell = <strong>{ $property }</strong> has no effect on this element since it’s not a table cell.
+inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> has no effect on this element since it doesn’t scroll.
+inactive-css-border-image = <strong>{ $property }</strong> has no effect on this element since it cannot be applied to internal table elements where <strong>border-collapse</strong> is set to <strong>collapse</strong> on the parent table element.
+inactive-css-ruby-element = <strong>{ $property }</strong> has no effect on this element since it is a ruby element. Its size is determined by the font size of the ruby text.
+inactive-css-highlight-pseudo-elements-not-supported = <strong>{ $property }</strong> is not supported on highlight pseudo-elements.
+inactive-css-cue-pseudo-element-not-supported = <strong>{ $property }</strong> is not supported on ::cue pseudo-elements.
+# Variables:
+# $lineCount (integer) - The number of lines the element has.
+inactive-css-text-wrap-balance-lines-exceeded =
+ { $lineCount ->
+ [one] <strong>{ $property }</strong> has no effect on this element because it has more than { $lineCount } line.
+ *[other] <strong>{ $property }</strong> has no effect on this element because it has more than { $lineCount } lines.
+ }
+inactive-css-text-wrap-balance-fragmented = <strong>{ $property }</strong> has no effect on this element because it is fragmented, i.e. its content is split across multiple columns or pages.
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain how
+## the problem can be solved.
+
+inactive-css-not-grid-or-flex-container-fix = Try adding <strong>display:grid</strong> or <strong>display:flex</strong>. { learn-more }
+inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Try adding either <strong>display:grid</strong>, <strong>display:flex</strong>, or <strong>columns:2</strong>. { learn-more }
+inactive-css-not-multicol-container-fix = Try adding either <strong>column-count</strong> or <strong>column-width</strong>. { learn-more }
+inactive-css-not-grid-or-flex-item-fix-3 = Try adding <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong>, or <strong>display:inline-flex</strong> to the element’s parent. { learn-more }
+inactive-css-not-grid-item-fix-2 = Try adding <strong>display:grid</strong> or <strong>display:inline-grid</strong> to the element’s parent. { learn-more }
+inactive-css-not-grid-container-fix = Try adding <strong>display:grid</strong> or <strong>display:inline-grid</strong>. { learn-more }
+inactive-css-not-flex-item-fix-2 = Try adding <strong>display:flex</strong> or <strong>display:inline-flex</strong> to the element’s parent. { learn-more }
+inactive-css-not-flex-container-fix = Try adding <strong>display:flex</strong> or <strong>display:inline-flex</strong>. { learn-more }
+inactive-css-not-inline-or-tablecell-fix = Try adding <strong>display:inline</strong> or <strong>display:table-cell</strong>. { learn-more }
+inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Try adding <strong>display:inline-block</strong> or <strong>display:block</strong>. { learn-more }
+inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Try adding <strong>display:inline-block</strong>. { learn-more }
+inactive-css-not-display-block-on-floated-fix = Try removing <strong>float</strong> or adding <strong>display:block</strong>. { learn-more }
+inactive-css-position-property-on-unpositioned-box-fix = Try setting its <strong>position</strong> property to something other than <strong>static</strong>. { learn-more }
+inactive-text-overflow-when-no-overflow-fix = Try adding <strong>overflow:hidden</strong>. { learn-more }
+inactive-css-not-for-internal-table-elements-fix = Try setting its <strong>display</strong> property to something else than <strong>table-cell</strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, or <strong>table-footer-group</strong>. { learn-more }
+inactive-css-not-for-internal-table-elements-except-table-cells-fix = Try setting its <strong>display</strong> property to something else than <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, or <strong>table-footer-group</strong>. { learn-more }
+inactive-css-not-table-fix = Try adding <strong>display:table</strong> or <strong>display:inline-table</strong>. { learn-more }
+inactive-css-not-table-cell-fix = Try adding <strong>display:table-cell</strong>. { learn-more }
+inactive-scroll-padding-when-not-scroll-container-fix = Try adding <strong>overflow:auto</strong>, <strong>overflow:scroll</strong>, or <strong>overflow:hidden</strong>. { learn-more }
+inactive-css-border-image-fix = On the parent table element, remove the property or change the value of <strong>border-collapse</strong> to a value other than <strong>collapse</strong>. { learn-more }
+inactive-css-ruby-element-fix = Try changing the <strong>font-size</strong> of the ruby text. { learn-more }
+inactive-css-text-wrap-balance-lines-exceeded-fix = Try to reduce the number of lines. { learn-more }
+inactive-css-text-wrap-balance-fragmented-fix = Avoid splitting the element’s content e.g. by removing the columns or by using <strong>page-break-inside:avoid</strong>. { learn-more }
+
+## In the Rule View when a CSS property may have compatibility issues with other browsers
+## we display an icon. When this icon is hovered this message is displayed to explain why
+## the property is incompatible and the platforms it is incompatible on.
+## Variables:
+## $property (string) - A CSS declaration name e.g. "-moz-user-select" that can be a platform specific alias.
+## $rootProperty (string) - A raw CSS property name e.g. "user-select" that is not a platform specific alias.
+
+css-compatibility-default-message = <strong>{ $property }</strong> is not supported in the following browsers:
+css-compatibility-deprecated-experimental-message = <strong>{ $property }</strong> was an experimental property that is now deprecated by W3C standards. It is not supported in the following browsers:
+css-compatibility-deprecated-experimental-supported-message = <strong>{ $property }</strong> was an experimental property that is now deprecated by W3C standards.
+css-compatibility-deprecated-message = <strong>{ $property }</strong> is deprecated by W3C standards. It is not supported in the following browsers:
+css-compatibility-deprecated-supported-message = <strong>{ $property }</strong> is deprecated by W3C standards.
+css-compatibility-experimental-message = <strong>{ $property }</strong> is an experimental property. It is not supported in the following browsers:
+css-compatibility-experimental-supported-message = <strong>{ $property }</strong> is an experimental property.
+css-compatibility-learn-more-message = <span data-l10n-name="link">Learn more</span> about <strong>{ $rootProperty }</strong>
+
+## In the Rule View when a rule selector can causes issues, we display an icon.
+## When this icon is hovered one or more of those messages are displayed to explain what
+## the issue are.
+
+# :has() should not be translated
+css-selector-warning-unconstrained-has = This selector uses unconstrained <strong>:has()</strong>, which can be slow
diff --git a/l10n-fi/devtools/client/webconsole.properties b/l10n-fi/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..5961f37d7d
--- /dev/null
+++ b/l10n-fi/devtools/client/webconsole.properties
@@ -0,0 +1,601 @@
+# 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
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (multiProcessBrowserConsole.title): Title of the Browser
+# Console window when the pref `devtools.browsertoolbox.scope` is set to "everything". This
+# Browser Console will log messages from all processes, not just the the parent
+# process.
+multiProcessBrowserConsole.title=Multiprocess Browser Console
+
+# LOCALIZATION NOTE (parentProcessBrowserConsole.title): Title used for
+# the Browser Console when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+parentProcessBrowserConsole.title=Parent process Browser Console
+
+# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
+# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
+timestampFormat=%02S:%02S:%02S.%03S
+
+ConsoleAPIDisabled=The Web Console logging API (console.log, console.info, console.warn, console.error) has been disabled by a script on this page.
+
+# LOCALIZATION NOTE (webConsoleXhrIndicator): the indicator displayed before
+# a URL in the Web Console that was requested using an XMLHttpRequest.
+webConsoleXhrIndicator=XHR
+
+# LOCALIZATION NOTE (webConsoleMoreInfoLabel): the more info tag displayed
+# after security related web console messages.
+webConsoleMoreInfoLabel=Learn More
+
+# LOCALIZATION NOTE (stacktrace.anonymousFunction): this string is used to
+# display JavaScript functions that have no given name - they are said to be
+# anonymous. Test console.trace() in the webconsole.
+stacktrace.anonymousFunction=<anonymous>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(Async: %S)
+
+# LOCALIZATION NOTE (timeLog): this string is used to display the result of
+# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+timeLog=%1$S: %2$Sms
+
+# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of
+# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+console.timeEnd=%1$S: %2$Sms - timer ended
+
+# LOCALIZATION NOTE (consoleCleared): this string is displayed when receiving a
+# call to console.clear() to let the user know the previous messages of the
+# console have been removed programmatically.
+consoleCleared=Console was cleared.
+
+# LOCALIZATION NOTE (preventedConsoleClear): this string is displayed when receiving a
+# call to console.clear() when the user has the "Persist logs" option enabled, to let the
+# user know the console method call was ignored.
+# "Persist Logs" should be kept in sync with webconsole.console.settings.menu.item.enablePersistentLogs.label
+preventedConsoleClear=console.clear() was prevented due to “Persist Logs”
+
+# LOCALIZATION NOTE (noCounterLabel): this string is used to display
+# count-messages with no label provided.
+noCounterLabel=<no label>
+
+# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when
+# console.countReset() is called with a counter that doesn't exist.
+counterDoesntExist=Counter “%S” doesn’t exist.
+
+# LOCALIZATION NOTE (noGroupLabel): this string is used to display
+# console.group messages with no label provided.
+noGroupLabel=<no group label>
+
+maxTimersExceeded=The maximum allowed number of timers in this page was exceeded.
+timerAlreadyExists=Timer “%S” already exists.
+timerDoesntExist=Timer “%S” doesn’t exist.
+timerJSError=Failed to process the timer name.
+
+# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web
+# Console fails to connect to the server due to a timeout.
+connectionTimeout=Connection timeout. Check the Error Console on both ends for potential error messages. Reopen the Web Console to try again.
+
+# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
+# appears in the filter text box for the properties view container.
+propertiesFilterPlaceholder=Filter properties
+
+# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed
+# when you hover the red bubble that shows how many times a message is repeated
+# in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message repeats
+# example: 3 repeats
+messageRepeats.tooltip2=#1 repeat;#1 repeats
+
+# LOCALIZATION NOTE (openNodeInInspector): the text that is displayed in a
+# tooltip when hovering over the inspector icon next to a DOM Node in the console
+# output
+openNodeInInspector=Click to select the node in the inspector
+
+# LOCALIZATION NOTE (selfxss.msg): the text that is displayed when
+# a new user of the developer tools pastes code into the console
+# %1 is the text of selfxss.okstring
+selfxss.msg=Scam Warning: Take care when pasting things you don’t understand. This could allow attackers to steal your identity or take control of your computer. Please type ‘%S’ below (no need to press enter) to allow pasting.
+
+# LOCALIZATION NOTE (selfxss.okstring): the string to be typed
+# in by a new user of the developer tools when they receive the sefxss.msg prompt.
+# Please avoid using non-keyboard characters here
+selfxss.okstring=allow pasting
+
+# LOCALIZATION NOTE (evaluationNotifcation.noOriginalVariableMapping.msg): the text for the notification message that is displayed
+# in the console when the debugger is paused in a non-pretty printed original file and original variable mapping is turned off.
+# `Show original variables` should be kept in sync with the checkbox label in the Scopes panel header.
+evaluationNotifcation.noOriginalVariableMapping.msg=Original variables name mapping in the debugger is disabled. Evaluation results might not be accurate. Click the `Show original variables` checkbox in the debugger scopes panel to enable.
+
+# LOCALIZATION NOTE (messageToggleDetails): the text that is displayed when
+# you hover the arrow for expanding/collapsing the message details. For
+# console.error() and other messages we show the stacktrace.
+messageToggleDetails=Show/hide message details.
+
+# LOCALIZATION NOTE (groupToggle): the text that is displayed when
+# you hover the arrow for expanding/collapsing the messages of a group.
+groupToggle=Show/hide group.
+
+# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value):
+# the column header displayed in the console table widget.
+table.index=(index)
+table.iterationIndex=(iteration index)
+table.key=Key
+table.value=Values
+
+# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug):
+# tooltip for icons next to console output
+level.error=Error
+level.warn=Warning
+level.info=Info
+level.log=Log
+level.debug=Debug
+
+# LOCALIZATION NOTE (logpoint.title)
+# Tooltip shown for logpoints sent from the debugger
+logpoint.title=Logpoints from the debugger
+
+# LOCALIZATION NOTE (logtrace.title)
+# Tooltip shown for JavaScript tracing logs
+logtrace.title=JavaScript tracing
+
+# LOCALIZATION NOTE (blockedReason.title)
+# Tooltip shown for blocked network events sent from the network panel
+blockedrequest.label=Blocked by DevTools
+
+# LOCALIZATION NOTE (webconsole.disableIcon.title)
+# Tooltip shown for disabled console messages
+webconsole.disableIcon.title=This message is no longer active, message details are not available
+
+# LOCALIZATION NOTE (command.title)
+# Tooltip shown for console input evaluated code displayed in the console output
+command.title=Evaluated code
+
+# LOCALIZATION NOTE (result.title)
+# Tooltip shown for evaluation result displayed in the console output
+result.title=Evaluation result
+
+# LOCALIZATION NOTE (webconsole.find.key)
+# Key shortcut used to focus the search box on upper right of the console
+webconsole.find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (webconsole.close.key)
+# Key shortcut used to close the Browser console (doesn't work in regular web console)
+webconsole.close.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (webconsole.clear.key*)
+# Key shortcut used to clear the console output
+webconsole.clear.key=Ctrl+Shift+L
+webconsole.clear.keyOSX=Ctrl+L
+webconsole.clear.alternativeKeyOSX=Cmd+K
+
+# LOCALIZATION NOTE (webconsole.menu.copyURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# copies the URL displayed in the message to the clipboard.
+webconsole.menu.copyURL.label=Copy Link Location
+webconsole.menu.copyURL.accesskey=a
+
+# LOCALIZATION NOTE (webconsole.menu.openURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the URL displayed in a new browser tab.
+webconsole.menu.openURL.label=Open URL in New Tab
+webconsole.menu.openURL.accesskey=T
+
+# LOCALIZATION NOTE (webconsole.menu.openInNetworkPanel.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# opens the network message in the Network panel
+webconsole.menu.openInNetworkPanel.label=Open in Network Panel
+webconsole.menu.openInNetworkPanel.accesskey=N
+
+# LOCALIZATION NOTE (webconsole.menu.resendNetworkRequest.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# resends the network request
+webconsole.menu.resendNetworkRequest.label=Resend Request
+webconsole.menu.resendNetworkRequest.accesskey=n
+
+# LOCALIZATION NOTE (webconsole.menu.openNodeInInspector.label)
+# Label used for a context-menu item displayed for DOM Node logs. Clicking on it will
+# reveal that specific DOM Node in the Inspector.
+webconsole.menu.openNodeInInspector.label=Reveal in Inspector
+webconsole.menu.openNodeInInspector.accesskey=Q
+
+# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# creates a new global variable pointing to the logged variable.
+webconsole.menu.storeAsGlobalVar.label=Store as global variable
+webconsole.menu.storeAsGlobalVar.accesskey=S
+
+# LOCALIZATION NOTE (webconsole.menu.copyMessage.label)
+# Label used for a context-menu item displayed for any log. Clicking on it will copy the
+# content of the log (or the user selection, if any).
+webconsole.menu.copyMessage.label=Copy message
+webconsole.menu.copyMessage.accesskey=C
+
+# LOCALIZATION NOTE (webconsole.menu.copyObject.label)
+# Label used for a context-menu item displayed for object/variable log. Clicking on it
+# will copy the object/variable.
+webconsole.menu.copyObject.label=Copy object
+webconsole.menu.copyObject.accesskey=o
+
+# LOCALIZATION NOTE (webconsole.menu.openInSidebar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# opens the webconsole sidebar for the logged variable.
+webconsole.menu.openInSidebar.label1=Inspect object in Sidebar
+webconsole.menu.openInSidebar.accesskey=V
+
+# LOCALIZATION NOTE (webconsole.menu.copyAllMessages.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# copies the entire output of the console to the clipboard.
+webconsole.menu.copyAllMessages.label=Copy all Messages
+webconsole.menu.copyAllMessages.accesskey=M
+
+# LOCALIZATION NOTE (webconsole.menu.saveAllMessagesFile.label)
+# Label used for a context-menu item displayed on the output. Clicking on it
+# opens a file picker to allow the user save a file containing
+# the output of the console.
+webconsole.menu.saveAllMessagesFile.label=Save all Messages to File
+webconsole.menu.saveAllMessagesFile.accesskey=F
+
+# LOCALIZATION NOTE (webconsole.clearButton.tooltip)
+# Label used for the tooltip on the clear logs button in the console top toolbar bar.
+# Clicking on it will clear the content of the console.
+webconsole.clearButton.tooltip=Clear the Web Console output
+
+# LOCALIZATION NOTE (webconsole.toggleFilterButton.tooltip)
+# Label used for the tooltip on the toggle filter bar button in the console top
+# toolbar bar. Clicking on it will toggle the visibility of an additional bar which
+# contains filter buttons.
+webconsole.toggleFilterButton.tooltip=Toggle filter bar
+
+# LOCALIZATION NOTE (webconsole.filterInput.placeholder)
+# Label used for for the placeholder on the filter input, in the console top toolbar.
+webconsole.filterInput.placeholder=Filter output
+
+# LOCALIZATION NOTE (webconsole.errorsFilterButton.label)
+# Label used as the text of the "Errors" button in the additional filter toolbar.
+# It shows or hides error messages, either inserted in the page using
+# console.error() or as a result of a javascript error..
+webconsole.errorsFilterButton.label=Errors
+
+# LOCALIZATION NOTE (webconsole.warningsFilterButton.label)
+# Label used as the text of the "Warnings" button in the additional filter toolbar.
+# It shows or hides warning messages, inserted in the page using console.warn().
+webconsole.warningsFilterButton.label=Warnings
+
+# LOCALIZATION NOTE (webconsole.logsFilterButton.label)
+# Label used as the text of the "Logs" button in the additional filter toolbar.
+# It shows or hides log messages, inserted in the page using console.log().
+webconsole.logsFilterButton.label=Logs
+
+# LOCALIZATION NOTE (webconsole.infoFilterButton.label)
+# Label used as the text of the "Info" button in the additional filter toolbar.
+# It shows or hides info messages, inserted in the page using console.info().
+webconsole.infoFilterButton.label=Info
+
+# LOCALIZATION NOTE (webconsole.debugFilterButton.label)
+# Label used as the text of the "Debug" button in the additional filter toolbar.
+# It shows or hides debug messages, inserted in the page using console.debug().
+webconsole.debugFilterButton.label=Debug
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.label)
+# Label used as the text of the "CSS" button in the additional filter toolbar.
+# It shows or hides CSS warning messages, inserted in the page by the browser
+# when there are CSS errors in the page.
+webconsole.cssFilterButton.label=CSS
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.inactive.tooltip)
+# Label used as the tooltip of the "CSS" button in the additional filter toolbar, when the
+# filter is inactive (=unchecked).
+webconsole.cssFilterButton.inactive.tooltip=Stylesheets will be reparsed to check for errors. Refresh the page to also see errors from stylesheets modified from Javascript.
+
+# LOCALIZATION NOTE (webconsole.xhrFilterButton.label)
+# Label used as the text of the "XHR" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes an XMLHttpRequest or
+# a fetch call.
+webconsole.xhrFilterButton.label=XHR
+
+# LOCALIZATION NOTE (webconsole.requestsFilterButton.label)
+# Label used as the text of the "Requests" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes a network call, for example
+# when an image or a scripts is requested.
+webconsole.requestsFilterButton.label=Requests
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.label)
+# Text on the filter input displayed when some console messages are hidden because the
+# user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 hidden.
+webconsole.filteredMessagesByText.label=#1 hidden;#1 hidden
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.tooltip)
+# Tooltip on the filter input "hidden" text, displayed when some console messages are
+# hidden because the user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 items hidden by text filter.
+webconsole.filteredMessagesByText.tooltip=#1 item hidden by text filter;#1 items hidden by text filter
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.menuButton.tooltip)
+# Tooltip for the filter bar preferences menu. This menu will display multiple perefences for the
+# filter bar, such as enabling the compact toolbar mode, enable the timestamps, persist logs, etc
+webconsole.console.settings.menu.button.tooltip=Console Settings
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.compactToolbar.label)
+# Label for the `Compact Toolbar` preference option. This will turn the message filters buttons
+# into a Menu Button, making the filter bar more compact.
+webconsole.console.settings.menu.item.compactToolbar.label=Compact Toolbar
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.label)
+# Label for enabling the timestamps in the Web Console.
+webconsole.console.settings.menu.item.timestamps.label=Show Timestamps
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip)
+webconsole.console.settings.menu.item.timestamps.tooltip=If you enable this option commands and output in the Web Console will display a timestamp
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.label)
+# Label for grouping the similar messages in the Web Console
+webconsole.console.settings.menu.item.warningGroups.label=Group Similar Messages
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip)
+webconsole.console.settings.menu.item.warningGroups.tooltip=When enabled, similar messages are placed into groups
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.label)
+# Label for enabling autocomplete for input in the Web Console
+webconsole.console.settings.menu.item.autocomplete.label=Enable autocomplete
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip)
+webconsole.console.settings.menu.item.autocomplete.tooltip=If you enable this option the input will display suggestions as you type in it
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label)
+webconsole.console.settings.menu.item.enablePersistentLogs.label=Persist Logs
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip)
+webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=If you enable this option the output will not be cleared each time you navigate to a new page
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label)
+webconsole.console.settings.menu.item.instantEvaluation.label=Instant Evaluation
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip)
+webconsole.console.settings.menu.item.instantEvaluation.tooltip=If you enable this option the input will be instantly evaluated as you type in it
+
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.label)
+# Label used in the browser console / browser toolbox console. This label is used for a checkbox that
+# allows the user enable monitoring of network requests.
+browserconsole.enableNetworkMonitoring.label=Enable Network Monitoring
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.tooltip)
+# Tooltip for the "Enable Network Monitoring" check item.
+browserconsole.enableNetworkMonitoring.tooltip=Enable this to start listening to network requests
+
+# LOCALIZATION NOTE (webconsole.navigated): this string is used in the console when the
+# current inspected page is navigated to a new location.
+# Parameters: %S is the new URL.
+webconsole.navigated=Navigated to %S
+
+# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for
+# the close button of the split console.
+webconsole.closeSplitConsoleButton.tooltip=Close Split Console (Esc)
+
+# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for
+# the close button of the sidebar.
+webconsole.closeSidebarButton.tooltip=Close Sidebar
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.input.placeHolder):
+# This string is displayed in the placeholder of the reverse search input in the console.
+webconsole.reverseSearch.input.placeHolder=Search history
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.closeButton.tooltip):
+# This string is displayed in the tooltip of the close button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.closeButton.tooltip=Close (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.results):
+# This string is displayed in the reverse search UI when there are at least one result
+# to the search.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 index of current search result displayed.
+# #2 total number of search results.
+webconsole.reverseSearch.results=1 result;#1 of #2 results
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.noResult):
+# This string is displayed in the reverse search UI when there is no results to the search.
+webconsole.reverseSearch.noResult=No results
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.previousButton.tooltip):
+# This string is displayed in the tooltip of the "previous result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.previousButton.tooltip=Previous result (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.nextButton.tooltip):
+# This string is displayed in the tooltip of the "next result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.nextButton.tooltip=Next result (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.label)
+# Label used for the "invoke getter" confirm dialog that appears in the console when
+# a user tries to autocomplete a property with a getter.
+# Example: given the following object `x = {get y() {}}`, when the user types `x.y.`, it
+# would return "Invoke getter y to retrieve the property list?".
+# Parameters: %S is the name of the getter.
+webconsole.confirmDialog.getter.label=Invoke getter %S to retrieve the property list?
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut)
+# Label used for the confirm button in the "invoke getter" dialog that appears in the
+# console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut=Invoke (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.closeButton.tooltip)
+# Label used as the tooltip for the close button in the "invoke getter" dialog that
+# appears in the console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.closeButton.tooltip=Close (%S)
+
+# LOCALIZATION NOTE (webconsole.cssWarningElements.label)
+# Label for the list of HTML elements matching the selector associated
+# with the CSS warning. Parameters: %S is the CSS selector.
+webconsole.cssWarningElements.label=Elements matching selector: %S
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.label)
+# Label displayed when the webconsole couldn't handle a given packet.
+# Parameters: %S is the URL to file a bug about the error.
+webconsole.message.componentDidCatch.label=[DEVTOOLS ERROR] We’re sorry, we couldn’t render the message. This shouldn’t have happened - please file a bug at %S with the message metadata in the description.
+
+# LOCALIZATION NOTE (webconsole.message.commands.copyValueToClipboard)
+# Label displayed when the string is copied to the clipboard as a result of a copy command,
+# in the console, for example, copy({hello: "world"}).
+webconsole.message.commands.copyValueToClipboard=String was copied to clipboard.
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToWebConsole)
+# Label displayed when :trace command was executed and the JavaScript tracer started to log to the web console.
+webconsole.message.commands.startTracingToWebConsole=Started tracing to Web Console
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToStdout)
+# Label displayed when :trace command was executed and the JavaScript tracer started to log to stdout.
+webconsole.message.commands.startTracingToStdout=Started tracing to stdout
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToProfiler)
+# Label displayed when :trace command was executed and the JavaScript tracer will open the profiler showing all the traces,
+# but only on stop.
+webconsole.message.commands.startTracingToProfiler=Started tracing to the Profiler. The traces will be displayed in the profiler on stop.
+
+# LOCALIZATION NOTE (webconsole.message.commands.stopTracing)
+# Label displayed when :trace command was executed and the JavaScript tracer stopped.
+webconsole.message.commands.stopTracing=Stopped tracing
+
+# LOCALIZATION NOTE (webconsole.error.commands.copyError):
+# the error that is displayed when the "copy" command can't stringify an object
+# "copy" should not be translated, because is a function name.
+# Parameters: %S is the original error message
+webconsole.error.commands.copyError=`copy` command failed, object can’t be stringified: %S
+
+# LOCALIZATION NOTE (webconsole.message.commands.blockedUR)
+# Label displayed when the :block <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.blockedURL=Requests to URL containing “%S” are now blocked
+
+# LOCALIZATION NOTE (webconsole.message.commands.unblockedURL)
+# Label displayed when the :unblock <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.unblockedURL=Removed blocking filter “%S”
+
+# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing)
+# Message displayed when no filter is passed to block/unblock command
+webconsole.messages.commands.blockArgMissing=No filter was specified
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.copyButton.label)
+# Label displayed on the button next to the message we display when the webconsole
+# couldn't handle a given packet (See webconsole.message.componentDidCatch.label).
+webconsole.message.componentDidCatch.copyButton.label=Copy message metadata to clipboard
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.label)
+# Label used for the text of the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.executeButton.label=Run
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for opening the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip=Open History Reverse Search (%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for closing the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip=Close History Reverse Search (%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.executeButton.tooltip=Run expression (%S). This won’t clear the input.
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.prettyPrintButton.tooltip)
+# Label used for the tooltip on the prettyPrint button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.prettyPrintButton.tooltip=Pretty print expression
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history previous expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.prevExpressionButton.tooltip=Previous Expression
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history next expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.nextExpressionButton.tooltip=Next Expression
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.closeButton.tooltip2)
+# Label used for the tooltip on the close button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.closeButton.tooltip2=Switch back to inline mode (%S)
+
+# LOCALIZATION NOTE (webconsole.input.openEditorButton.tooltip2)
+# Label used for the tooltip on the open editor button, in console input, which is
+# displayed when the console is in regular mode.
+# Parameters: %S is the keyboard shortcut.
+webconsole.input.openEditorButton.tooltip2=Switch to multi-line editor mode (%S)
+
+# LOCALIZATION NOTE (webconsole.warningGroup.messageCount.tooltip): the tooltip text
+# displayed when you hover a warning group badge (i.e. repeated warning messages for a
+# given category, for example Content Blocked messages) in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message in the group.
+# example: 3 messages
+webconsole.warningGroup.messageCount.tooltip=#1 message;#1 messages
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.label): the text that is displayed
+# when displaying the multiline-input mode for the first time, until the user dismiss the
+# text.
+# Parameters: %1$S is Enter key, %2$S is the shortcut to evaluate the expression (
+# Ctrl+Enter or Cmd+Enter on OSX).
+webconsole.input.editor.onboarding.label=Iterate on your code faster with the new multi-line editor mode. Use %1$S to add new lines and %2$S to run.
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.dismiss.label): the text that is
+# displayed in the multiline-input mode onboarding UI to dismiss it.
+webconsole.input.editor.onboarding.dismiss.label=Got it!
+
+# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the
+# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button
+# tooltip.
+webconsole.enterKey=Enter
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label
+# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while
+# being focused on the input).
+webconsole.input.openJavaScriptFile=Open JavaScript File
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter):
+# This string is displayed as a filter when opening a file in the console input.
+webconsole.input.openJavaScriptFileFilter=JavaScript Files
+
+# LOCALIZATION NOTE (webconsole.input.selector.top): This is the term used
+# to describe the primary thread of execution in the page
+webconsole.input.selector.top=Top
+
+# LOCALIZATION NOTE (webconsole.input.selector.tooltip): This is the tooltip
+# shown when users select a thread that they want to evaluate an
+# expression for.
+webconsole.input.selector.tooltip=Select evaluation context
+
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultEnabled2=Some cookies are misusing the “SameSite“ attribute, so it won’t work as expected
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultDisabled2=Some cookies are misusing the recommended “SameSite“ attribute
+
+# LOCALIZATION NOTE (webconsole.group.csp): do not translate
+# 'Content-Security-Policy', as that's the name of the header.
+webconsole.group.csp=Content-Security-Policy warnings
diff --git a/l10n-fi/devtools/shared/accessibility.properties b/l10n-fi/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..849299620a
--- /dev/null
+++ b/l10n-fi/devtools/shared/accessibility.properties
@@ -0,0 +1,142 @@
+# 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 (accessibility.contrast.ratio): A title text for the color contrast
+# ratio description, used by the accessibility highlighter to display the value. %S in the
+# content will be replaced by the contrast ratio numerical value.
+accessibility.contrast.ratio=Kontrasti: %S
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.ratio.error=Ei voida määrittää
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label): A title text for the color
+# contrast ratio description, used together with the actual values.
+accessibility.contrast.ratio.label=Kontrasti:
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label.large): A title text for the color
+# contrast ratio description that also specifies that the color contrast criteria used is
+# if for large text.
+accessibility.contrast.ratio.label.large=Kontrasti (suuri teksti):
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.area): A title text that
+# describes that currently selected accessible object for an <area> element must have
+# its name provided via the alt attribute.
+accessibility.text.label.issue.area = Use “alt” attribute to label “area” elements that have the “href” attribute.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.dialog): A title text that
+# describes that currently selected accessible object for a dialog should have a name
+# provided.
+accessibility.text.label.issue.dialog = Dialogs should be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.document.title): A title text that
+# describes that currently selected accessible object for a document must have a name
+# provided via title.
+accessibility.text.label.issue.document.title = Documents must have a title.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.embed): A title text that
+# describes that currently selected accessible object for an <embed> must have a name
+# provided.
+accessibility.text.label.issue.embed = Embedded content must be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.figure): A title text that
+# describes that currently selected accessible object for a figure should have a name
+# provided.
+accessibility.text.label.issue.figure = Figures with optional captions should be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided.
+accessibility.text.label.issue.fieldset = “fieldset” elements must be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset.legend2): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided via <legend> element.
+accessibility.text.label.issue.fieldset.legend2 = Use a “legend” element to label a “fieldset”.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form): A title text that
+# describes that currently selected accessible object for a form element must have a name
+# provided.
+accessibility.text.label.issue.form = Form elements must be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form.visible): A title text that
+# describes that currently selected accessible object for a form element should have a name
+# provided via a visible label/element.
+accessibility.text.label.issue.form.visible = Form elements should have a visible text label.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.frame): A title text that
+# describes that currently selected accessible object for a <frame> must have a name
+# provided.
+accessibility.text.label.issue.frame = “frame” elements must be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.glyph): A title text that
+# describes that currently selected accessible object for a <mglyph> must have a name
+# provided via alt attribute.
+accessibility.text.label.issue.glyph = Use “alt” attribute to label “mglyph” elements.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading): A title text that
+# describes that currently selected accessible object for a heading must have a name
+# provided.
+accessibility.text.label.issue.heading = Headings must be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading.content): A title text that
+# describes that currently selected accessible object for a heading must have visible
+# content.
+accessibility.text.label.issue.heading.content = Headings should have visible text content.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.iframe): A title text that
+# describes that currently selected accessible object for an <iframe> have a name
+# provided via title attribute.
+accessibility.text.label.issue.iframe = Use “title” attribute to describe “iframe” content.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.image): A title text that
+# describes that currently selected accessible object for graphical content must have a
+# name provided.
+accessibility.text.label.issue.image = Content with images must be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.interactive): A title text that
+# describes that currently selected accessible object for interactive element must have a
+# name provided.
+accessibility.text.label.issue.interactive = Interactive elements must be labeled.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.optgroup.label2): A title text that
+# describes that currently selected accessible object for an <optgroup> must have a
+# name provided via label attribute.
+accessibility.text.label.issue.optgroup.label2 = Use a “label” attribute to label an “optgroup”.
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.toolbar): A title text that
+# describes that currently selected accessible object for a toolbar must have a
+# name provided when there is more than one toolbar in the document.
+accessibility.text.label.issue.toolbar = Toolbars must be labeled when there is more than one toolbar.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.semantics): A title text that
+# describes that currently selected accessible object is focusable and should
+# indicate that it could be interacted with.
+accessibility.keyboard.issue.semantics=Focusable elements should have interactive semantics.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.tabindex): A title text that
+# describes that currently selected accessible object has a corresponding
+# DOMNode that defines a tabindex attribute greater that 0 which can result in
+# unexpected behaviour when navigating with keyboard.
+accessibility.keyboard.issue.tabindex=Avoid using “tabindex” attribute greater than zero.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.action): A title text that
+# describes that currently selected accessible object is interactive but can not
+# be activated using keyboard or accessibility API.
+accessibility.keyboard.issue.action=Interactive elements must be able to be activated using a keyboard.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focusable): A title text that
+# describes that currently selected accessible object is interactive but is not
+# focusable with a keyboard.
+accessibility.keyboard.issue.focusable=Interactive elements must be focusable.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focus.visible): A title text
+# that describes that currently selected accessible object is focusable but
+# might not have appropriate focus styling.
+accessibility.keyboard.issue.focus.visible=Focusable element may be missing focus styling.
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.mouse.only): A title text that
+# describes that currently selected accessible object is not focusable and not
+# semantic but can be activated via mouse (e.g. has click handler).
+accessibility.keyboard.issue.mouse.only=Clickable elements must be focusable and should have interactive semantics.
diff --git a/l10n-fi/devtools/shared/debugger-paused-reasons.ftl b/l10n-fi/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..c8fbe6aaf1
--- /dev/null
+++ b/l10n-fi/devtools/shared/debugger-paused-reasons.ftl
@@ -0,0 +1,87 @@
+# 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/.
+
+
+### These strings are used inside the Debugger which is available from the Web
+### Developer sub-menu -> 'Debugger', as well as in the "Paused Debugger
+### Overlay" that is displayed in the content page when it pauses.
+
+
+### The correct localization of this file might be to keep it in
+### English, or another language commonly spoken among web developers.
+### You want to make that choice consistent across the developer tools.
+### A good criteria is the language in which you'd find the best
+### documentation on web development on the web.
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused due to a `debugger` statement in the code
+whypaused-debugger-statement = Paused on debugger statement
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a breakpoint
+whypaused-breakpoint = Paused on breakpoint
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event breakpoint.
+whypaused-event-breakpoint = Paused on event breakpoint
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an exception
+whypaused-exception = Paused on exception
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a DOM mutation breakpoint
+whypaused-mutation-breakpoint = Paused on DOM mutation
+
+# The text that is displayed to describe an added node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-added = Added:
+
+# The text that is displayed to describe a removed node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-removed = Removed:
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a JS execution
+whypaused-interrupted = Paused at Execution
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused while stepping in or out of the stack
+whypaused-resume-limit = Paused while stepping
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a dom event
+whypaused-pause-on-dom-events = Paused on event listener
+
+# The text that is displayed in an info block when evaluating a conditional
+# breakpoint throws an error
+whypaused-breakpoint-condition-thrown = Error with conditional breakpoint
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an xml http request
+whypaused-xhr = Paused on XMLHttpRequest
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a promise rejection
+whypaused-promise-rejection = Paused on promise rejection
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a watchpoint on an object property
+whypaused-get-watchpoint = Paused on property access
+
+# The text that is displayed in an info block explaining how the debugger is
+# currently paused at a watchpoint on an object property
+whypaused-set-watchpoint = Paused on property set
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an assert
+whypaused-assert = Paused on assertion
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a debugger statement
+whypaused-debug-command = Paused on debugged function
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event listener breakpoint set
+whypaused-other = Debugger paused
diff --git a/l10n-fi/devtools/shared/debugger.properties b/l10n-fi/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..70de56aa2b
--- /dev/null
+++ b/l10n-fi/devtools/shared/debugger.properties
@@ -0,0 +1,67 @@
+# 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 These strings are used inside the Debugger
+# which is available from the Web Developer sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (remoteIncomingPromptTitle): The title displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptTitle=Incoming Connection
+
+# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptHeader=An incoming request to permit remote debugging connection was detected. A remote client can take complete control over your browser!
+# LOCALIZATION NOTE (remoteIncomingPromptClientEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the client such as "127.0.0.1:6000"
+remoteIncomingPromptClientEndpoint=Client Endpoint: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptServerEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the server such as "127.0.0.1:6000"
+remoteIncomingPromptServerEndpoint=Server Endpoint: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptFooter=Allow connection?
+
+# LOCALIZATION NOTE (remoteIncomingPromptDisable): The label displayed on the
+# third button in the incoming connection dialog that lets the user disable the
+# remote debugger server.
+remoteIncomingPromptDisable=Disable
+
+# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBTitle=Client Identification
+# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBHeader=The endpoint you are connecting to needs more information to authenticate this connection. Please provide the token below in the prompt that appears on the other end.
+# LOCALIZATION NOTE (clientSendOOBHash): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The client's cert fingerprint
+clientSendOOBHash=My Cert: %1$S
+# LOCALIZATION NOTE (clientSendOOBToken): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The authentication token that the user will transfer.
+clientSendOOBToken=Token: %1$S
+
+# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBTitle=Provide Client Token
+# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBBody=The client should be displaying a token value. Enter that token value here to complete authentication with this client.
diff --git a/l10n-fi/devtools/shared/eyedropper.properties b/l10n-fi/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..0f320ab37c
--- /dev/null
+++ b/l10n-fi/devtools/shared/eyedropper.properties
@@ -0,0 +1,14 @@
+# 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 These strings are used in the Eyedropper color tool.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (colorValue.copied): This text is displayed when the user selects a
+# color with the eyedropper and it's copied to the clipboard.
+colorValue.copied=copied
diff --git a/l10n-fi/devtools/shared/highlighters.ftl b/l10n-fi/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..939155f575
--- /dev/null
+++ b/l10n-fi/devtools/shared/highlighters.ftl
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### This file contains strings used in highlighters.
+### Highlighters are visualizations that DevTools draws on top of content to aid
+### in understanding content sizing, etc.
+
+# The row and column position of a grid cell shown in the grid cell infobar when hovering
+# over the CSS grid outline.
+# Variables
+# $row (integer) - The row index
+# $column (integer) - The column index
+grid-row-column-positions = Row { $row } / Column { $column }
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid container.
+gridtype-container = Grid Container
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid item.
+gridtype-item = Grid Item
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a grid container and a grid item.
+gridtype-dual = Grid Container/Item
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex container.
+flextype-container = Flex Container
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex item.
+flextype-item = Flex Item
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a flex container and a flex item.
+flextype-dual = Flex Container/Item
+
+# The message displayed in the content page when the user clicks on the
+# "Pick an element from the page" in about:devtools-toolbox inspector panel, when
+# debugging a remote page.
+# Variables
+# $action (string) - Will either be remote-node-picker-notice-action-desktop or
+# remote-node-picker-notice-action-touch
+remote-node-picker-notice = DevTools Node Picker enabled. { $action }
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on desktop
+remote-node-picker-notice-action-desktop = Click an element to select it in the Inspector
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on Android
+remote-node-picker-notice-action-touch = Tap an element to select it in the Inspector
+
+# The text displayed in the button that is in the notice in the content page when the user
+# clicks on the "Pick an element from the page" in about:devtools-toolbox inspector panel,
+# when debugging a remote page.
+remote-node-picker-notice-hide-button = Hide
+
+# The text displayed in a toolbox notification message which is only displayed
+# if prefers-reduced-motion is enabled (via OS-level settings or by using the
+# ui.prefersReducedMotion=1 preference).
+simple-highlighters-message = When prefers-reduced-motion is enabled, a simpler highlighter can be enabled in the settings panel, to avoid flashing colors.
+
+# Text displayed in a button inside the "simple-highlighters-message" toolbox
+# notification. "Settings" here refers to the DevTools settings panel.
+simple-highlighters-settings-button = Avaa asetukset
diff --git a/l10n-fi/devtools/shared/screenshot.properties b/l10n-fi/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..6f669acdcb
--- /dev/null
+++ b/l10n-fi/devtools/shared/screenshot.properties
@@ -0,0 +1,148 @@
+# 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 These strings are used inside Web Console commands.
+# The Web Console command line is available from the Web Developer sub-menu
+# -> 'Web Console'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE These strings are used inside the Web Console commands
+# which can be executed in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (screenshotDesc) A very short description of the
+# 'screenshot' command. Displayed when the --help flag is passed to
+# the screenshot command.
+screenshotDesc=Save an image of the page
+
+# LOCALIZATION NOTE (screenshotFilenameDesc) A very short string to describe
+# the 'filename' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotFilenameDesc=Destination filename
+
+# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the
+# 'filename' parameter to the 'screenshot' command.
+screenshotFilenameManual=The name of the file (should have a ‘.png’ extension) to which we write the screenshot.
+
+# LOCALIZATION NOTE (screenshotClipboardDesc) A very short string to describe
+# the 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardDesc=Copy screenshot to clipboard? (true/false)
+
+# LOCALIZATION NOTE (screenshotClipboardManual) A fuller description of the
+# 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardManual=True if you want to copy the screenshot instead of saving it to a file.
+
+# LOCALIZATION NOTE (screenshotGroupOptions) A label for the optional options of
+# the screenshot command. Displayed when the --help flag is passed to the
+# screenshot command.
+screenshotGroupOptions=Options
+
+# LOCALIZATION NOTE (screenshotDelayDesc) A very short string to describe
+# the 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayDesc=Delay (seconds)
+
+# LOCALIZATION NOTE (screenshotDelayManual) A fuller description of the
+# 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayManual=The time to wait (in seconds) before the screenshot is taken
+
+# LOCALIZATION NOTE (screenshotDPRDesc) A very short string to describe
+# the 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRDesc=Device pixel ratio
+
+# LOCALIZATION NOTE (screenshotDPRManual) A fuller description of the
+# 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRManual=The device pixel ratio to use when taking the screenshot
+
+# LOCALIZATION NOTE (screenshotFullPageDesc) A very short string to describe
+# the 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageDesc=Entire webpage? (true/false)
+
+# LOCALIZATION NOTE (screenshotFullPageManual) A fuller description of the
+# 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageManual=True if the screenshot should also include parts of the webpage which are outside the current scrolled bounds.
+
+# LOCALIZATION NOTE (screenshotFileDesc) A very short string to describe
+# the 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileDesc=Save to file? (true/false)
+
+# LOCALIZATION NOTE (screenshotFileManual) A fuller description of the
+# 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileManual=True if the screenshot should save the file even when other options are enabled (eg. clipboard).
+
+# LOCALIZATION NOTE (screenshotGeneratedFilename) The auto generated filename
+# when no file name is provided. The first argument (%1$S) is the date string
+# in yyyy-mm-dd format and the second argument (%2$S) is the time string
+# in HH.MM.SS format. Please don't add the extension here.
+screenshotGeneratedFilename=Screen Shot %1$S at %2$S
+
+# LOCALIZATION NOTE (screenshotErrorSavingToFile) Text displayed to user upon
+# encountering error while saving the screenshot to the file specified.
+# The argument (%1$S) is the filename.
+screenshotErrorSavingToFile=Error saving to %1$S
+
+# LOCALIZATION NOTE (screenshotSavedToFile) Text displayed to user when the
+# screenshot is successfully saved to the file specified.
+# The argument (%1$S) is the filename.
+screenshotSavedToFile=Saved to %1$S
+
+# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
+# encountering error while copying the screenshot to clipboard.
+screenshotErrorCopying=Error occurred while copying screenshot to clipboard.
+
+# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
+# screenshot is successfully copied to the clipboard.
+screenshotCopied=Screenshot copied to clipboard.
+
+# LOCALIZATION NOTE (inspectNodeDesc) A very short string to describe the
+# 'node' parameter to the 'inspect' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+inspectNodeDesc=CSS selector
+
+# LOCALIZATION NOTE (inspectNodeManual) A fuller description of the 'node'
+# parameter to the 'inspect' command. Displayed when the --help flag is
+# passed to the `screenshot command.
+inspectNodeManual=A CSS selector for use with document.querySelector which identifies a single element
+
+# LOCALIZATION NOTE (screenshotTruncationWarning) Text displayed to user when the image
+# that would be created by the screenshot is too big and needs to be truncated to avoid
+# errors.
+# The first parameter is the width of the final image and the second parameter is the
+# height of the image.
+screenshotTruncationWarning=The image was cut off to %1$S×%2$S as the resulting image was too large
+
+# LOCALIZATION NOTE (screenshotDPRDecreasedWarning2) Text displayed to user when
+# taking the screenshot initially failed. When the Device Pixel Ratio is larger
+# than 1.0 a second try immediately after displaying this message is attempted.
+screenshotDPRDecreasedWarning=The device pixel ratio was reduced to 1 as the resulting image was too large
+
+# LOCALIZATION NOTE (screenshotRenderingError) Text displayed to user upon
+# encountering an error while rendering the screenshot. This most often happens when the
+# resulting image is too large to be rendered.
+screenshotRenderingError=Error creating the image. The resulting image was probably too large.
+
+# LOCALIZATION NOTE (screenshotNoSelectorMatchWarning) Text displayed to user when the
+# provided selector for the screenshot does not match any element on the page.
+# The argument (%1$S) is selector.
+screenshotNoSelectorMatchWarning=The ‘%S’ selector does not match any element on the page.
diff --git a/l10n-fi/devtools/shared/shared.properties b/l10n-fi/devtools/shared/shared.properties
new file mode 100644
index 0000000000..0978450dee
--- /dev/null
+++ b/l10n-fi/devtools/shared/shared.properties
@@ -0,0 +1,6 @@
+# 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 (ellipsis): The ellipsis (three dots) character
+ellipsis=…
diff --git a/l10n-fi/devtools/shared/styleinspector.properties b/l10n-fi/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..8de6f4a527
--- /dev/null
+++ b/l10n-fi/devtools/shared/styleinspector.properties
@@ -0,0 +1,267 @@
+# 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 These strings are used inside the Style Inspector.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+
+# LOCALIZATION NOTE (rule.status): For each style property the panel shows
+# the rules which hold that specific property. For every rule, the rule status
+# is also displayed: a rule can be the best match, a match, a parent match, or a
+# rule did not match the element the user has highlighted.
+rule.status.BEST=Best Match
+rule.status.MATCHED=Matched
+rule.status.PARENT_MATCH=Parent Match
+
+# LOCALIZATION NOTE (rule.sourceElement, rule.sourceInline,
+# rule.sourceConstructed): For each style property the panel shows the rules
+# which hold that specific property.
+# For every rule, the rule source is also displayed: a rule can come from a
+# file, from the same page (inline), from a constructed style sheet
+# (constructed), or from the element itself (element).
+rule.sourceInline=inline
+rule.sourceConstructed=constructed
+rule.sourceElement=element
+
+# LOCALIZATION NOTE (rule.inheritedFrom): Shown for CSS rules
+# that were inherited from a parent node. Will be passed a node
+# identifier of the parent node.
+# e.g "Inherited from body#bodyID"
+rule.inheritedFrom=Inherited from %S
+
+# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header.
+# Will be passed an identifier of the keyframe animation name.
+rule.keyframe=Keyframes %S
+
+# LOCALIZATION NOTE (rule.userAgentStyles): Shown next to the style sheet
+# link for CSS rules that were loaded from a user agent style sheet.
+# These styles will not be editable, and will only be visible if the
+# devtools.inspector.showUserAgentStyles pref is true.
+rule.userAgentStyles=(user agent)
+
+# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules
+# pseudo element header
+rule.pseudoElement=Pseudo-elements
+
+# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if
+# pseudo elements are present in the rule view.
+rule.selectedElement=This Element
+
+# LOCALIZATION NOTE (rule.warning.title): When an invalid property value is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warning.title=Invalid property value
+
+# LOCALIZATION NOTE (rule.warningName.title): When an invalid property name is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warningName.title=Invalid property name
+
+# LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
+# of the search button that is shown next to a property that has been overridden
+# in the rule view.
+rule.filterProperty.title=Filter rules containing this property
+
+# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
+# first opened and there's no node selected in the rule view.
+rule.empty=No element selected.
+
+# LOCALIZATION NOTE (rule.variableValue): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)") in
+# the rule view. The first argument is the variable name and the
+# second argument is the value.
+rule.variableValue=%S = %S
+
+# LOCALIZATION NOTE (rule.variableUnset): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)"),
+# where the variable is not set. the rule view. The argument is the
+# variable name.
+rule.variableUnset=%S is not set
+
+# LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
+# tooltip when the mouse is over a selector highlighter icon in the rule view.
+rule.selectorHighlighter.tooltip=Highlight all elements matching this selector
+
+# LOCALIZATION NOTE (rule.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the rule view.
+rule.colorSwatch.tooltip=Click to open the color picker, shift+click to change the color format
+
+# LOCALIZATION NOTE (rule.bezierSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a cubic-bezier swatch in the rule view.
+rule.bezierSwatch.tooltip=Click to open the timing-function editor
+
+# LOCALIZATION NOTE (rule.filterSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a filter swatch in the rule view.
+rule.filterSwatch.tooltip=Click to open the filter editor
+
+# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a angle swatch in the rule view.
+rule.angleSwatch.tooltip=Shift+click to change the angle format
+
+# LOCALIZATION NOTE (rule.flexToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a Flexbox toggle icon in the rule view.
+rule.flexToggle.tooltip=Click to toggle the Flexbox highlighter
+
+# LOCALIZATION NOTE (rule.gridToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS Grid toggle icon in the rule view.
+rule.gridToggle.tooltip=Click to toggle the CSS Grid highlighter
+
+# LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+rule.filterStyles.placeholder=Filter Styles
+
+# LOCALIZATION NOTE (rule.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar.
+rule.addRule.tooltip=Add new rule
+
+# LOCALIZATION NOTE (rule.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+rule.togglePseudo.tooltip=Toggle pseudo-classes
+
+# LOCALIZATION NOTE (rule.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+rule.classPanel.toggleClass.tooltip=Toggle classes
+
+# LOCALIZATION NOTE (rule.classPanel.newClass.placeholder): This is the placeholder
+# shown inside the text field used to add a new class in the rule-view.
+rule.classPanel.newClass.placeholder=Add new class
+
+# LOCALIZATION NOTE (rule.classPanel.noClasses): This is the text displayed in the
+# class panel when the current element has no classes applied.
+rule.classPanel.noClasses=No classes on this element
+
+# LOCALIZATION NOTE (rule.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+rule.printSimulation.tooltip=Toggle print media simulation for the page
+
+# LOCALIZATION NOTE (rule.colorSchemeSimulation.tooltip):
+# This is the tooltip of the color scheme simulation button in the Rule View
+# toolbar that toggles color-scheme simulation.
+rule.colorSchemeSimulation.tooltip=Toggle color-scheme simulation for the page
+
+# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader
+# speaks when the header of a rule is expanded.
+rule.twistyCollapse.label=Collapse
+
+# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader
+# speaks when the header of a rule is collapsed.
+rule.twistyExpand.label=Expand
+
+# LOCALIZATION NOTE (rule.expandableContainerToggleButton.title):
+# This is the tooltip for expandable container toggle button in the Rule View (Pseudo-elements, keyframes, …)
+rule.expandableContainerToggleButton.title=Toggle panel
+
+# LOCALIZATION NOTE (rule.containerQuery.selectContainerButton.tooltip): Text displayed in a
+# tooltip when the mouse is over the icon to select a container in a container query in the rule view.
+rule.containerQuery.selectContainerButton.tooltip=Click to select the container node
+
+# LOCALIZATION NOTE (rule.propertyToggle.label):
+# This is the label for the checkbox input in the rule view that allow to disable/re-enable
+# a specific property in a rule.
+# The argument is the property name.
+rule.propertyToggle.label=Enable %S property
+
+# LOCALIZATION NOTE (rule.newPropertyName.label):
+# This is the label for the new property input in the rule view.
+rule.newPropertyName.label=New property name
+
+# LOCALIZATION NOTE (rule.propertyName.label):
+# This is the label for the property name input in the rule view.
+rule.propertyName.label=Property name
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule
+# and computed view context menu when a color value was clicked.
+styleinspector.contextmenu.copyColor=Copy Color
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor.accessKey): Access key for
+# the rule and computed view context menu "Copy Color" entry.
+styleinspector.contextmenu.copyColor.accessKey=L
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the URL to the clipboard of the user.
+styleinspector.contextmenu.copyUrl=Copy URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy URL" entry.
+styleinspector.contextmenu.copyUrl.accessKey=U
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl): In rule and computed view :
+# text displayed in the context menu for an image URL.
+# Clicking it copies the image as Data-URL to the clipboard of the user.
+styleinspector.contextmenu.copyImageDataUrl=Copy Image Data-URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy Image Data-URL" entry.
+styleinspector.contextmenu.copyImageDataUrl.accessKey=I
+
+# LOCALIZATION NOTE (styleinspector.copyImageDataUrlError): Text set in the clipboard
+# if an error occurs when using the copyImageDataUrl context menu action
+# (invalid image link, timeout, etc...)
+styleinspector.copyImageDataUrlError=Failed to copy image Data-URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view
+# context menu.
+styleinspector.contextmenu.toggleOrigSources=Show Original Sources
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for
+# the rule view context menu "Show original sources" entry.
+styleinspector.contextmenu.toggleOrigSources.accessKey=O
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule): Text displayed in the
+# rule view context menu for adding a new rule to the element.
+# This should match inspector.addRule.tooltip in inspector.properties
+styleinspector.contextmenu.addNewRule=Add New Rule
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule.accessKey): Access key for
+# the rule view context menu "Add rule" entry.
+styleinspector.contextmenu.addNewRule.accessKey=R
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.selectAll=Select All
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll.accessKey): Access key for
+# the computed view context menu "Select all" entry.
+styleinspector.contextmenu.selectAll.accessKey=A
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.copy=Copy
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy.accessKey): Access key for
+# the computed view context menu "Copy" entry.
+styleinspector.contextmenu.copy.accessKey=C
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyLocation): Text displayed in the
+# rule view context menu for copying the source location.
+styleinspector.contextmenu.copyLocation=Copy Location
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text
+# displayed in the rule view context menu for copying the CSS declaration.
+styleinspector.contextmenu.copyDeclaration=Copy Declaration
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in
+# the rule view context menu for copying the property name.
+styleinspector.contextmenu.copyPropertyName=Copy Property Name
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in
+# the rule view context menu for copying the property value.
+styleinspector.contextmenu.copyPropertyValue=Copy Property Value
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the
+# rule view context menu for copying the rule.
+styleinspector.contextmenu.copyRule=Copy Rule
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
+# rule view context menu for copying the selector.
+styleinspector.contextmenu.copySelector=Copy Selector
diff --git a/l10n-fi/devtools/shared/webconsole-commands.ftl b/l10n-fi/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..5e60472c59
--- /dev/null
+++ b/l10n-fi/devtools/shared/webconsole-commands.ftl
@@ -0,0 +1,34 @@
+# 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/.
+
+
+# These strings are used inside the Web Console commands
+# which can be executed in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+
+# Usage string for :block command
+webconsole-commands-usage-block =
+ :block URL_STRING
+
+ Start blocking network requests
+
+ It accepts only one URLSTRING argument, an unquoted string which will be used to block all requests whose URL includes this string.
+ Use :unblock or the Network Monitor request blocking sidebar to undo this.
+# Usage string for :unblock command
+webconsole-commands-usage-unblock =
+ :unblock URL_STRING
+
+ Stop blocking network requests
+
+ It accepts only one argument, the exact same string previously passed to :block.
+# Usage string for :trace command
+webconsole-commands-usage-trace =
+ :trace
+
+ Toggles the JavaScript tracer
+
+ It supports the following arguments:
+ --logMethod to be set to ‘console’ for logging to the web console (the default), or ‘stdout’ for logging to the standard output,
+ --prefix Optional string which will be logged in front of all the trace logs,
+ --help or --usage to show this message.
diff --git a/l10n-fi/devtools/startup/key-shortcuts.ftl b/l10n-fi/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..bbc2c7ca1e
--- /dev/null
+++ b/l10n-fi/devtools/startup/key-shortcuts.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox = I
+# Alternative key pressed to open a toolbox with the default panel selected
+devtools-commandkey-toggle-toolbox-f12 = VK_F12
+# Key pressed to open the Browser Toolbox, used for debugging Firefox itself
+devtools-commandkey-browser-toolbox = I
+# Key pressed to open the Browser Console, used for debugging Firefox itself
+devtools-commandkey-browser-console = J
+# Key pressed to toggle on the Responsive Design Mode
+devtools-commandkey-responsive-design-mode = M
+# Key pressed to open a toolbox with the inspector panel selected
+devtools-commandkey-inspector = C
+# Key pressed to open a toolbox with the web console panel selected
+devtools-commandkey-webconsole = K
+# Key pressed to open a toolbox with the debugger panel selected
+devtools-commandkey-jsdebugger = Z
+# Key pressed to open a toolbox with the network monitor panel selected
+devtools-commandkey-netmonitor = E
+# Key pressed to open a toolbox with the style editor panel selected
+devtools-commandkey-styleeditor = VK_F7
+# Key pressed to open a toolbox with the performance panel selected
+devtools-commandkey-performance = VK_F5
+# Key pressed to open a toolbox with the storage panel selected
+devtools-commandkey-storage = VK_F9
+# Key pressed to open a toolbox with the DOM panel selected
+devtools-commandkey-dom = W
+# Key pressed to open a toolbox with the accessibility panel selected
+devtools-commandkey-accessibility-f12 = VK_F12
+# Key pressed to start or stop the performance profiler
+devtools-commandkey-profiler-start-stop = VK_1
+# Key pressed to capture a recorded performance profile
+devtools-commandkey-profiler-capture = VK_2
+# Key pressed to toggle the JavaScript tracing
+devtools-commandkey-javascript-tracing-toggle = VK_5
diff --git a/l10n-fi/dom/chrome/accessibility/AccessFu.properties b/l10n-fi/dom/chrome/accessibility/AccessFu.properties
new file mode 100644
index 0000000000..4d4ddafabf
--- /dev/null
+++ b/l10n-fi/dom/chrome/accessibility/AccessFu.properties
@@ -0,0 +1,112 @@
+# 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 = valikko
+scrollbar = vierityspalkki
+grip = otin
+alert = huomio
+menupopup = ponnahdusvalikko
+document = dokumentti
+pane = paneeli
+dialog = ikkuna
+separator = erotin
+toolbar = työkalupalkki
+statusbar = tilarivi
+table = taulukko
+columnheader = sarakeotsikko
+rowheader = riviotsikko
+column = sarake
+row = rivi
+cell = solu
+link = linkki
+list = lista
+listitem = listan rivi
+outline = otsikkotaso
+outlineitem = otsikkotason rivi
+pagetab = välilehti
+propertypage = ominaisuussivu
+graphic = grafiikka
+switch = kytkin
+pushbutton = painike
+checkbutton = valintaruutu
+radiobutton = valintapainike
+combobox = monivalintakohta
+progressbar = edistymispalkki
+slider = valintapalkki
+spinbutton = kiertopainike
+diagram = kuvaaja
+animation = animaatio
+equation = yhtälö
+buttonmenu = painikevalikko
+whitespace = tyhjä tila
+pagetablist = välilehtilista
+canvas = piirtoalue
+checkmenuitem = valintavalikkokohta
+passwordtext = salasanateksti
+radiomenuitem = yhden valinnan valikon kohta
+textcontainer = tekstilaatikko
+togglebutton = joko-tai -painike
+treetable = puutaulukko
+header = yläotsake
+footer = alaotsake
+paragraph = kappale
+entry = merkintä
+caption = kuvateksti
+heading = otsikko
+section = osio
+form = lomake
+comboboxlist = monivalintakohtien lista
+comboboxoption = monivalintakohdan asetukset
+imagemap = kuvakartta
+listboxoption = valinta
+listbox = listavalinta
+flatequation = yksinkertainen yhtälö
+gridcell = ruudukkosolu
+note = huomio
+figure = kuva
+definitionlist = määritelmäluettelo
+term = termi
+definition = määritelmä
+
+mathmltable = matematiikkataulukko
+mathmlcell = solu
+mathmlenclosed = sisällytetty
+mathmlfraction = murtoluku
+mathmlfractionwithoutbar = murtoluku ilman jakajaa
+mathmlroot = juuri
+mathmlscripted = komentojono
+mathmlsquareroot = neliöjuuri
+
+# More sophisticated roles which are not actual numeric roles
+textarea = tekstialue
+
+base = perusta
+close-fence = sulkeva aita
+denominator = nimittäjä
+numerator = osoittaja
+open-fence = avaava aita
+overscript = merkintä yllä
+presubscript = edeltävä alaindeksi
+presuperscript = edeltävä yläindeksi
+root-index = juuriluku
+subscript = alaindeksi
+superscript = yläindeksi
+underscript = merkintä alla
+
+# More sophisticated object descriptions
+headingLevel = otsikkotaso %S
+
+# Landmark announcements
+banner = banneri
+complementary = lisäsisältöä
+contentinfo = sisällön kuvaus
+main = päävalikko
+navigation = navigointi
+search = haku
+
+region = alue
+
+stateRequired = vaadittu
+
diff --git a/l10n-fi/dom/chrome/accessibility/mac/accessible.properties b/l10n-fi/dom/chrome/accessibility/mac/accessible.properties
new file mode 100644
index 0000000000..61a2eae8c8
--- /dev/null
+++ b/l10n-fi/dom/chrome/accessibility/mac/accessible.properties
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+jump = Siirry
+press = Paina
+check = Valitse
+uncheck = Poista valinta
+select = Valitse
+open = Avaa
+close = Sulje
+switch = Vaihda
+click = Osoita
+collapse= Kutista
+expand = Laajenna
+activate= Aktivoi
+cycle = Kelaa
+# 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 = Napsauta edeltäjää
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = HTML-sisältö
+# The Role Description for the Tab button.
+tab = välilehti
+# The Role Description for definition list dl, dt and dd
+term = termi
+definition = määritelmä
+# The Role Description for an input type="search" text field
+searchTextField = haun tekstikenttä
+# Role Description (exposed as AXTitle) for datepickers
+dateField = päivämääräkenttä
+# The Role Description for WAI-ARIA Landmarks
+application = ohjelma
+search = haku
+banner = palkki
+navigation = siirtyminen
+complementary = ylimääräinen
+content = sisältö
+main = keskus
+# The (spoken) role description for various WAI-ARIA roles
+alert = hälytys
+alertDialog = hälytysikkuna
+dialog = ikkuna
+article = artikkeli
+document = dokumentti
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = kuva
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = otsikko
+log = loki
+marquee = rullaava tekstikenttä
+math = matemaatiikka
+note = muistiinpano
+region = alue
+status = ohjelman tila
+timer = ajastin
+tooltip = työkaluvihje
+separator = erotin
+tabPanel = välilehtipaneeli
+# The roleDescription for the html:mark element
+highlight = korostus
+# The roleDescription for the details element
+details = lisätiedot
+# The roleDescription for the summary element
+summary = yhteenveto
diff --git a/l10n-fi/dom/chrome/accessibility/unix/accessible.properties b/l10n-fi/dom/chrome/accessibility/unix/accessible.properties
new file mode 100644
index 0000000000..d0958aadfb
--- /dev/null
+++ b/l10n-fi/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 = Siirry
+press = Paina
+check = Valitse
+uncheck = Poista valinta
+select = Valitse
+open = Avaa
+close = Sulje
+switch = Vaihda
+click = Napsauta
+collapse= Kutista
+expand = Laajenna
+activate= Aktivoi
+cycle = Kelaa
+# 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 = Napsauta edeltäjää
diff --git a/l10n-fi/dom/chrome/accessibility/win/accessible.properties b/l10n-fi/dom/chrome/accessibility/win/accessible.properties
new file mode 100644
index 0000000000..d0958aadfb
--- /dev/null
+++ b/l10n-fi/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 = Siirry
+press = Paina
+check = Valitse
+uncheck = Poista valinta
+select = Valitse
+open = Avaa
+close = Sulje
+switch = Vaihda
+click = Napsauta
+collapse= Kutista
+expand = Laajenna
+activate= Aktivoi
+cycle = Kelaa
+# 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 = Napsauta edeltäjää
diff --git a/l10n-fi/dom/chrome/appstrings.properties b/l10n-fi/dom/chrome/appstrings.properties
new file mode 100644
index 0000000000..04ea79a03e
--- /dev/null
+++ b/l10n-fi/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=Tarkista, että osoite on oikea ja yritä uudestaan.
+fileNotFound=Tiedostoa %S ei löytynyt. Tarkista sen sijainti ja yritä uudelleen.
+fileAccessDenied=Tiedosto %S ei ole luettavissa.
+dnsNotFound2=Osoitetta %S ei löytynyt. Tarkista osoite ja yritä uudelleen.
+unknownProtocolFound=Jokin seuraavista (%S) ei ole rekisteröity yhteyskäytäntö tai sitä ei ole sallittu käyttää tällä tavalla.
+connectionFailure=Yhteyden muodostus osoitteeseen %S epäonnistui.
+netInterrupt=Yhteys sivulle %S katkesi yllättäen. Voi olla, että tietoa siirrettiin.
+netTimeout=Yhteyden muodostus osoitteeseen %S aikakatkaistiin.
+redirectLoop=Uudelleenohjausraja osoitteelle ylittyi. Pyydettyä sivua ei voida ladata. Tämä voi johtua estetyistä evästeistä.
+confirmRepostPrompt=Sivu voidaan näyttää vain lähettämällä jo aikaisemmin lähetetyt tiedot. Tietojen lähettäminen toistaa aikaisemmin suoritetun toiminnon (kuten haun tai tuotteen tilauksen verkkokaupasta).
+resendButton.label=Lähetä uudestaan
+unknownSocketType=Tätä dokumenttia ei voida avata, ellet asenna Henkilökohtaista turvallisuuden hallintaa (PSM). Lataa ja asenna PSM ja yritä uudelleen tai ota yhteyttä järjestelmänvalvojaasi.
+netReset=Tiedosto on tyhjä.
+notCached=Tämä dokumentti ei ole enää saatavilla.
+netOffline=Sivua ei voida näyttää yhteydettömässä tilassa. Siirry yhteystilaan poistamalla valinta Tiedosto-valikon kohdasta Työskentele yhteydettömässä tilassa.
+isprinting=Sivu ei voi muuttua, kun sitä tulostetaan tai tulostusta esikatsellaan.
+deniedPortAccess=Pääsy pyydettyyn porttiin on estetty turvallisuussyistä.
+proxyResolveFailure=Välityspalvelinta ei löytynyt. Tarkista välityspalvelinasetukset ja yritä uudelleen.
+proxyConnectFailure=Välityspalvelin kieltäytyi yhteydestä. Tarkista välityspalvelinasetukset ja yritä uudelleen.
+contentEncodingError=Avattava sivu on pakattu virheellisesti tai tuntemattomalla tavalla, eikä sivua voida näyttää.
+unsafeContentType=Avattava sivu lähetettiin tiedostomuodossa, joka ei aina ole turvallinen eikä sivua siksi voida näyttää. Ilmoita tästä ongelmasta sivuston omistajalle.
+malwareBlocked=Sivuston %S on ilmoitettu olevan hyökkäyssivusto ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+harmfulBlocked=Sivuston %S on ilmoitettu olevan mahdollisesti haitallinen ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+unwantedBlocked=Sivuston %S on ilmoitettu yrittävän asentaa sovelluksia pyytämättä ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+deceptiveBlocked=Sivuston %S on ilmoitettu olevan petollinen sivusto ja sen avaaminen on estetty turvallisuusasetuksiesi perusteella.
+cspBlocked=Tällä sivulla on sisällön tietosuojakäytäntö, joka estää sen sisällyttämisen toiseen sivuun tällä tavalla.
+xfoBlocked=Tällä sivulla on X-Frame-Options-käytäntö, joka estää sen lataamisen tässä yhteydessä.
+corruptedContentErrorv2=Sivusto osoitteessa %S on kohdannut yhteyskäytäntövirheen, josta ei voi toipua.
+sslv3Used=Tietojesi turvallisuutta palvelimella %S ei voida taata, koska se käyttää rikkoutunutta turvallisuuskäytäntöä SSLv3.
+weakCryptoUsed=Sivuston %S omistaja on määrittänyt sivustonsa asetukset väärin. Sivustoon ei muodostettu yhteyttä suojellaksemme tietojasi varkaudelta.
+inadequateSecurityError=Sivusto yritti neuvotella riittämättömän tasoisen turvallisuuden.
+blockedByPolicy=Organisaatiosi on estänyt pääsyn tälle sivulle tai sivustolle.
+networkProtocolError=Firefox kohtasi verkkoyhteyskäytäntöä koskevan rikkomuksen, josta ei voi toipua.
diff --git a/l10n-fi/dom/chrome/dom/dom.properties b/l10n-fi/dom/chrome/dom/dom.properties
new file mode 100644
index 0000000000..5effab22fd
--- /dev/null
+++ b/l10n-fi/dom/chrome/dom/dom.properties
@@ -0,0 +1,427 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=Varoitus: komentosarja ei vastaa kutsuihin
+KillScriptMessage=Tällä sivulla oleva komentosarja on varattuna tai ei enää vastaa kutsuihin. Voit pysäyttää komentosarjan suorittamisen tai odottaa sen suorituksen valmistumista.
+KillScriptWithDebugMessage=Tällä sivulla oleva komentosarja on varattuna tai ei enää vastaa kutsuihin. Voit pysäyttää komentosarjan suorittamisen, tutkia sitä debug-ohjelmalla tai odottaa sen suorituksen valmistumista.
+KillScriptLocation=Komentosarja: %S
+
+KillAddonScriptTitle=Varoitus: lisäosan komentosarja ei vastaa kutsuihin
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=Komentosarja laajennuksesta ”%1$S” on käynnissä tällä sivulla ja saa %2$Sin olemaan vastaamatta kutsuihin.\n\nKomentosarja voi olla varattuna tai se voi olla pysyvästi lakannut vastaamasta. Voit pysäyttää komentosarjan nyt tai odottaa ja katsoa, valmistuuko se.
+KillAddonScriptGlobalMessage=Estä laajennuksen komentosarjan suoritus tällä sivulla ennen sen uudelleenlatausta
+
+StopScriptButton=Pysäytä komentosarja
+DebugScriptButton=Tutki komentosarjaa
+WaitForScriptButton=Jatka
+DontAskAgain=&Älä kysy uudestaan
+WindowCloseBlockedWarning=Komentosarjat eivät voi sulkea ikkunoita, joita ne eivät ole avanneet.
+OnBeforeUnloadTitle=Sivulta poistumisen vahvistus
+OnBeforeUnloadMessage2=Tämä sivu haluaa sinun vahvistavan, että tarkoituksesi on poistua sivulta. Sivulle antamiasi tietoja ei välttämättä tallenneta.
+OnBeforeUnloadStayButton=Jää sivulle
+OnBeforeUnloadLeaveButton=Poistu sivulta
+EmptyGetElementByIdParam=Empty string passed to getElementById().
+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=Lyhennä kentän teksti %S merkkiin tai vähempään (nyt käytössä %S merkkiä).
+FormValidationTextTooShort=Käytä vähintään %S merkkiä (nyt käytössä %S merkkiä).
+FormValidationValueMissing=Täytä tämä kenttä.
+FormValidationCheckboxMissing=Valitse tämä kohta jos haluat jatkaa.
+FormValidationRadioMissing=Valitse yksi vaihtoehdoista.
+FormValidationFileMissing=Valitse tiedosto.
+FormValidationSelectMissing=Valitse kohta listalta.
+FormValidationInvalidEmail=Kirjoita kelvollinen sähköpostiosoite.
+FormValidationInvalidURL=Kirjoita osoite.
+FormValidationInvalidDate=Anna kelvollinen päiväys.
+FormValidationInvalidTime=Anna kelvollinen aika.
+FormValidationInvalidDateTime=Anna kelvollinen päiväys ja aika.
+FormValidationInvalidDateMonth=Anna kelvollinen kuukausi.
+FormValidationInvalidDateWeek=Anna kelvollinen viikko.
+FormValidationPatternMismatch=Anna arvo pyydetyssä muodossa.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Anna arvo pyydetyssä muodossa: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Valitse arvo, joka on enintään %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Valitse arvo, joka ei ole myöhempi kuin %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Valitse arvo, joka vähintään %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Valitse arvo, joka ei ole aikaisempi kuin %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Valitse kelvollinen arvo. Kaksi lähintä kelvollista arvoa ovat %S ja %S.
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=Valitse kelvollinen arvo. Lähin kelvollinen arvo on %S.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Valitse arvo väliltä %1$S ja %2$S.
+FormValidationBadInputNumber=Kirjoita luku.
+FullscreenDeniedDisabled=Request for fullscreen was denied because Fullscreen API is disabled by user preference.
+FullscreenDeniedFocusedPlugin=Request for fullscreen was denied because a windowed plugin is focused.
+FullscreenDeniedHidden=Request for fullscreen was denied because the document is no longer visible.
+FullscreenDeniedHTMLDialog=Request for fullscreen was denied because requesting element is a <dialog> element.
+FullscreenDeniedContainerNotAllowed=Request for fullscreen was denied because at least one of the document's containing elements is not an iframe or does not have an "allowfullscreen" attribute.
+FullscreenDeniedNotInputDriven=Request for fullscreen was denied because Element.requestFullscreen() was not called from inside a short running user-generated event handler.
+FullscreenDeniedMouseEventOnlyLeftBtn=Request for fullscreen was denied because Element.requestFullscreen() was called from inside a mouse event handler not triggered by left mouse button.
+FullscreenDeniedNotHTMLSVGOrMathML=Request for fullscreen was denied because requesting element is not <svg>, <math>, or an HTML element.
+FullscreenDeniedNotInDocument=Request for fullscreen was denied because requesting element is no longer in its document.
+FullscreenDeniedMovedDocument=Request for fullscreen was denied because requesting element has moved document.
+FullscreenDeniedLostWindow=Request for fullscreen was denied because we no longer have a window.
+FullscreenDeniedSubDocFullscreen=Request for fullscreen was denied because a subdocument of the document requesting fullscreen is already fullscreen.
+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=Yritetään toistaa Widevineä ilman Windows Media Foundationia. Katso https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=Jotta voit toistaa videotiedostomuotoja %S, sinun tarvitsee asentaa Microsoftin lisäohjelmistoja. Katso https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=Tällä sivulla olevaa videota ei voida toistaa. Järjestelmässä ei välttämättä ole tarvittavia koodekkeja tiedostomuodoille %S.
+MediaUnsupportedLibavcodec=Tällä sivulla olevaa videota ei voida toistaa. Järjestelmässä on libavcodec-versio, jota ei tueta
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=Mediaresurssin %1$S purkaminen epäonnistui virheellä: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=Mediaresurssin %1$S purkaminen onnistui, mutta virheellä: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=Mediaa ei voida toistaa. Ei purkajia pyydetyille tiedostomuodoille: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=Ei purkajia joillekin pyydetyistä tiedostomuodoista: %S
+MediaCannotInitializePulseAudio=PulseAudion käyttäminen ei onnistu
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=Using Encrypted Media Extensions at %S on an insecure (i.e. non-HTTPS) context is deprecated and will soon be removed. You should consider switching to a secure origin such as HTTPS.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) without passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities without a contentType with a “codecs” string is deprecated and will soon become unsupported.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=Use of Mutation Events is deprecated. Use MutationObserver instead.
+BlockAutoplayError=Automaattinen toisto sallitaan vain, kun käyttäjä on antanut suostumuksen, käyttäjä on aktivoinut sivuston tai median äänet on vaimennettu.
+BlockAutoplayWebAudioStartError=An AudioContext was prevented from starting automatically. It must be created or resumed after a user gesture on the page.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=The Components object is deprecated. It will soon be removed.
+PluginHangUITitle=Varoitus: Liitännäinen ei vastaa kutsuihin
+PluginHangUIMessage=Liitännäinen %S on varattuna tai ei enää vastaa kutsuihin. Voit pysäyttää liitännäisen suorittamisen tai odottaa sen suorituksen valmistumista.
+PluginHangUIWaitButton=Jatka
+PluginHangUIStopButton=Pysäytä liitännäinen
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Calling detach() on a NodeIterator no longer has an effect.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Ignoring get or set of property that has [LenientThis] because the "this" object is incorrect.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=Use of captureEvents() is deprecated. To upgrade your code, use the DOM 2 addEventListener() method. For more help http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=Use of releaseEvents() is deprecated. To upgrade your code, use the DOM 2 removeEventListener() method. For more help http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers is deprecated. Do not use it for UA detection.
+ImportXULIntoContentWarning=Importing XUL nodes into a content document is deprecated. This functionality may be removed soon.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=An IndexedDB transaction that was not yet complete has been aborted due to page navigation.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Will-change memory consumption is too high. Budget limit is the document surface area multiplied by %1$S (%2$S px). Occurrences of will-change over the budget will be ignored.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=A Worker could not be started immediately because other documents in the same origin are already using the maximum number of workers. The Worker is now queued and will be started after some of the other workers have completed.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=Application Cache API (AppCache) on vanhentunut ja se tullaan poistamaan tulevaisuudessa. Harkitse ServiceWorkerin käyttöä offline-tuen saavuttamiseksi.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Attempting to create a Worker from an empty source. This is probably unintentional.
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia has been replaced by navigator.mediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams are deprecated. Use RTCPeerConnection.getSenders/getReceivers instead.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Failed to load '%S'. A ServiceWorker intercepted the request and encountered an unexpected error.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Failed to load ‘%1$S’ by responding ‘%2$S’. A ServiceWorker is not allowed to synthesize a cors Response for a same-origin Request.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=Failed to load '%1$S'. A ServiceWorker passed an opaque Response to FetchEvent.respondWith() while handling a '%2$S' FetchEvent. Opaque Response objects are only valid when the RequestMode is 'no-cors'.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Failed to load '%S'. A ServiceWorker passed an Error Response to FetchEvent.respondWith(). This typically means the ServiceWorker performed an invalid fetch() call.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Failed to load '%S'. A ServiceWorker passed a used Response to FetchEvent.respondWith(). The body of a Response may only be read once. Use Response.clone() to access the body multiple times.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %s is a URL.
+BadOpaqueRedirectInterceptionWithURL=Failed to load '%S'. A ServiceWorker passed an opaqueredirect Response to FetchEvent.respondWith() while handling a non-navigation FetchEvent.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Failed to load ‘%S’. A ServiceWorker passed a redirected Response to FetchEvent.respondWith() while RedirectMode is not ‘follow’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Kohteen '%S' lataaminen epäonnistui. ServiceWorker peruutti latauksen kutsumalla FetchEvent.preventDefault()-metodia.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Failed to load '%1$S'. A ServiceWorker passed a promise to FetchEvent.respondWith() that rejected with '%2$S'.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=Failed to load '%1$S'. A ServiceWorker passed a promise to FetchEvent.respondWith() that resolved with non-Response value '%2$S'.
+
+# LOCALIZATION NOTE: Do not translate "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=kuva.png
+GenericFileName=tiedosto
+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”.
+ImportMapInvalidAddress=Osoite “%S” oli virheellinen.
+# %1$S is the specifier key, %2$S is the URL.
+# 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=Jakamisoperaatio on epäonnistunut.
+WebShareAPI_Aborted=Jakamisoperaatio keskeytettiin.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Estettiin siirtyminen osoitteeseen “%1$S” tuntemattoman protokollan takia.
+PostMessageSharedMemoryObjectToCrossOriginWarning=Cannot post message containing a shared memory object to a cross-origin window.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+UnusedLinkPreloadPending=The resource at “%S” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly.
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+RequestStorageAccessNullPrincipal=document.requestStorageAccess() may not be called on a document with an opaque origin, such as a sandboxed iframe without allow-same-origin in its sandbox attribute.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+RequestStorageAccessSandboxed=document.requestStorageAccess() may not be called in a sandboxed iframe without allow-storage-access-by-user-activation in its sandbox attribute.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() may not be called in a nested iframe.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+RequestStorageAccessUserGesture=document.requestStorageAccess() may only be requested from inside a short running user-generated event handler.
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=Too many calls to Location or History APIs within a short timeframe.
+FolderUploadPrompt.title = Vahvista lähetys
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = Haluatko varmasti lähettää kaikki tiedostot kansiosta ”%S”? Tee tämä vain, jos luotat sivustoon.
+FolderUploadPrompt.acceptButtonLabel = Lähetä
+InputPickerBlockedNoUserActivation=<input> picker was blocked due to lack of user activation.
+ExternalProtocolFrameBlockedNoUserActivation=Iframe with external protocol was blocked due to lack of user activation, or because not enough time has passed since the last such iframe was loaded.
+MultiplePopupsBlockedNoUserActivation=Opening multiple popups was blocked due to lack of user activation.
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=Preload of %S was ignored due to unknown “as” or “type” values, or non-matching “media” attribute.
+# 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/
+
+# LOCALIZATION NOTE: Do not translate "mozCurrentTransform", "CanvasRenderingContext2D.getTransform()", and "CanvasRenderingContext2D.setTransform()".
+# LOCALIZATION NOTE: Do not translate "mozCurrentTransformInverse", "CanvasRenderingContext2D.getTransform()", and "CanvasRenderingContext2D.setTransform()".
+
diff --git a/l10n-fi/dom/chrome/global-strres.properties b/l10n-fi/dom/chrome/global-strres.properties
new file mode 100644
index 0000000000..a9dc991328
--- /dev/null
+++ b/l10n-fi/dom/chrome/global-strres.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+16389=Tuntematon virhe tapahtui (%1$S)
diff --git a/l10n-fi/dom/chrome/layout/HtmlForm.properties b/l10n-fi/dom/chrome/layout/HtmlForm.properties
new file mode 100644
index 0000000000..dd472b99dc
--- /dev/null
+++ b/l10n-fi/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=Palauta oletusarvot
+Submit=Lähetä
+Browse=Selaa…
+FileUpload=Lähetä tiedosto
+DirectoryUpload=Valitse lähetettävä kansio
+DirectoryPickerOkButtonLabel=Lähetä
+ForgotPostWarning=Lomakkeessa on määre enctype=%S, mutta siitä puuttuu määre method=post. Lähetetään sen sijaan normaalisti attribuutilla method=GET ilman enctype-tietoa.
+ForgotFileEnctypeWarning=Lomakkeessa on tiedoston syöttökenttä, mutta siitä puuttuu määreet method=POST ja enctype=multipart/form-data. Tiedostoa ei lähetetä.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Lomake lähetetty %Sista
+CannotEncodeAllUnicode=Lomake lähetettiin %S-koodauksella, joka ei kata kaikkia Unicode-merkkejä. Käyttäjän viesti voi välittyä virheellisesti. Ongelman voi välttää muuttamalla sivua niin, että lomake lähetetään UTF-8 -merkistökoodauksella. Tämän voi tehdä joko muuttamalla itse sivun merkistökoodauksen UTF-8:ksi tai määrittämällä "accept-charset=utf-8" lomake-elementtiin.
+AllSupportedTypes=Kaikki tuetut tyypit
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Ei valittua tiedostoa.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Ei valittuja tiedostoja.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Ei valittua kansiota.
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=%S tiedostoa valittu.
+ColorPicker=Valitse väri
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=Yksityiskohdat
diff --git a/l10n-fi/dom/chrome/layout/MediaDocument.properties b/l10n-fi/dom/chrome/layout/MediaDocument.properties
new file mode 100644
index 0000000000..99291dc14c
--- /dev/null
+++ b/l10n-fi/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-kuva, %S\u00A0\u00D7\u00A0%S kuvapistettä)
+ImageTitleWithoutDimensions=%S (%S-kuva)
+ImageTitleWithDimensions2=(%S-kuva, %S\u00A0\u00D7\u00A0%S kuvapistettä)
+ImageTitleWithNeitherDimensionsNorFile=(%S-kuva)
+MediaTitleWithFile=%S (%S-tiedosto)
+MediaTitleWithNoInfo=(%S-tiedosto)
+
+InvalidImage=Kuvaa %S ei voida näyttää, koska se sisältää virheitä.
+UnsupportedImage=Kuvaa ”%S” ei voida näyttää, koska se vaatii ominaisuuksia, joita ei tueta.
+ScaledImage=Pienennetty (%S %% alkuperäisestä)
+
+TitleWithStatus=%S — %S
diff --git a/l10n-fi/dom/chrome/layout/css.properties b/l10n-fi/dom/chrome/layout/css.properties
new file mode 100644
index 0000000000..6fb5cd40fa
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/css.properties
@@ -0,0 +1,52 @@
+# 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'.
+PEPRSyntaxFieldEmptyInput=@property syntax descriptor is empty.
+PEPRSyntaxFieldExpectedPipe=@property syntax descriptor ‘%S’ contains components without a pipe between them.
+PEPRSyntaxFieldInvalidNameStart=@property syntax descriptor ‘%S’ contains a component name that starts with an invalid character.
+PEPRSyntaxFieldInvalidName=@property syntax descriptor ‘%S’ contains a component name with an invalid character.
+PEPRSyntaxFieldUnclosedDataTypeName=@property syntax descriptor ‘%S’ contains an unclosed data type name.
+PEPRSyntaxFieldUnexpectedEOF=@property syntax descriptor ‘%S’ is incomplete.
+PEPRSyntaxFieldUnknownDataTypeName=@property syntax descriptor ‘%S’ contains an unknown data type name.
+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-fi/dom/chrome/layout/htmlparser.properties b/l10n-fi/dom/chrome/layout/htmlparser.properties
new file mode 100644
index 0000000000..a6cf47bfb3
--- /dev/null
+++ b/l10n-fi/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=Kehystetyn dokumentin käyttämää merkistökoodausta ei määritelty. Dokumentti voi näyttää erilaiselta jos se ei ole kehystetty.
+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-dokumentille on määritelty ei tuettu merkistökoodaus meta-tunnisteella. Määrittelyä ei huomioitu.
+EncProtocolUnsupported=Ei tuettu merkistökoodaus määritelty tiedonsiirtotasolla. Määrittelyä ei huomioitu.
+EncMetaUtf16=Meta-tunnisteella määriteltiin merkistökoodaukseksi UTF-16. Tämän tulkittiin tarkoittavan UTF-8:a.
+EncMetaUserDefined=Meta-tunnisteella määriteltiin merkistökoodaukseksi x-user-defined. Tämän tulkittiin tarkoittavan windows-1252:a, jotta varmistettaisiin yhteensopivuus tarkoituksella väärin koodattujen vanhojen kirjasinlajien kanssa. Tämän sivuston pitäisi ruveta käyttämään Unicode-koodausta.
+
+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=Garbage after “</”.
+errLtSlashGt=Saw “</>”. Probable causes: Unescaped “<” (escape as “&lt;”) or mistyped end tag.
+errCharRefLacksSemicolon=Character reference was not terminated by a semicolon.
+errNoDigitsInNCR=No digits in numeric character reference.
+errGtInSystemId=“>” in system identifier.
+errGtInPublicId=“>” in public identifier.
+errNamelessDoctype=Nameless doctype.
+errConsecutiveHyphens=Consecutive hyphens did not terminate a comment. “--” is not permitted inside a comment, but e.g. “- -” is.
+errPrematureEndOfComment=Premature end of comment. Use “-->” to end a comment properly.
+errBogusComment=Bogus comment.
+errUnquotedAttributeLt=“<” in an unquoted attribute value. Probable cause: Missing “>” immediately before.
+errUnquotedAttributeGrave=“`” in an unquoted attribute value. Probable cause: Using the wrong character as a quote.
+errUnquotedAttributeQuote=Quote in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.
+errUnquotedAttributeEquals=“=” in an unquoted attribute value. Probable causes: Attributes running together or a URL query string in an unquoted attribute value.
+errSlashNotFollowedByGt=A slash was not immediately followed by “>”.
+errNoSpaceBetweenAttributes=No space between attributes.
+errUnquotedAttributeStartLt=“<” at the start of an unquoted attribute value. Probable cause: Missing “>” immediately before.
+errUnquotedAttributeStartGrave=“`” at the start of an unquoted attribute value. Probable cause: Using the wrong character as a quote.
+errUnquotedAttributeStartEquals=“=” at the start of an unquoted attribute value. Probable cause: Stray duplicate equals sign.
+errAttributeValueMissing=Attribute value missing.
+errBadCharBeforeAttributeNameLt=Saw “<” when expecting an attribute name. Probable cause: Missing “>” immediately before.
+errEqualsSignBeforeAttributeName=Saw “=” when expecting an attribute name. Probable cause: Attribute name missing.
+errBadCharAfterLt=Bad character after “<”. Probable cause: Unescaped “<”. Try escaping it as “&lt;”.
+errLtGt=Saw “<>”. Probable causes: Unescaped “<” (escape as “&lt;”) or mistyped start tag.
+errProcessingInstruction=Saw “<?”. Probable cause: Attempt to use an XML processing instruction in HTML. (XML processing instructions are not supported in HTML.)
+errUnescapedAmpersandInterpretedAsCharacterReference=The string following “&” was interpreted as a character reference. (“&” probably should have been escaped as “&amp;”.)
+errNotSemicolonTerminated=Named character reference was not terminated by a semicolon. (Or “&” should have been escaped as “&amp;”.)
+errNoNamedCharacterMatch=“&” did not start a character reference. (“&” probably should have been escaped as “&amp;”.)
+errQuoteBeforeAttributeName=Saw a quote when expecting an attribute name. Probable cause: “=” missing immediately before.
+errLtInAttributeName=“<” in attribute name. Probable cause: “>” missing immediately before.
+errQuoteInAttributeName=Quote in attribute name. Probable cause: Matching quote missing somewhere earlier.
+errExpectedPublicId=Expected a public identifier but the doctype ended.
+errBogusDoctype=Bogus doctype.
+maybeErrAttributesOnEndTag=End tag had attributes.
+maybeErrSlashInEndTag=Stray “/” at the end of an end tag.
+errNcrNonCharacter=Character reference expands to a non-character.
+errNcrSurrogate=Character reference expands to a surrogate.
+errNcrControlChar=Character reference expands to a control character.
+errNcrCr=A numeric character reference expanded to carriage return.
+errNcrInC1Range=A numeric character reference expanded to the C1 controls range.
+errEofInPublicId=End of file inside public identifier.
+errEofInComment=End of file inside comment.
+errEofInDoctype=End of file inside doctype.
+errEofInAttributeValue=End of file reached when inside an attribute value. Ignoring tag.
+errEofInAttributeName=End of file occurred in an attribute name. Ignoring tag.
+errEofWithoutGt=Saw end of file without the previous tag ending with “>”. Ignoring tag.
+errEofInTagName=End of file seen when looking for tag name. Ignoring tag.
+errEofInEndTag=End of file inside end tag. Ignoring tag.
+errEofAfterLt=End of file after “<”.
+errNcrOutOfRange=Character reference outside the permissible Unicode range.
+errNcrUnassigned=Character reference expands to a permanently unassigned code point.
+errDuplicateAttribute=Duplicate attribute.
+errEofInSystemId=End of file inside system identifier.
+errExpectedSystemId=Expected a system identifier but the doctype ended.
+errMissingSpaceBeforeDoctypeName=Missing space before doctype name.
+errNestedComment=Saw “<!--” within a comment. Probable cause: Nested comment (not allowed).
+errNcrZero=Character reference expands to zero.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=No space between the doctype “SYSTEM” keyword and the quote.
+errNoSpaceBetweenPublicAndSystemIds=No space between the doctype public and system identifiers.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=No space between the doctype “PUBLIC” keyword and the quote.
+
+# Tree builder errors
+errDeepTree=The document tree is too deep. The tree will be flattened to be 513 elements deep.
+errStrayStartTag2=Stray start tag “%1$S”.
+errStrayEndTag=Stray end tag “%1$S”.
+errUnclosedElements=End tag “%1$S” seen, but there were open elements.
+errUnclosedElementsImplied=End tag “%1$S” implied, but there were open elements.
+errUnclosedElementsCell=A table cell was implicitly closed, but there were open elements.
+errStrayDoctype=Stray doctype.
+errAlmostStandardsDoctype=Almost standards mode doctype. Expected “<!DOCTYPE html>”.
+errQuirkyDoctype=Quirky doctype. Expected “<!DOCTYPE html>”.
+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=Non-space character in page trailer.
+errNonSpaceAfterFrameset=Non-space after “frameset”.
+errNonSpaceInFrameset=Non-space in “frameset”.
+errNonSpaceAfterBody=Non-space character after body.
+errNonSpaceInColgroupInFragment=Non-space in “colgroup” when parsing fragment.
+errNonSpaceInNoscriptInHead=Non-space character inside “noscript” inside “head”.
+errFooBetweenHeadAndBody=“%1$S” element between “head” and “body”.
+errStartTagWithoutDoctype=Start tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+errNoSelectInTableScope=No “select” in table scope.
+errStartSelectWhereEndSelectExpected=“select” start tag where end tag expected.
+errStartTagWithSelectOpen=“%1$S” start tag with “select” open.
+errBadStartTagInNoscriptInHead=Bad start tag “%1$S” in “noscript” in “head”.
+errImage=Saw a start tag “image”.
+errFooSeenWhenFooOpen2=Start tag “%1$S” seen but an element of the same type was already open.
+errHeadingWhenHeadingOpen=Heading cannot be a child of another heading.
+errFramesetStart=“frameset” start tag seen.
+errNoCellToClose=No cell to close.
+errStartTagInTable=Start tag “%1$S” seen in “table”.
+errFormWhenFormOpen=Saw a “form” start tag, but there was already an active “form” element. Nested forms are not allowed. Ignoring the tag.
+errTableSeenWhileTableOpen=Start tag for “table” seen but the previous “table” is still open.
+errStartTagInTableBody=“%1$S” start tag in table body.
+errEndTagSeenWithoutDoctype=End tag seen without seeing a doctype first. Expected “<!DOCTYPE html>”.
+errEndTagAfterBody=Saw an end tag after “body” had been closed.
+errEndTagSeenWithSelectOpen=“%1$S” end tag with “select” open.
+errGarbageInColgroup=Garbage in “colgroup” fragment.
+errEndTagBr=End tag “br”.
+errNoElementToCloseButEndTagSeen=No “%1$S” element in scope but a “%1$S” end tag seen.
+errHtmlStartTagInForeignContext=HTML start tag “%1$S” in a foreign namespace context.
+errNoTableRowToClose=No table row to close.
+errNonSpaceInTable=Misplaced non-space characters inside a table.
+errUnclosedChildrenInRuby=Unclosed children in “ruby”.
+errStartTagSeenWithoutRuby=Start tag “%1$S” seen without a “ruby” element being open.
+errSelfClosing=Self-closing syntax (“/>”) used on a non-void HTML element. Ignoring the slash and treating as a start tag.
+errNoCheckUnclosedElementsOnStack=Unclosed elements on stack.
+errEndTagDidNotMatchCurrentOpenElement=End tag “%1$S” did not match the name of the current open element (“%2$S”).
+errEndTagViolatesNestingRules=End tag “%1$S” violates nesting rules.
+errEndWithUnclosedElements=End tag for “%1$S” seen, but there were unclosed elements.
+errListUnclosedStartTags=Unclosed element or elements.
diff --git a/l10n-fi/dom/chrome/layout/layout_errors.properties b/l10n-fi/dom/chrome/layout/layout_errors.properties
new file mode 100644
index 0000000000..de7c726605
--- /dev/null
+++ b/l10n-fi/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-fi/dom/chrome/layout/printing.properties b/l10n-fi/dom/chrome/layout/printing.properties
new file mode 100644
index 0000000000..b0b6a5a8fd
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/printing.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page number formating
+## @page_number The current page number
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formating
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d / %2$d
+
+PrintToFile=Tulosta tiedostoon
+print_error_dialog_title=Tulostin ei toimi
+printpreview_error_dialog_title=Tulosteen esikatselussa tapahtui virhe
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=Tulostaessa tapahtui virhe.
+
+PERR_ABORT=Tulostustyö keskeytettin tai peruutettiin.
+PERR_NOT_AVAILABLE=Kaikki tulostustoiminnot eivät ole käytettävissä tällä hetkellä.
+PERR_NOT_IMPLEMENTED=Kaikki tulostustoiminnot eivät ole vielä käytettävissä.
+PERR_OUT_OF_MEMORY=Tulostus ei onnistunut. Muisti ei riitä tulostamiseen.
+PERR_UNEXPECTED=Tulostettaessa tapahtui odottamaton virhe.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Tulostimia ei löytynyt.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Ei voida näyttää tulostuksen esikatselua, koska tulostimia ei löytynyt.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=Valittua tulostinta ei löytynyt.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Tulostetiedostoa ei voitu avata tulostusta varten.
+PERR_GFX_PRINTER_STARTDOC=Tulostustyö epäonnistui aloitettaessa tulostusta.
+PERR_GFX_PRINTER_ENDDOC=Tulostustyö epäonnistui lopetettaessa tulostusta.
+PERR_GFX_PRINTER_STARTPAGE=Tulostustyö epäonnistui aloitettaessa uuden sivun tulostusta.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Ei voida tulostaa sivua, koska sitä ladataan vielä.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Ei voida näyttää tulostuksen esikatselua, ksoka sivua ladataan vielä.
diff --git a/l10n-fi/dom/chrome/layout/xmlparser.properties b/l10n-fi/dom/chrome/layout/xmlparser.properties
new file mode 100644
index 0000000000..d77bb4c6d7
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/xmlparser.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Map Expat error codes to error strings
+1 = muisti ei riitä
+2 = syntaksivirhe
+3 = juurielementtiä ei löytynyt
+4 = XML ei ole hyvämuotoista
+5 = sulkematon poletti
+6 = vaillinainen merkki
+7 = elementin alku- ja loppumerkintä eivät täsmää
+8 = elementillä on sama attribuutti kahdesti
+9 = ylimääräistä sisältöä juurielementin jälkeen
+10 = virheellinen parametrientiteettiviittaus
+11 = määrittelemätön entiteetti
+12 = rekursiivinen entiteettiviittaus
+13 = asynkroninen entiteetti
+14 = viittaus virheelliseen merkistönumeroon
+15 = viittaus binäärientiteettiin
+16 = attribuutissa on viittaus ulkoiseen entiteettiin
+17 = XML- tai tekstimäärittely ei ole entiteetin alussa
+18 = tuntematon merkistö
+19 = XML-määrittelyssä määritetty koodaus on väärä
+20 = avoin CDATA-lohko
+21 = virhe ulkoisen entiteettiviittauksen käsittelyssä
+22 = dokumentti on muista tiedostoista riippuvainen
+23 = jäsennin päätyi odottamattomaan tilaan
+24 = entiteetti määriteltiin parametrientiteetissä
+27 = etuliitettä ei ole sidottu nimiavaruuteen
+28 = etuliitteen määrittelyä ei saa poistaa
+29 = puutteellinen merkintä parametrientiteetissä
+30 = XML-määrittely on virheellisesti muotoiltu
+31 = tekstimäärittely on virheellisesti muotoiltu
+32 = julkisessa tunnisteeessa on kiellettyjä merkkejä
+38 = varatun etuliitteen (xml) määrittelyä ei saa poistaa tai sitoa toiseen nimiavaruus-URI:in
+39 = varattua etuliitettä (xmlns) ei saa määritellä tai poistaa määrittelyä
+40 = etuliitettä ei saa sitoa varattuun nimiavaruus-URI:in
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = XML-jäsennysvirhe: %1$S\nURL: %2$S\nRivinumero %3$u, sarake %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Odotettu elementtimerkintä: </%S>.
diff --git a/l10n-fi/dom/chrome/layout/xul.properties b/l10n-fi/dom/chrome/layout/xul.properties
new file mode 100644
index 0000000000..7a9417333b
--- /dev/null
+++ b/l10n-fi/dom/chrome/layout/xul.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+PINotInProlog=<?%1$S?> käsittelykomennolla ei ole enään mitään vaikutusta prologin ulkopuolella (kts. bugi 360119).
diff --git a/l10n-fi/dom/chrome/mathml/mathml.properties b/l10n-fi/dom/chrome/mathml/mathml.properties
new file mode 100644
index 0000000000..28793b66d0
--- /dev/null
+++ b/l10n-fi/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-fi/dom/chrome/nsWebBrowserPersist.properties b/l10n-fi/dom/chrome/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..7b70cb3afd
--- /dev/null
+++ b/l10n-fi/dom/chrome/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=Tiedostoa %S ei voitu tallentaa, koska lähdetiedostoa ei voitu lukea.\n\nYritä myöhemmin uudelleen tai ota yhteyttä palvelimen ylläpitäjään.
+writeError=Tiedostoa %S ei voitu tallentaa tuntemattoman virheen vuoksi.\n\nPahoittelumme. Yritä tallentaa toiseen kansioon.
+launchError=Tiedostoa %S ei voitu avata tuntemattoman virheen vuoksi.\n\nMozilla.org pahoittelee. Yritä ensin tallentaa tiedosto levylle ja vasta sitten avata tiedosto.
+diskFull=Levyllä ei ole tarpeeksi tilaa, jotta %S voitaisiin tallentaa.\n\nPoista tarpeettomia tiedostoja ja yritä uudelleen tai yritä tallentaa muualle.
+readOnly=Tiedostoa %S ei voitu tallentaa, koska levylle, kansioon tai tiedostoon ei ole kirjoitusoikeuksia.\n\nPoista kirjoitussuojaus tai koita tallentaa muualle.
+accessError=Kohdetta %S ei voitu tallentaa, koska et voi muuttaa sen kansion sisältöä.\n\nMuuta kansion oikeuksia ja yritä uudelleen tai koita tallentaa muualle.
+SDAccessErrorCardReadOnly=Ei voitu ladata tiedostoa, koska SD-korttia on käytössä.
+SDAccessErrorCardMissing=Ei voitu ladata tiedostoa, koska SD-korttia ei löydy.
+helperAppNotFound=Tiedostoa %S ei voitu avata, koska tiedostotyyppiin liitettyä apuohjelmaa ei löydy. Muuta tiedostotyypin asetuksia.
+noMemory=Muisti ei riitä pyytämäsi toiminnon suorittamiseen.\n\nSulje joitain ohjelmia ja yritä uudestaan.
+title=Ladataan: %S
+fileAlreadyExistsError=Tiedostoa %S ei voitu tallentaa, koska samanniminen tiedosto on jo olemassa "_tiedostot"-kansiona.\n\nTallenna tiedosto toiseen kansioon.
+fileNameTooLongError=Tiedostoa %S ei voitu tallentaa, koska tiedostonimi on liian pitkä.\n\nTallenna tiedosto lyhyemmällä nimellä.
diff --git a/l10n-fi/dom/chrome/security/caps.properties b/l10n-fi/dom/chrome/security/caps.properties
new file mode 100644
index 0000000000..c259db1502
--- /dev/null
+++ b/l10n-fi/dom/chrome/security/caps.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+CheckLoadURIError = Turvallisuusvirhe: Sisältö kohteessa %S ei voi ladata tai linkittää kohteeseen %S.
+CheckSameOriginError = Turvallisuusvirhe: Sisältö kohteessa %S ei voi ladata dataa kohteesta %S.
+ExternalDataError = Turvallisuusvirhe: Sisältö kohteessa %S yritti ladata kohdetta %S, mutta sen ei ole sallittua ladata ulkoista dataa kun sitä käytetään kuvana
+
+CreateWrapperDenied = Ei lupaa luoda pakettia luokan %S objektille
+CreateWrapperDeniedForOrigin = <%2$S>:lla ei ole lupaa luoda pakettia luokan %1$S objektille
diff --git a/l10n-fi/dom/chrome/security/csp.properties b/l10n-fi/dom/chrome/security/csp.properties
new file mode 100644
index 0000000000..924b6f304d
--- /dev/null
+++ b/l10n-fi/dom/chrome/security/csp.properties
@@ -0,0 +1,100 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# CSP Warnings:
+# LOCALIZATION NOTE (CSPViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPViolation = Sivuston asetukset estivät resurssin lataamisen: %1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = Sivuston asetukset estivät resurssin lataamisen osoitteesta %2$S ("%1$S").
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Tapahtui virhe CSP-raportointikäytännössä ("%1$S"). Käytös oli sallittua ja CSP-raportti lähetettiin.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Havaittiin resurssin lataaminen osoitteesta %2$S ("%1$S"). CSP-raportti lähetetään.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Yritettiin lähettää raportti virheelliseen osoitteeseen: "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = raportointiosoitteen jäsennys epäonnistui: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Tuntemattoman direktiivin '%1$S' suoritus ei onnistunut
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Ohitetaan tuntematon valinta %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Ohitetaan toistettu lähde %1$S
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Ohitetaan lähde '%1$S' (Ei tuettu meta-elementin kautta toimitettaessa).
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Ohitetaan lähde ”%1$S” (Tuetaan vain script-src:ssä).
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Avainsana ”strict-dynamic” ”%1$S”:ssä ilman kelvollista nonce- tai hash-arvoa voi estää kaikkia komentosarjoja latautumasta
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = Raportointiosoitteen (%1$S) pitäisi olla HTTP- tai HTTPS-osoite.
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Sivustolla (%1$S) on raportointikäytäntö ilman raportointiosoitetta. CSP ei estä eikä voi raportoida tämän käytännön rikkomisia.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Ei kyetty jäsentämään tuntematonta lähdettä %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Päivitetään turvatonta pyyntöä '%1$S' käyttämään '%2$S'
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Ohitetaan srcs direktiiville '%1$S'
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Tulkitaan %1$S palvelimen nimeksi, ei hakusanaksi. Jos halusit kirjoittaa hakusanan, kirjoita '%2$S' (heittomerkeillä ympyröitynä).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = Ei tueta direktiiviä '%1$S'. Direktiivi ja arvo ohitetaan.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Estetään turvaton pyyntö '%1$S'.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = Ohitetaan ’%1$S’, koska se ei sisällä yhtään parametria.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Ignoring sandbox directive when delivered in a report-only policy ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Ohitetaan ’%1$S’ direktiivin ’%2$S’ takia.
+
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = Ohitetaan lähde ”%1$S” (Ei tueta ”%2$S” sisällä).
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Ei voitu jäsentää virheellistä lähdettä %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Ei voitu jäsentää virheellistä palvelintietoa %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Ei voitu jäsentää porttitietoa osoitteessa %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Kopioita %1$S direktiivistä löydettiin. Vain ensimmäinen versio direktiivistä huomioidaan.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = Couldn’t parse invalid sandbox flag ‘%1$S’
+
diff --git a/l10n-fi/dom/chrome/security/security.properties b/l10n-fi/dom/chrome/security/security.properties
new file mode 100644
index 0000000000..a43249ec50
--- /dev/null
+++ b/l10n-fi/dom/chrome/security/security.properties
@@ -0,0 +1,153 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Mixed Content Blocker
+# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource
+BlockMixedDisplayContent = Estettiin osittain suojaamattoman, näytettävän sisällön lataus "%1$S"
+BlockMixedActiveContent = Estettiin osittain suojaamattoman, interaktiivisen sisällön lataus "%1$S"
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS disabled).
+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=Salasanakenttiä suojaamattomalla (http://) sivulla. Tämä on turvallisuusriski, jonka avulla käyttäjän kirjautumistiedot voidaan varastaa.
+InsecureFormActionPasswordsPresent=Salasanakenttiä lomakkeessa suojaamattoman (http://) lomaketoiminnon yhteydessä. Tämä on turvallisuusriski, jonka avulla käyttäjän kirjautumistiedot voidaan varastaa.
+InsecurePasswordsPresentOnIframe=Salasanakenttiä suojaamattomassa (http://) iframessa. Tämä on turvallisuusriski, jonka avulla käyttäjän kirjautumistiedot voidaan varastaa.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Ladataan osittain suojaamaton interaktiivista sisältöä "%1$S" suojatulla sivulla
+LoadingMixedDisplayContent2=Ladataan osittain suojaamatonta näytettävää sisältöä "%1$S" suojatulla sivulla
+LoadingMixedDisplayObjectSubrequestDeprecation=Loading mixed (insecure) content “%1$S” within a plugin on a secure page is discouraged and will be blocked soon.
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = Blocked downloading insecure content “%S”.
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=iframe-kehyksellä, jolle on asetettu sekä allow-scripts, että allow-same-origin sen sandbox-ominaisuuksiin voi poistaa hiekkalaatikkotilan käytöstä.
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=An iframe which has both allow-top-navigation and allow-top-navigation-by-user-activation for its sandbox attribute will permit top navigations.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=The script element has a malformed hash in its integrity attribute: "%1$S". The correct format is "<hash algorithm>-<hash value>".
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=The hash contained in the integrity attribute has the wrong length.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=The hash contained in the integrity attribute could not be decoded.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource="%1$S" is not eligible for integrity checks since it's neither CORS-enabled nor same-origin.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Unsupported hash algorithm in the integrity attribute: "%1$S"
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=The integrity attribute does not contain any valid metadata.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Tämä sivusto on suojattu RC4-salausavaimella, joka on vanhentunut ja turvaton.
+
+DeprecatedTLSVersion2=Tämä sivusto käyttää TLS:n käytöstä poistuvaa versiota. Päivitä TLS-versioon 1.2 tai 1.3.
+
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=The resource from “%1$S” was blocked due to MIME type (“%2$S”) mismatch (X-Content-Type-Options: nosniff).
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XCTOHeaderValueMissing=X-Content-Type-Options header warning: value was “%1$S”; did you mean to send “nosniff”?
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=The resource from “%1$S” was not rendered due to an unknown, incorrect or missing MIME type (X-Content-Type-Options: nosniff).
+
+BlockScriptWithWrongMimeType2=Script from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+WarnScriptWithWrongMimeType=The script from “%1$S” was loaded even though its MIME type (“%2$S”) is not a valid JavaScript MIME type.
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=Loading script from “%1$S” with importScripts() was blocked because of a disallowed MIME type (“%2$S”).
+BlockWorkerWithWrongMimeType=Loading Worker from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+BlockModuleWithWrongMimeType=Loading module from “%1$S” was blocked because of a disallowed MIME type (“%2$S”).
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Navigation to toplevel data: URI not allowed (Blocked loading of: “%1$S”)
+
+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 = Päivitetään suojaamaton pyyntö “%1$S” käyttämään skeemaa “%2$S”.
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = Ei päivitetä suojaamatonta pyyntöä “%1$S”, koska se on vapautettu.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = Suojaamattoman pyynnön “%1$S” päivittäminen epäonnistui. (%2$S)
+# LOCALIZATION NOTE: %S is the URL of the 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.
+
+# 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-fi/dom/chrome/svg/svg.properties b/l10n-fi/dom/chrome/svg/svg.properties
new file mode 100644
index 0000000000..fd5df60b06
--- /dev/null
+++ b/l10n-fi/dom/chrome/svg/svg.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+AttributeParseWarning=Odottamaton arvo %2$S jäsennettäessä attribuuttia %1$S.
diff --git a/l10n-fi/dom/chrome/xslt/xslt.properties b/l10n-fi/dom/chrome/xslt/xslt.properties
new file mode 100644
index 0000000000..010bbe13ef
--- /dev/null
+++ b/l10n-fi/dom/chrome/xslt/xslt.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+1 =XSLT-tyylitiedoston jäsennys epäonnistui.
+2 =XPath-lausekkeen jäsennys epäonnistui.
+3 =
+4 =XSLT-muunnos epäonnistui.
+5 =XSLT/XPath kutsui tuntematonta funktiota.
+6 =XSLT-tyylitiedosto sisältää (mahdollisesti) rekursion.
+7 =Attribuutin arvo ei ole sallittu XSLT 1.0:ssa.
+8 =XPath-lausekkeen odotettiin palauttavan solmujoukko.
+9 =<xsl:message> päätti XSLT-muunnoksen.
+10 =XSLT-tyylitiedostoa ladatessa tapahtui verkkovirhe:
+11 =XSLT-tyylitiedostolla ei ole XML MIME -tyyppiä:
+12 =XSLT-tyylitiedosto joko suoraan tai epäsuoraan tuo tai sisältää itsensä:
+13 =XPath-funktiota kutsuttiin väärällä lukumäärällä argumentteja.
+14 =Kutsuttiin tuntematonta XPath extension -funktiota.
+15 =XPath-jäsennysvirhe: odotettiin ")"-merkkiä:
+16 =XPath-jäsennysvirhe: virheellinen siirtymä (axis):
+17 =XPath-jäsennysvirhe: odotettiin kohteen nimeä tai solmutestiä:
+18 =XPath-jäsennysvirhe: odotettiin "]"-merkkiä:
+19 =XPath-jäsennysvirhe: virheellinen muuttujan nimi:
+20 =XPath-jäsennysvirhe: lauseke päättyi ennenaikaisesti:
+21 =XPath-jäsennysvirhe: odotettiin operaattoria:
+22 =XPath-jäsennysvirhe: sulkematon literaali:
+23 =XPath-jäsennysvirhe: odottamaton ":"-merkki:
+24 =XPath-jäsennysvirhe: odottamaton "!"-merkki, kielto-operaattori on not():
+25 =XPath-jäsennysvirhe: löydettiin kielletty merkki:
+26 =XPath-jäsennysvirhe: odotettiin kaksipaikkaista operaattoria:
+27 =XSLT-tyylitiedostoa ei ladattu turvallisuussyistä.
+28 =Suoritetaan virheellistä lauseketta.
+29 =Pariton aaltosulje.
+30 =Luodaan elementtiä virheellisellä QName:lla.
+31 =Muuttujan määrittely peittää toisen muuttujan määrittelyn samassa mallipohjassa.
+32 = Avainfunktion kutsu ei sallittu.
+
+LoadingError =Virhe ladattaessa tyylitiedostoa: %S
+TransformError =Virhe XSLT-muunnoksen aikana: %S
diff --git a/l10n-fi/dom/dom/XMLPrettyPrint.ftl b/l10n-fi/dom/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..befaf56e98
--- /dev/null
+++ b/l10n-fi/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 = Tämän XML-dokumentin mukana ei näytä olevan mitään tyyli- tai muotoilutietoa. Dokumentin hierarkia-puu on alla.
diff --git a/l10n-fi/dom/dom/media.ftl b/l10n-fi/dom/dom/media.ftl
new file mode 100644
index 0000000000..07c6d63aec
--- /dev/null
+++ b/l10n-fi/dom/dom/media.ftl
@@ -0,0 +1,6 @@
+# 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/.
+
+default-audio-output-device-label = Äänen oletusarvoinen ulostulolaite
+mediastatus-fallback-title = { -brand-short-name } toistaa mediaa
diff --git a/l10n-fi/mobile/android/chrome/browser.properties b/l10n-fi/mobile/android/chrome/browser.properties
new file mode 100644
index 0000000000..48455adb49
--- /dev/null
+++ b/l10n-fi/mobile/android/chrome/browser.properties
@@ -0,0 +1,44 @@
+# 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/.
+
+# Popup Blocker
+
+# In Extension.jsm
+
+
+# LOCALIZATION NOTE (password.logins): Label that will be used in
+ # Web Console API
+stacktrace.anonymousFunction=<anonymous>
+stacktrace.outputMessage=Stack trace from %S, function %S, line %S.
+timer.start=%S: timer started
+
+# LOCALIZATION NOTE (timer.end):
+# This string is used to display the result of the console.timeEnd() call.
+# %1$S=name of timer, %2$S=number of milliseconds
+timer.end=%1$S: %2$S ms
+
+# Site settings dialog
+
+# In ContextualIdentityService.jsm
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+# In android this will be only exposed by web extensions
+userContextPersonal.label = Omat
+userContextWork.label = Työ
+userContextBanking.label = Raha
+userContextShopping.label = Kaupat
+
diff --git a/l10n-fi/mobile/android/chrome/passwordmgr.properties b/l10n-fi/mobile/android/chrome/passwordmgr.properties
new file mode 100644
index 0000000000..b91dffeda6
--- /dev/null
+++ b/l10n-fi/mobile/android/chrome/passwordmgr.properties
@@ -0,0 +1,20 @@
+# 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/.
+
+# String will be replaced by brandShortName.
+saveLogin=Haluatko %Sin muistavan tämän kirjautumisen?
+rememberButton=Tallenna
+neverButton=Ei koskaan
+
+# String is the login's hostname
+updatePassword=Päivitä palvelimelle %S tallennettu salasana?
+updatePasswordNoUser=Päivitetäänkö kirjautumiselle tallennettu salasana?
+updateButton=Päivitä
+dontUpdateButton=Älä päivitä
+
+userSelectText2=Valitse päivitettävä käyttäjätunnus:
+passwordChangeTitle=Vahvista salasanan muuttaminen
+
+username=Käyttäjätunnus
+password=Salasana
diff --git a/l10n-fi/mobile/android/mobile/android/aboutConfig.ftl b/l10n-fi/mobile/android/mobile/android/aboutConfig.ftl
new file mode 100644
index 0000000000..bd8c13e091
--- /dev/null
+++ b/l10n-fi/mobile/android/mobile/android/aboutConfig.ftl
@@ -0,0 +1,28 @@
+# 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/.
+
+config-toolbar-search =
+ .placeholder = Hae
+config-new-pref-name =
+ .placeholder = Nimi
+
+config-new-pref-value-boolean = Totuusarvo
+config-new-pref-value-string = Merkkijono
+config-new-pref-value-integer = Kokonaisluku
+
+config-new-pref-string =
+ .placeholder = Kirjoita merkkijono
+config-new-pref-number =
+ .placeholder = Kirjoita numero
+config-new-pref-cancel-button = Peruuta
+config-new-pref-create-button = Lisää
+config-new-pref-change-button = Muokkaa
+
+config-pref-toggle-button = Ota tai poista käytöstä
+config-pref-reset-button = Palauta
+
+config-context-menu-copy-pref-name =
+ .label = Kopioi nimi
+config-context-menu-copy-pref-value =
+ .label = Kopioi arvo
diff --git a/l10n-fi/mobile/android/mobile/android/geckoViewConsole.ftl b/l10n-fi/mobile/android/mobile/android/geckoViewConsole.ftl
new file mode 100644
index 0000000000..5906747583
--- /dev/null
+++ b/l10n-fi/mobile/android/mobile/android/geckoViewConsole.ftl
@@ -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/.
+
+
+## Web Console API (in GeckoViewConsole.sys.mjs)
+
+console-stacktrace-anonymous-function = <anonymous>
+# Variables:
+# $filename (String): Source file name
+# $functionName (String): JavaScript function name
+# $lineNumber (String): The line number of the stacktrace call
+console-stacktrace = Stack trace from { $filename }, function { $functionName }, line { $lineNumber }.
+# Variables:
+# $name (String): user-defined name for the timer
+console-timer-start = { $name }: timer started
+# This string is used to display the result of the console.timeEnd() call.
+#
+# Variables:
+# $name (String): user-defined name for the timer
+# $duration (String): number of milliseconds
+console-timer-end = { $name }: { $duration } ms
diff --git a/l10n-fi/mobile/chrome/region.properties b/l10n-fi/mobile/chrome/region.properties
new file mode 100644
index 0000000000..b70fc9aa1a
--- /dev/null
+++ b/l10n-fi/mobile/chrome/region.properties
@@ -0,0 +1,51 @@
+# 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/.
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=3
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
+gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+gecko.handlerService.schemes.mailto.1.name=Gmail
+gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+
+# Order of suggested websites displayed in the Top Sites panel.
+# Values for these keys must correspond to the name used in the keys that
+# define each suggested website's details. For example:
+# browser.suggestedsites.list.0=NAME
+# browser.suggestedsites.NAME.title=Displayed name
+# browser.suggestedsites.NAME.url=Website URL
+# browser.suggestedsites.NAME.bgcolor= Color (hex format)
+#
+# Note that if you remove or add items to this set, you need to adjust
+# mobile/android/tests/browser/robocop/testDistribution.java
+# to reflect the new set of IDs reported as tiles data.
+
+browser.suggestedsites.list.0=facebook
+browser.suggestedsites.list.1=youtube
+browser.suggestedsites.list.2=twitch
+browser.suggestedsites.list.3=wikipedia
+browser.suggestedsites.list.4=twitter
+
+browser.suggestedsites.facebook.title=Facebook
+browser.suggestedsites.facebook.url=https://m.facebook.com/
+browser.suggestedsites.facebook.bgcolor=#3B5998
+
+browser.suggestedsites.youtube.title=YouTube
+browser.suggestedsites.youtube.url=https://m.youtube.com/
+browser.suggestedsites.youtube.bgcolor=#FFFFFF
+
+browser.suggestedsites.wikipedia.title=Wikipedia
+browser.suggestedsites.wikipedia.url=https://www.wikipedia.org/
+browser.suggestedsites.wikipedia.bgcolor=#000000
+
+browser.suggestedsites.twitter.title=Twitter
+browser.suggestedsites.twitter.url=https://mobile.twitter.com/
+browser.suggestedsites.twitter.bgcolor=#38A1F3
+
diff --git a/l10n-fi/netwerk/necko.properties b/l10n-fi/netwerk/necko.properties
new file mode 100644
index 0000000000..372942aa3f
--- /dev/null
+++ b/l10n-fi/netwerk/necko.properties
@@ -0,0 +1,91 @@
+# 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/.
+
+3=Selvitetään verkko-osoitetta %1$S…
+4=Yhteys muodostettu osoitteeseen %1$S…
+5=Lähetetään pyyntöä osoitteeseen %1$S…
+6=Siirretään dataa osoitteesta %1$S…
+7=Muodostetaan yhteyttä osoitteeseen %1$S…
+8=%1$S luettu
+9=%1$S kirjoitettu
+10=Odotetaan vastausta osoitteesta %1$S…
+11=Selvitettiin verkko-osoite %1$S…
+12=Suoritetaan TLS-kättelyä palvelimeen %1$S…
+13=TLS-kättely palvelimelle %1$S valmistui…
+
+RepostFormData=Tämä sivu ohjautuu uuteen osoitteeseen. Lähetetäänkö kirjoitetut lomaketiedot uuteen osoitteeseen?
+
+# Directory listing strings
+DirTitle=Kansion %1$S sisältö
+DirGoUp=Siirry ylöspäin puussa
+ShowHidden=Näytä piilotetut kohteet
+DirColName=Nimi
+DirColSize=Koko
+DirColMTime=Muokattu
+DirFileLabel=Tiedosto:
+
+SuperfluousAuth=Kirjaudutaan käyttäjätunnuksella %2$S sivustolle %1$S, joka ei vaadi tunnistautumista. Tämä saattaa olla huijausyritys.\n\nJatketaanko sivustolle %1$S?
+AutomaticAuth=Kirjaudutaan käyttäjätunnuksella %2$S palvelimelle %1$S.
+
+TrackerUriBlocked=Resurssi osoitteessa ”%1$S” estettiin, koska sisällön esto on käytössä.
+UnsafeUriBlocked=Resurssin osoitteessa ”%1$S” esti Safe Browsing -toiminto.
+# LOCALIZATION NOTE (CORPBlocked): %1$S is the URL of the blocked resource. %2$S is the URL of the MDN page about CORP.
+CORPBlocked=Resurssi osoitteessa ”%1$S” estettiin sen Cross-Origin-Resource-Policy-otsakkeen sisällön tai kyseisen otsakkeen puutteen vuoksi. Katso lisätietoja %2$S
+CookieBlockedByPermission=Evästeiden tai tallennustilan käyttöpyyntö osoitteessa ”%1$S” estettiin muokattujen evästeasetusten takia.
+CookieBlockedTracker=Evästeen tai tallennustilan käyttöpyyntö osoitteessa ”%1$S” estettiin, koska se tuli seuraimelta ja sisällön esto on käytössä.
+CookieBlockedAll=Evästeen tai tallennustilan käyttöpyyntö osoitteessa ”%1$S” estettiin, koska kaikki tallennustilan käyttöpyynnöt on estetty.
+CookieBlockedForeign=Evästeen tai tallennustilan käyttöpyyntö osoitteessa ”%1$S” estettiin, koska kaikki tallennustilan käyttöpyynnöt on estetty kolmansilta osapuolilta ja sisällön esto on käytössä.
+# As part of dynamic state partitioning, third-party resources might be limited to "partitioned" storage access that is separate from the first-party context.
+# This allows e.g. cookies to still be set, and prevents tracking without totally blocking storage access. This message is shown in the web console when this happens
+# to inform developers that their storage is isolated.
+CookiePartitionedForeign2=Partitioned cookie or storage access was provided to “%1$S” because it is loaded in the third-party context and dynamic state partitioning is enabled.
+
+# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs.
+CookieAllowedForOriginByStorageAccessAPI=Tallennustilan käyttöoikeus myönnettiin lähteelle ”%2$S” osoitteesta ”%1$S”.
+# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForOriginByHeuristic=Tallennustilan käyttöoikeus myönnettiin automaattisesti lähteelle ”%2$S” osoitteesta ”%1$S”.
+# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForFpiByHeuristic=Storage access automatically granted for First-Party isolation “%2$S” on “%1$S”.
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecure2=Cookie “%1$S” rejected because it has the “SameSite=None” attribute but is missing the “secure” attribute.
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta3): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecureForBeta3=Eväste “%1$S” hylätään pian, koska siinä on “SameSite”-attribuutin arvoksi asetettu “None” ilman “secure”-attribuuttia. Saadaksesi lisätietoja “SameSite“-attribuutista, lue %2$S
+# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax".
+CookieLaxForced2=Cookie “%1$S” has “SameSite” policy set to “Lax” because it is missing a “SameSite” attribute, and “SameSite=Lax” is the default value for this attribute.
+# LOCALIZATION NOTE(CookieLaxForcedForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "Lax" and "SameSite=Lax", "SameSite=None".
+CookieLaxForcedForBeta2=Cookie “%1$S” does not have a proper “SameSite” attribute value. Soon, cookies without the “SameSite” attribute or with an invalid value will be treated as “Lax”. This means that the cookie will no longer be sent in third-party contexts. If your application depends on this cookie being available in such contexts, please add the “SameSite=None“ attribute to it. To know more about the “SameSite“ attribute, read %2$S
+# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None"
+CookieSameSiteValueInvalid2=Virheellinen “SameSite“-arvo evästeelle “%1$S”. Tuetut arvot ovat: “Lax“, “Strict“, “None“.
+# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookieOversize=Eväste “%1$S” on virheellinen, koska sen koko on liian suuri. Enimmäiskoko on %2$S tavua.
+# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookiePathOversize=Eväste “%1$S” on virheellinen, koska sen polun koko on liian suuri. Enimmäiskoko on %2$S tavua.
+# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
+CookieRejectedByPermissionManager=Eväste “%1$S” on hylätty käyttäjän asettamien oikeuksien toimesta.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
+CookieRejectedInvalidCharName=Evästeä “%1$S” on hylätty, koska sen nimessä on virheellisiä merkkejä.
+# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
+CookieRejectedInvalidDomain=Cookie “%1$S” has been rejected for invalid domain.
+# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
+CookieRejectedInvalidPrefix=Cookie “%1$S” has been rejected for invalid prefix.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name.
+CookieRejectedInvalidCharValue=Cookie “%1$S” has been rejected for invalid characters in the value.
+# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name.
+CookieRejectedHttpOnlyButFromScript=Cookie “%1$S” has been rejected because there is already an HTTP-Only cookie but script tried to store a new one.
+# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name.
+CookieRejectedSecureButNonHttps=Cookie “%1$S” has been rejected because a non-HTTPS cookie can’t be set as “secure”.
+# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header.
+CookieRejectedThirdParty=Eväste “%1$S” on hylätty, koska se on kolmannen osapuolen.
+# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name.
+CookieRejectedNonsecureOverSecure=Eväste “%1$S” on hylätty, koska olemassa on jo “secure”-eväste.
+# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name.
+CookieRejectedForNonSameSiteness=Cookie “%1$S” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”.
+
+# LOCALIZATION NOTE (CookieBlockedCrossSiteRedirect): %1$S is the cookie name. Do not translate "SameSite", "Lax" or "Strict".
+CookieBlockedCrossSiteRedirect=Eväste “%1$S” “SameSite”-ominaisuuden arvolla “Lax” tai “Strict” jätettiin pois sivustorajat ylittävän uudelleenohjauksen vuoksi.
+
+# LOCALIZATION NOTE (APIDeprecationWarning): %1$S is the deprecated API; %2$S is the API function that should be used.
+APIDeprecationWarning=Varoitus: ‘%1$S’ on vanhennettu, käytä ‘%2$S’
+
diff --git a/l10n-fi/security/manager/chrome/pipnss/nsserrors.properties b/l10n-fi/security/manager/chrome/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..e03fb94c43
--- /dev/null
+++ b/l10n-fi/security/manager/chrome/pipnss/nsserrors.properties
@@ -0,0 +1,331 @@
+# 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/.
+
+SSL_ERROR_EXPORT_ONLY_SERVER=Ei voida kommunikoida suojatusti. Toinen osapuoli ei tue korkeatasoista salausta.
+SSL_ERROR_US_ONLY_SERVER=Ei voida kommunikoida suojatusti. Toinen osapuoli vaatii korkeatasoista salaustyyppiä, jota ei tueta.
+SSL_ERROR_NO_CYPHER_OVERLAP=Ei voida kommunikoida suojatusti: ei yhteisiä salausalgoritmeja toisen osapuolen kanssa.
+SSL_ERROR_NO_CERTIFICATE=Todennukseen tarvittavaa varmennetta tai avainta ei löydetty.
+SSL_ERROR_BAD_CERTIFICATE=Ei voida kommunikoida suojatusti: toisen osapuolen varmenne hylättiin.
+SSL_ERROR_BAD_CLIENT=Palvelin sai virheellistä dataa asiakkaalta.
+SSL_ERROR_BAD_SERVER=Asiakas sai virheellistä dataa palvelimelta.
+SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=Varmennetyyppi, jota ei tueta.
+SSL_ERROR_UNSUPPORTED_VERSION=Toinen osapuoli käyttää turvallisuuskäytännön versiota, jota ei tueta.
+SSL_ERROR_WRONG_CERTIFICATE=Asiakkaan todennus epäonnistui: tietokannassa oleva yksityinen avain ei sovi varmennetietokannan julkiseen avaimeen.
+SSL_ERROR_BAD_CERT_DOMAIN=Ei voida kommunikoida suojatusti: pyydetyn verkkoalueen nimi ei vastaa palvelimen varmennetta.
+SSL_ERROR_POST_WARNING=Tunnistamaton SSL-virhekoodi.
+SSL_ERROR_SSL2_DISABLED=Toinen osapuoli tukee vain SSL versio 2:a, jonka käyttö on paikallisesti estetty.
+SSL_ERROR_BAD_MAC_READ=SSL vastaanotti paketin, jolla oli väärä viestin todennuskoodi (MAC).
+SSL_ERROR_BAD_MAC_ALERT=SSL-yhteyden toinen osapuoli ilmoittaa väärästä viestin todennuskoodista (MAC).
+SSL_ERROR_BAD_CERT_ALERT=SSL-yhteyden toinen osapuoli ei voi tarkistaa varmennettasi.
+SSL_ERROR_REVOKED_CERT_ALERT=SSL-yhteyden toinen osapuoli hylkäsi varmenteesi mitätöitynä.
+SSL_ERROR_EXPIRED_CERT_ALERT=SSL-yhteyden toinen osapuoli hylkäsi varmenteesi vanhentuneena.
+SSL_ERROR_SSL_DISABLED=Ei voida muodostaa yhteyttä: SSL on otettu pois käytöstä.
+SSL_ERROR_FORTEZZA_PQG=Ei voida muodostaa yhteyttä: SSL-yhteyden toinen osapuoli kuuluu eri FORTEZZA-alueeseen.
+SSL_ERROR_UNKNOWN_CIPHER_SUITE=Pyydettiin tuntematonta SSL-salaajaa.
+SSL_ERROR_NO_CIPHERS_SUPPORTED=Yhtäkään salaajaa ei ole olemassa ja käytössä tässä ohjelmassa.
+SSL_ERROR_BAD_BLOCK_PADDING=SSL vastaanotti virheellisesti täytetyn paketin.
+SSL_ERROR_RX_RECORD_TOO_LONG=SSL vastaanotti suurimman sallitun pituuden ylittävän paketin.
+SSL_ERROR_TX_RECORD_TOO_LONG=SSL yritti lähettää pakettia, joka ylitti suurimman sallitun pituuden.
+SSL_ERROR_RX_MALFORMED_HELLO_REQUEST=SSL vastaanotti virheellisesti muotoillun Hello-kättelyviestin.
+SSL_ERROR_RX_MALFORMED_CLIENT_HELLO=SSL vastaanotti virheellisesti muotoillun Client Hello -kättelyviestin.
+SSL_ERROR_RX_MALFORMED_SERVER_HELLO=SSL vastaanotti virheellisesti muotoillun Server Hello -kättelyviestin.
+SSL_ERROR_RX_MALFORMED_CERTIFICATE=SSL vastaanotti virheellisesti muotoillun Certificate-kättelyviestin.
+SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH=SSL vastaanotti virheellisesti muotoillun Server Key Exchange -kättelyviestin.
+SSL_ERROR_RX_MALFORMED_CERT_REQUEST=SSL vastaanotti virheellisesti muotoillun Certificate Request -kättelyviestin.
+SSL_ERROR_RX_MALFORMED_HELLO_DONE=SSL vastaanotti virheellisesti muotoillun Server Hello Done -kättelyviestin.
+SSL_ERROR_RX_MALFORMED_CERT_VERIFY=SSL vastaanotti virheellisesti muotoillun Certificate Verify -kättelyviestin.
+SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH=SSL vastaanotti virheellisesti muotoillun Client Key Exchange -kättelyviestin.
+SSL_ERROR_RX_MALFORMED_FINISHED=SSL vastaanotti virheellisesti muotoillun Finished-kättelyviestin.
+SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER=SSL vastaanotti virheellisesti muotoillun Change Cipher Spec -paketin.
+SSL_ERROR_RX_MALFORMED_ALERT=SSL vastaanotti virheellisesti muotoillun Alert-paketin.
+SSL_ERROR_RX_MALFORMED_HANDSHAKE=SSL vastaanotti virheellisesti muotoillun Handshake-paketin.
+SSL_ERROR_RX_MALFORMED_APPLICATION_DATA=SSL vastaanotti virheellisesti muotoillun Application Data -paketin.
+SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST=SSL vastaanotti odottamattoman Hello Request -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO=SSL vastaanotti odottamattoman Client Hello -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO=SSL vastaanotti odottamattoman Server Hello -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_CERTIFICATE=SSL vastaanotti odottamattoman Certificate-kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH=SSL vastaanotti odottamattoman Server Key Exchange -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST=SSL vastaanotti odottamattoman Certificate Request -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_HELLO_DONE=SSL vastaanotti odottamattoman Server Hello Done -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY=SSL vastaanotti odottamattoman Certificate Verify -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH=SSL vastaanotti odottamattoman Client Key Exchange -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_FINISHED=SSL vastaanotti odottamattoman Finished-kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER=SSL vastaanotti odottamattoman Change Cipher Spec -paketin.
+SSL_ERROR_RX_UNEXPECTED_ALERT=SSL vastaanotti odottamattoman Alert-paketin.
+SSL_ERROR_RX_UNEXPECTED_HANDSHAKE=SSL vastaanotti odottamattoman Handshake-paketin.
+SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA=SSL vastaanotti odottamattoman Application Data -paketin.
+SSL_ERROR_RX_UNKNOWN_RECORD_TYPE=SSL vastaanotti paketin, jonka sisältötyyppi on tuntematon.
+SSL_ERROR_RX_UNKNOWN_HANDSHAKE=SSL vastaanotti kättelyviestin, jonka viestityyppi on tuntematon.
+SSL_ERROR_RX_UNKNOWN_ALERT=SSL vastaanotti alert-paketin, jonka hälytyskuvausta ei tunnistettu.
+SSL_ERROR_CLOSE_NOTIFY_ALERT=SSL-yhteyden toinen osapuoli päätti yhteyden.
+SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT=SSL-yhteyden toinen osapuoli ei odottanut vastaanottamaansa kättelyviestiä.
+SSL_ERROR_DECOMPRESSION_FAILURE_ALERT=SSL-yhteyden toinen osapuoli ei onnistunut purkamaan vastaanottamaansa SSL-pakettia.
+SSL_ERROR_HANDSHAKE_FAILURE_ALERT=SSL-yhteyden toinen osapuoli ei onnistunut neuvottelemaan hyväksyttäviä turvallisuusparametrejä.
+SSL_ERROR_ILLEGAL_PARAMETER_ALERT=SSL-yhteyden toinen osapuoli hylkäsi kättelyviestin sen sisällön vuoksi.
+SSL_ERROR_UNSUPPORTED_CERT_ALERT=SSL-yhteyden toinen osapuoli ei tue vastaanottamansa varmenteen tyyppisiä varmenteita.
+SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=SSL-yhteyden toisella osapuolella oli jokin määrittelemätön ongelma vastaanottamansa varmenteen kanssa.
+SSL_ERROR_GENERATE_RANDOM_FAILURE=SSL:n satunnaislukugeneraattorissa tapahtui virhe.
+SSL_ERROR_SIGN_HASHES_FAILURE=Varmenteesi kelpuuttamiseen tarvittavan datan digitaalinen allekirjoitus ei onnistunut.
+SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=SSL ei kyennyt hakemaan toisen osapuolen julkista avainta sen varmenteesta.
+SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=Määrittelemätön virhe käsiteltäessä SSL:n Server Key Exchange -kättelyä.
+SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=Määrittelemätön virhe käsiteltäessä SSL:n Client Key Exchange -kättelyä.
+SSL_ERROR_ENCRYPTION_FAILURE=Valitun salaajan datan salausalgoritmi kohtasi virheen.
+SSL_ERROR_DECRYPTION_FAILURE=Valitun salaajan datan salausalgoritmi kohtasi virheen.
+SSL_ERROR_SOCKET_WRITE_FAILURE=Yritys kirjoittaa salattua dataa edeltävään pistokkeeseen epäonnistui.
+SSL_ERROR_MD5_DIGEST_FAILURE=MD5 tiivistefunktio epäonnistui.
+SSL_ERROR_SHA_DIGEST_FAILURE=SHA-1 tiivistefunktio epäonnistui.
+SSL_ERROR_MAC_COMPUTATION_FAILURE=MAC:n laskenta epäonnistui.
+SSL_ERROR_SYM_KEY_CONTEXT_FAILURE=Symmetrisen avaimen kontekstin luonti epäonnistui.
+SSL_ERROR_SYM_KEY_UNWRAP_FAILURE=Symmetrisen avaimen purku Client Key Exchange -viestistä epäonnistui.
+SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED=SSL-palvelin yritti käyttää kotimaisen vahvuuden julkista avainta vientivahvuuden salaajan kanssa.
+SSL_ERROR_IV_PARAM_FAILURE=PKCS11-koodi ei onnistunut muuttamaan IV:sta param:ksi.
+SSL_ERROR_INIT_CIPHER_SUITE_FAILURE=Valitun salaajan alustus epäonnistui.
+SSL_ERROR_SESSION_KEY_GEN_FAILURE=Asiakas ei onnistunut luomaan istuntoavaimia SSL-istunnolle.
+SSL_ERROR_NO_SERVER_KEY_FOR_ALG=Palvelimella ei ole avainta yritetylle avaimenvaihtoalgoritmille.
+SSL_ERROR_TOKEN_INSERTION_REMOVAL=PKCS#11-poletti lisättiin tai poistettiin kesken toiminnon.
+SSL_ERROR_TOKEN_SLOT_NOT_FOUND=PKCS#11-polettia tarvittavan toiminnon tekemiseen ei löytynyt.
+SSL_ERROR_NO_COMPRESSION_OVERLAP=Ei voida kommunikoida suojatusti: ei yhteisiä pakkausalgoritmeja.
+SSL_ERROR_HANDSHAKE_NOT_COMPLETED=Ei voida aloittaa uutta SSL-kättelyä ennen kuin meneillään oleva kättely on suoritettu.
+SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=Vastaanotettiin toiselta osapuolelta virheelliset kättelyjen tiivisteluvut.
+SSL_ERROR_CERT_KEA_MISMATCH=Annettua varmennetta ei voida käyttää valitun avaimenvaihtoalgoritmin kanssa.
+SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=Yksikään varmentaja ei ole luotettu SSL-asiakkaan todentaja.
+SSL_ERROR_SESSION_NOT_FOUND=Asiakkaan SSL-istunnon tunnusta ei löytynyt palvelimen istuntovälimuistista.
+SSL_ERROR_DECRYPTION_FAILED_ALERT=Toinen osapuoli ei onnistunut purkamaan SSL-pakettia, jonka se vastaanotti.
+SSL_ERROR_RECORD_OVERFLOW_ALERT=Toinen osapuoli vastaanotti SSL-paketin, joka oli sallittua pidempi.
+SSL_ERROR_UNKNOWN_CA_ALERT=Toinen osapuoli ei tunnista ja luota varmenteesi varmentajaan.
+SSL_ERROR_ACCESS_DENIED_ALERT=Toinen osapuoli vastaanotti kelvollisen varmenteen, mutta pääsy estettiin.
+SSL_ERROR_DECODE_ERROR_ALERT=Toinen osapuoli ei pystynyt purkamaan SSL-kättelyviestiä.
+SSL_ERROR_DECRYPT_ERROR_ALERT=Toinen osapuoli ilmoitti allekirjoituksen todennuksen tai avainvaihdon epäonnistuneen.
+SSL_ERROR_EXPORT_RESTRICTION_ALERT=Toinen osapuoli ilmoitti neuvottelun rikkovan vientisääntöjä.
+SSL_ERROR_PROTOCOL_VERSION_ALERT=Toinen osapuoli ilmoitti yhteyskäytäntöversion olevan epäyhteensopiva tai ei tuettu.
+SSL_ERROR_INSUFFICIENT_SECURITY_ALERT=Palvelin vaatii vahvempia salauksia kuin asiakkaan tukemat algoritmit.
+SSL_ERROR_INTERNAL_ERROR_ALERT=Toinen osapuoli ilmoitti kohdanneensa sisäisen virheen.
+SSL_ERROR_USER_CANCELED_ALERT=Toinen osapuoli peruutti kättelyn.
+SSL_ERROR_NO_RENEGOTIATION_ALERT=Toinen osapuoli ei salli SSL-turvaparametrien uudelleenneuvottelua.
+SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED=SSL-palvelinvälimuistia ei ole asetettu, eikä otettu pois käytöstä tälle pistokkeelle.
+SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT=SSL-osapuoli ei tue pyydettyä TLS hello-tarkenninta.
+SSL_ERROR_CERTIFICATE_UNOBTAINABLE_ALERT=SSL-osapuoli ei saanut varmennettasi annetusta osoitteesta.
+SSL_ERROR_UNRECOGNIZED_NAME_ALERT=SSL-osapuolella ei ole varmennetta pyydetylle DNS-nimelle.
+SSL_ERROR_BAD_CERT_STATUS_RESPONSE_ALERT=SSL-osapuolella ei saanut OCSP-vastausta varmenteelleen.
+SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT=SSL-osapuoli ilmoitti varmenteen tiivistearvon olevan virheellinen.
+SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET=SSL vastaanotti odottamattoman New Session Ticket -kättelyviestin.
+SSL_ERROR_RX_MALFORMED_NEW_SESSION_TICKET=SSL vastaanotti virheellisesti muotoillun New Session Ticket -kättelyviestin.
+SSL_ERROR_DECOMPRESSION_FAILURE=SSL vastaanotti tiivistetyn paketin, jota ei onnistuttu purkamaan.
+SSL_ERROR_RENEGOTIATION_NOT_ALLOWED=Uudelleenneuvottelu ei ole sallittu tässä SSL-pistokkeessa.
+SSL_ERROR_UNSAFE_NEGOTIATION=Toinen osapuoli yritti kätellä vanhanaikaisesti (mahdollisesti tietoturvariski).
+SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD=SSL vastaanotti odottamattoman tiivistetyn paketin.
+SSL_ERROR_WEAK_SERVER_EPHEMERAL_DH_KEY=SSL-vastaanotti heikon ephemeral Diffie-Hellman -avaimen palvelimen avaimensiirron kättelyviestissä.
+SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID=SSL-vastaanotti virheellisen NPN-laajennustiedon.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2=SSL-ominaisuutta ei tueta SSL 2.0 -yhteyksille.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SERVERS=SSL-ominaisuutta ei tueta palvelimelle.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_CLIENTS=SSL-ominaisuutta ei tueta asiakkaille.
+SSL_ERROR_INVALID_VERSION_RANGE=SSL-versiorajaus ei ole kelvollinen.
+SSL_ERROR_CIPHER_DISALLOWED_FOR_VERSION=SSL-osapuoli valitsi salakirjoitusperheen, joka ei ole sallittu yhteyskäytännön valitulla versiolla.
+SSL_ERROR_RX_MALFORMED_HELLO_VERIFY_REQUEST=SSL vastaanotti virheellisesti muotoillut "Hello Verify Request" -kättelyviestin.
+SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST=SSL vastaanotti odottamattoman "Hello Verify Request" -kättelyviestin.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION=SSL ominaisuutta ei tueta yhteyskäytännön valitulla versiolla.
+SSL_ERROR_RX_UNEXPECTED_CERT_STATUS=SSL vastaanotti odottamattoman "Certificate Status" -kättelyviestin.
+SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM=TLS-osapuoli käytti ei-tuettua tiivistealgoritmia.
+SSL_ERROR_DIGEST_FAILURE=Yhteenvetofunktio ei toiminut.
+SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM=Käytetty virheellistä allekirjoitusalgoritmia sähköisesti allekirjoitetussa elementissä.
+SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK=Seuraavan yhteyskäytännön kättelylaajennus otettiin käyttöön, mutta kutsu peruttiin ennen kuin laajennusta käytettiin.
+SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL=Palvelin ei tue yhtäkään yhteyskäytäntöä, jota asiakas tukee ALPN-laajennuksessa.
+SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT=Palvelin hylkäsi kättelyn, koska asiakas siirtyi heikompaan TLS-salaukseen kuin palvelin tukee.
+SSL_ERROR_WEAK_SERVER_CERT_KEY=Palvelinvarmenne sisälsi julkisen avaimen, joka oli liian heikko.
+SSL_ERROR_RX_SHORT_DTLS_READ=DTLS-tietueelle ei ole riittävästi tilaa puskurissa.
+SSL_ERROR_NO_SUPPORTED_SIGNATURE_ALGORITHM=Mitään tuettua TLS-allekirjoitusalgoritmia ei ollut määritetty.
+SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM=Osapuoli käytti ei-tuettua allekirjoitus- ja tiivistealgoritmin yhdistelmää.
+SSL_ERROR_MISSING_EXTENDED_MASTER_SECRET=Osapuoli yritti jatkaa ilman oikeaa extended_master_secret-laajennusta.
+SSL_ERROR_UNEXPECTED_EXTENDED_MASTER_SECRET=Osapuoli yritti jatkaa odottamattoman extended_master_secret-laajennuksen kanssa.
+SEC_ERROR_IO=Tietoturvatodennuksen aikana tapahtui I/O-virhe.
+SEC_ERROR_LIBRARY_FAILURE=tietoturvakirjaston virhe.
+SEC_ERROR_BAD_DATA=tietoturvakirjasto: vastaanotettiin virheellistä dataa.
+SEC_ERROR_OUTPUT_LEN=tietoturvakirjasto: tulosteen pituuden virhe.
+SEC_ERROR_INPUT_LEN=tietoturvakirjastolle tapahtui syötepituusvirhe.
+SEC_ERROR_INVALID_ARGS=tietoturvakirjasto: virheellinen valinta.
+SEC_ERROR_INVALID_ALGORITHM=tietoturvakirjasto: virheellinen algoritmi.
+SEC_ERROR_INVALID_AVA=tietoturvakirjasto: virheellinen AVA.
+SEC_ERROR_INVALID_TIME=Virheellisesti muotoiltu aikamerkkijono.
+SEC_ERROR_BAD_DER=tietoturvakirjasto: virheellisesti muotoiltu DER-salattu viesti.
+SEC_ERROR_BAD_SIGNATURE=Toisen osapuolen varmenteen allekirjoitus ei ole kelvollinen.
+SEC_ERROR_EXPIRED_CERTIFICATE=Toisen osapuolen varmenne on vanhentunut.
+SEC_ERROR_REVOKED_CERTIFICATE=Toisen osapuolen varmenne on mitätöity.
+SEC_ERROR_UNKNOWN_ISSUER=Toisen osapuolen varmenteen myöntäjää ei tunnistettu.
+SEC_ERROR_BAD_KEY=Toisen osapuolen julkinen avain on virheellinen.
+SEC_ERROR_BAD_PASSWORD=Annettu tietoturvasalasana on väärä.
+SEC_ERROR_RETRY_PASSWORD=Uusi salasana annettu virheellisesti. Yritä uudestaan.
+SEC_ERROR_NO_NODELOCK=tietoturvakirjasto: ei solmulukkoa.
+SEC_ERROR_BAD_DATABASE=tietoturvakirjasto: virheellinen tietokanta.
+SEC_ERROR_NO_MEMORY=tietoturvakirjasto: muistin osoitus epäonnistui.
+SEC_ERROR_UNTRUSTED_ISSUER=Käyttäjä on merkinnyt toisen osapuolen varmenteen myöntäjän ei luotetuksi.
+SEC_ERROR_UNTRUSTED_CERT=Käyttäjä on merkinnyt toisen osapuolen varmenteen ei luotetuksi.
+SEC_ERROR_DUPLICATE_CERT=Varmenne on jo tietokannassa.
+SEC_ERROR_DUPLICATE_CERT_NAME=Ladatun varmenteen nimi on sama kuin jo tietokannassa olevan varmenteen.
+SEC_ERROR_ADDING_CERT=Virhe lisättäessä varmennetta tietokantaan.
+SEC_ERROR_FILING_KEY=Virhe arkistoitaessa uudelleen tämän varmenteen avainta.
+SEC_ERROR_NO_KEY=Tämän varmenteen salaista avainta ei löydy avaintietokannasta
+SEC_ERROR_CERT_VALID=Varmenne on kelvollinen.
+SEC_ERROR_CERT_NOT_VALID=Varmenne ei ole kelvollinen.
+SEC_ERROR_CERT_NO_RESPONSE=Varmennekirjasto: ei vastausta
+SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=Varmenteen myöntäjän varmenne on vanhentunut. Tarkista järjestelmän kellonaika ja päivämäärä.
+SEC_ERROR_CRL_EXPIRED=Varmenteen myöntäjän sulkulista on vanhentunut. Päivitä sulkulista tai tarkista järjestelmän kellonaika ja päivämäärä.
+SEC_ERROR_CRL_BAD_SIGNATURE=Varmenteen myöntäjä sulkulistan allekirjoitus on virheellinen.
+SEC_ERROR_CRL_INVALID=Uusi sulkulista on virheellisesti muotoiltu.
+SEC_ERROR_EXTENSION_VALUE_INVALID=Varmenteen tarkenteen arvo on virheellinen.
+SEC_ERROR_EXTENSION_NOT_FOUND=Varmenteen tarkennetta ei löytynyt.
+SEC_ERROR_CA_CERT_INVALID=Myöntäjän varmenne on virheellinen.
+SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID=Varmenteen polunpituusrajoitus on virheellinen.
+SEC_ERROR_CERT_USAGES_INVALID=Varmenteen käyttökentät ovat virheellisiä.
+SEC_INTERNAL_ONLY=**Ainoastaan sisäinen moduuli**
+SEC_ERROR_INVALID_KEY=Avain ei tue pyydettyä toimintoa.
+SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION=Varmenne sisältää tuntemattoman, kriittisen tarkentimen.
+SEC_ERROR_OLD_CRL=Uusi sulkulista ei ole nykyistä myöhäisempi.
+SEC_ERROR_NO_EMAIL_CERT=Ei salattu tai allekirjoitettu: sinulla ei vielä ole sähköpostivarmennetta.
+SEC_ERROR_NO_RECIPIENT_CERTS_QUERY=Ei salattu: sinulla ei ole jokaisen vastaanottajan varmennetta.
+SEC_ERROR_NOT_A_RECIPIENT=Ei voida purkaa: et ole vastaanottaja, tai vastaavaa varmennetta tai salaista avainta ei löytynyt.
+SEC_ERROR_PKCS7_KEYALG_MISMATCH=Ei voida purkaa: avaimen salausalgoritmi ei vastaa varmennettasi.
+SEC_ERROR_PKCS7_BAD_SIGNATURE=Allekirjoituksen todennus epäonnistui: allekirjoittajaa ei löytynyt, allekirjoittajia löytyi liian monta, tai data oli virheellistä tai vioittunutta.
+SEC_ERROR_UNSUPPORTED_KEYALG=Ei tuettu tai tuntematon avainalgoritmi.
+SEC_ERROR_DECRYPTION_DISALLOWED=Ei voida purkaa: salaus on tehty kielletyllä algoritmilla tai avainkoolla.
+XP_SEC_FORTEZZA_BAD_CARD=Fortezza-korttia ei ole asianmukaisesti alustettu. Poista kortti ja palauta se sen myöntäjälle.
+XP_SEC_FORTEZZA_NO_CARD=Fortezza-kortteja ei löytynyt
+XP_SEC_FORTEZZA_NONE_SELECTED=Fortezza-korttia ei ole valittu
+XP_SEC_FORTEZZA_MORE_INFO=Valitse henkilöllisyys, josta näytetään lisätietoja
+XP_SEC_FORTEZZA_PERSON_NOT_FOUND=Henkilöllisyyttä ei löytynyt
+XP_SEC_FORTEZZA_NO_MORE_INFO=Ei lisätietoja valitusta henkilöllisyydestä
+XP_SEC_FORTEZZA_BAD_PIN=Virheellinen pin-koodi
+XP_SEC_FORTEZZA_PERSON_ERROR=Ei voitu alustaa Fortezza-henkilöllisyyksiä.
+SEC_ERROR_NO_KRL=Sivuston varmenteelle ei löytynyt KRL:ää.
+SEC_ERROR_KRL_EXPIRED=Sivuston varmenteen KRL on vanhentunut.
+SEC_ERROR_KRL_BAD_SIGNATURE=Sivuston varmenteen KRL:n allekirjoitus on virheellinen.
+SEC_ERROR_REVOKED_KEY=Sivuston varmenteen avain on mitätöity.
+SEC_ERROR_KRL_INVALID=Uusi KRL on virheellisesti muotoiltu.
+SEC_ERROR_NEED_RANDOM=tietoturvakirjasto: tarvitaan satunnaisdataa.
+SEC_ERROR_NO_MODULE=tietoturvakirjasto: yksikään tietoturvamoduuli ei voi suorittaa pyydettyä toimintoa.
+SEC_ERROR_NO_TOKEN=Tietoturvakorttia tai -polettia ei ole olemassa, täytyy alustaa tai on poistettu.
+SEC_ERROR_READ_ONLY=tietoturvakirjasto: tietokanta, johon on vain lukuoikeus.
+SEC_ERROR_NO_SLOT_SELECTED=Yhtäkään paikkaa tai polettia ei ole valittu.
+SEC_ERROR_CERT_NICKNAME_COLLISION=Varmenne, jolla on sama kutsumanimi on jo olemassa.
+SEC_ERROR_KEY_NICKNAME_COLLISION=Avain, jolla on sama kutsumanimi on jo olemassa.
+SEC_ERROR_SAFE_NOT_CREATED=virhe luotaessa turvallista oliota
+SEC_ERROR_BAGGAGE_NOT_CREATED=virhe luotaessa laukkuoliota
+XP_JAVA_REMOVE_PRINCIPAL_ERROR=Ei voitu poistaa päämiestä
+XP_JAVA_DELETE_PRIVILEGE_ERROR=Ei voitu poistaa oikeutta
+XP_JAVA_CERT_NOT_EXISTS_ERROR=Tällä päämiehellä ei ole varmennetta
+SEC_ERROR_BAD_EXPORT_ALGORITHM=Vaadittu algoritmi ei ole sallittu.
+SEC_ERROR_EXPORTING_CERTIFICATES=Virhe yritettäessä viedä varmenteita.
+SEC_ERROR_IMPORTING_CERTIFICATES=Virhe yritettäessä tuoda varmenteita.
+SEC_ERROR_PKCS12_DECODING_PFX=Ei voida tuoda. Salauksen purkuvirhe. Tiedosto ei kelvollinen.
+SEC_ERROR_PKCS12_INVALID_MAC=Ei voida tuoda. Virheellinen MAC. Virheellinen salasana tai vioittunut tiedosto.
+SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM=Ei voida tuoda. MAC-algoritmia ei tueta.
+SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE=Ei voida tuoda. Tuetaan vain salasanan oikeellisuus- ja tietosuojatiloja.
+SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE=Ei voida tuoda. Tiedostorakenne on vioittunut.
+SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM=Ei voida tuoda. Salausalgoritmia ei tueta.
+SEC_ERROR_PKCS12_UNSUPPORTED_VERSION=Ei voida tuoda. Tiedostoversiota ei tueta.
+SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT=Ei voida tuoda. Väärä tietosuojasalasana.
+SEC_ERROR_PKCS12_CERT_COLLISION=Ei voida tuoda. Sama kutsumanimi on jo käytössä tietokannassa.
+SEC_ERROR_USER_CANCELLED=Käyttäjä peruutti.
+SEC_ERROR_PKCS12_DUPLICATE_DATA=Ei tuotu, jo tietokannassa.
+SEC_ERROR_MESSAGE_SEND_ABORTED=Viestiä ei lähetetty.
+SEC_ERROR_INADEQUATE_KEY_USAGE=Varmenneavaimen käyttö riittämätöntä yritetylle toiminnolle.
+SEC_ERROR_INADEQUATE_CERT_TYPE=Varmennetyyppi ei ole hyväksytty ohjelmalle.
+SEC_ERROR_CERT_ADDR_MISMATCH=Allekirjoitusvarmenteen osoite ei vastaa viestiotsakkeissa olevaa osoitetta.
+SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY=Ei voida tuoda. Virhe yritettäessä tuoda salaista avainta.
+SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN=Ei voida tuoda. Virhe yritettäessä tuoda varmenneketjua.
+SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME=Ei voida viedä. Avainta tai varmennetta ei löytynyt kutsumanimen perusteella.
+SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY=Ei voida viedä. Salaista avainta ei löytynyt, eikä sitä voida viedä.
+SEC_ERROR_PKCS12_UNABLE_TO_WRITE=Ei voida viedä. Vietävään tiedostoon ei voida kirjoittaa.
+SEC_ERROR_PKCS12_UNABLE_TO_READ=Ei voida tuoda. Tuotavaa tiedostoa ei voida lukea.
+SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED=Ei voida viedä. Avaintietokanta on vioittunut tai poistettu.
+SEC_ERROR_KEYGEN_FAIL=Ei voitu luoda julkisen ja salaisen avaimen paria.
+SEC_ERROR_INVALID_PASSWORD=Annettu salasana on virheellinen. Valitse toinen salasana.
+SEC_ERROR_RETRY_OLD_PASSWORD=Vanha salasana annettiin virheellisesti. Yritä uudestaan.
+SEC_ERROR_BAD_NICKNAME=Varmenteen kutsumanimi jo käytössä.
+SEC_ERROR_NOT_FORTEZZA_ISSUER=Toisella FORTEZZA-ketjulla on ei-FORTEZZA varmenne.
+SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY=Arkaluontoista avainta ei voida siirtää paikkaan, jossa sitä tarvitaan.
+SEC_ERROR_JS_INVALID_MODULE_NAME=Virheellinen moduulin nimi.
+SEC_ERROR_JS_INVALID_DLL=Virheellinen moduulin polku tai tiedostonimi
+SEC_ERROR_JS_ADD_MOD_FAILURE=Ei voida lisätä moduulia
+SEC_ERROR_JS_DEL_MOD_FAILURE=Ei voida poistaa moduulia
+SEC_ERROR_OLD_KRL=Uusi KRL ei ole nykyistä myöhäisempi.
+SEC_ERROR_CKL_CONFLICT=Uudella CKL:lla on eri myöntäjä kuin nykyisellä CKL:lla. Poista nykyinen CKL.
+SEC_ERROR_CERT_NOT_IN_NAME_SPACE=Tämän varmenteen varmentajalla ei ole lupaa myöntää tämän nimistä varmennetta.
+SEC_ERROR_KRL_NOT_YET_VALID=Tämän varmenteen avaimen mitätöinti- tai sulkulista ei ole vielä voimassa.
+SEC_ERROR_CRL_NOT_YET_VALID=Tämän varmenteen sulkulista ei ole vielä voimassa.
+SEC_ERROR_UNKNOWN_CERT=Pyydettyä varmennetta ei löytynyt.
+SEC_ERROR_UNKNOWN_SIGNER=Allekirjoittajan varmennetta ei löytynyt.
+SEC_ERROR_CERT_BAD_ACCESS_LOCATION=Varmenteen tilapalvelimen osoite on virheellisesti muotoiltu.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=OCSP-palvelimen vastausta ei ymmärretty kokonaisuudessaan. Se on tuntematonta tyyppiä.
+SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=OCSP-palvelimen vastaus oli odottamatonta tai virheellistä HTTP-dataa.
+SEC_ERROR_OCSP_MALFORMED_REQUEST=OCSP-palvelimen mukaan pyyntö oli vioittunut tai virheellisesti muotoiltu.
+SEC_ERROR_OCSP_SERVER_ERROR=OCSP-palvelimelle tapahtui sisäinen virhe.
+SEC_ERROR_OCSP_TRY_SERVER_LATER=OCSP-palvelin ehdottaa yrittämään myöhemmin uudestaan.
+SEC_ERROR_OCSP_REQUEST_NEEDS_SIG=OCSP-palvelin vaatii allekirjoituksen pyyntöön.
+SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST=OCSP-palvelin hylkäsi pyynnön luvan puuttumisen takia.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS=OCSP-palvelin vastasi tuntemattomalla tilalla.
+SEC_ERROR_OCSP_UNKNOWN_CERT=OCSP-palvelimella ei ole tämän varmenteen tilaa.
+SEC_ERROR_OCSP_NOT_ENABLED=OCSP täytyy ottaa käyttöön ennen tätä toimintoa.
+SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER=Ennen toiminnon käyttämistä tulee asettaa oletus OCSP-vastaaja.
+SEC_ERROR_OCSP_MALFORMED_RESPONSE=OCSP-palvelimen vastaus oli vioittunut tai virheellisesti muotoiltu.
+SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE=OCSP-vastauksen allekirjoittajalla ei ole lupaa kertoa varmenteen tilaa.
+SEC_ERROR_OCSP_FUTURE_RESPONSE=OCSP-vastaus ei ole vielä kelvollinen (vastauksen päivämäärä on tulevaisuudessa).
+SEC_ERROR_OCSP_OLD_RESPONSE=OCSP-vastaus sisältää vanhentunutta tietoa.
+SEC_ERROR_DIGEST_NOT_FOUND=CMS tai PKCS #7 -tiivistettä ei löytynyt allekirjoitetusta viestistä.
+SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE=CMS tai PKCS #7 -viestityyppiä ei tueta.
+SEC_ERROR_MODULE_STUCK=PKCS #11 -moduulia ei voitu poistaa, koska se on edelleen käytössä.
+SEC_ERROR_BAD_TEMPLATE=Ei voitu purkaa ASN.1-dataa. Määritelty pohja oli virheellinen.
+SEC_ERROR_CRL_NOT_FOUND=Vastaavaa sulkulistaa ei löytynyt.
+SEC_ERROR_REUSED_ISSUER_AND_SERIAL=Olet tuomassa varmennetta, jonka myöntäjä tai sarjanumero on sama kuin olemassa olevalla varmenteella, mutta tuotava varmenne on kuitenkiin uusi varmenne.
+SEC_ERROR_BUSY=NSS ei voinut sulkeutua. Objektit ovat edelleen käytössä.
+SEC_ERROR_EXTRA_INPUT=DER-salattu viesti sisältää ylimääräistä käyttämätöntä dataa.
+SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE=Ei tuettu elliptinen käyrä.
+SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=Ei tuettu elliptinen käyräpistemuoto.
+SEC_ERROR_UNRECOGNIZED_OID=Ei tunnistettu objektin tunniste.
+SEC_ERROR_OCSP_INVALID_SIGNING_CERT=Virheellinen OCSP-allekirjoitusvarmenne OCSP-vastauksessa.
+SEC_ERROR_REVOKED_CERTIFICATE_CRL=Varmenne on mitätöity varmenteen myöntäjän sulkulistalla.
+SEC_ERROR_REVOKED_CERTIFICATE_OCSP=Varmenteen myöntäjän OCSP-vastaaja ilmoittaa, että varmenne on mitätöity.
+SEC_ERROR_CRL_INVALID_VERSION=Varmenteen myöntäjän sulkulistan versionumero on tuntematon.
+SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=Varmenteen myöntäjän V1 sulkulistalla on kriittinen tarkenne.
+SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=Varmenteen myöntäjän V2 sulkulistalla on tuntematon kriittinen tarkenne.
+SEC_ERROR_UNKNOWN_OBJECT_TYPE=Tuntematon objektityyppi annettiin.
+SEC_ERROR_INCOMPATIBLE_PKCS11=PKCS #11 -ajuri on määritelmän vastainen epäyhteensopivalla tavalla.
+SEC_ERROR_NO_EVENT=Yksikään uusi paikkatapahtuma ei ole mahdollinen tällä hetkellä.
+SEC_ERROR_CRL_ALREADY_EXISTS=Sulkulista on jo olemassa.
+SEC_ERROR_NOT_INITIALIZED=NSS ei ole alustettu.
+SEC_ERROR_TOKEN_NOT_LOGGED_IN=Toiminto epäonnistui, koska PKCS#11-poletti ei ole kirjautunut sisään.
+SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=Määritellyn OCSP-palvelimen varmenne on virheellinen.
+SEC_ERROR_OCSP_BAD_SIGNATURE=OCSP-vastauksen allekirjoitus on virheellinen.
+SEC_ERROR_OUT_OF_SEARCH_LIMITS=Varmenteen todentamisen etsiminen ei ole mahdollista
+SEC_ERROR_INVALID_POLICY_MAPPING=Käytäntörajaus sisältää anypolicy:n
+SEC_ERROR_POLICY_VALIDATION_FAILED=Varmenneketju ei läpäise käytännön todennusta
+SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE=Tuntematon sijaintityyppi varmenteen AIA-laajennuksessa
+SEC_ERROR_BAD_HTTP_RESPONSE=Palvelin lähetti virheellisen HTTP-vastauksen
+SEC_ERROR_BAD_LDAP_RESPONSE=Palvelin lähetti virheellisen LDAP-vastauksen
+SEC_ERROR_FAILED_TO_ENCODE_DATA=Datan salaus ASN1-salaajalla ei onnistunut
+SEC_ERROR_BAD_INFO_ACCESS_LOCATION=Virheellinen tiedonsaantiosoite varmenteen laajennuksessa
+SEC_ERROR_LIBPKIX_INTERNAL=Libpkix:n sisäinen virhe varmennetta todennettaessa.
+SEC_ERROR_PKCS11_GENERAL_ERROR=PKCS #11 -moduuli palautti CKR_GENERAL_ERROR -viestin merkkinä tapahtuneesta virheestä, josta ei voida toipua.
+SEC_ERROR_PKCS11_FUNCTION_FAILED=PKCS #11 -moduuli palautti CKR_FUNCTION_FAILED -viestin merkkinä siitä, että pyydettyä toimintoa ei voitu suorittaa. Saman toiminnon yrittäminen uudestaan saattaa onnistua.
+SEC_ERROR_PKCS11_DEVICE_ERROR=PKCS #11 -moduuli palautti CKR_DEVICE_ERROR -viestin merkkinä tapahtuneesta virheestä vuoromerkissä tai paikassa.
+SEC_ERROR_BAD_INFO_ACCESS_METHOD=Tuntematon tiedonsaantitapa varmenteen laajennuksessa.
+SEC_ERROR_CRL_IMPORT_FAILED=Virhe yritettäessä tuoda sulkulistaa.
+SEC_ERROR_EXPIRED_PASSWORD=Salasana on vanhentunut.
+SEC_ERROR_LOCKED_PASSWORD=Salasana on lukittu.
+SEC_ERROR_UNKNOWN_PKCS11_ERROR=Tuntematon PKCS #11 -virhe.
+SEC_ERROR_BAD_CRL_DP_URL=Virheellinen tai ei tuettu osoite CRL-jakelupisteen nimessä.
+SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED=Varmenne oli allekirjoitettu allekirjoitusalgoritmilla, joka on poistettu käytöstä, koska se ei ole turvallinen.
+MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=Palvelin käyttää avaimen lukkolistaa (HPKP), mutta yhtäkään luotettua ja lukkolistan mukaista varmenneketjua ei voitu luoda. Lukkolistarikkeitä ei voida ohittaa.
+MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=Palvelin käyttää tavallista rajoitelaajennusvarmennetta, joka tunnistaa sen varmentajaksi. Asianmukaisella varmenteella näin ei pitäisi olla.
+MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=Palvelimen tarjoaman varmenteen avaimen koko on liian pieni suojatun yhteyden luomiseksi.
+MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=X.509 versio 1 -varmenne, joka ei ole luotettu ankkuri, käytettiin palvelimen varmenteen allekirjoittamiseen. X.509 versio 1 -varmenteet ovat vanhentuneita, eikä niitä pitäisi käyttää muiden varmenteiden allekirjoittamiseen.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=Palvelimen lähettämä varmenne ei ole vielä voimassa.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=Palvelimen varmenne on myönnetty varmenteella, joka ei ole vielä voimassa.
+MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=Varmenteen allekirjoituskentässä käytetty allekirjoitusalgoritmi ei vastaa signatureAlgorithm-kentässä määriteltyä algoritmia.
+MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=OCSP-vastaus ei sisällä todennettavan varmenteen tilaa.
+MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=Palvelimen antama varmenne on kelvollinen liian pitkään.
+MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING=Vaadittu TLS-ominaisuus puuttuu.
+MOZILLA_PKIX_ERROR_INVALID_INTEGER_ENCODING=Palvelin tarjosi varmenteen, joka sisältää väärin koodatun kokonaisluvun. Yleisiä syitä tälle ovat muiden muassa negatiiviset sarjanumerot, negatiiviset RSA-moduulit ja tarpeettoman pitkät koodaukset.
+MOZILLA_PKIX_ERROR_EMPTY_ISSUER_NAME=Palvelin tarjosi varmenteen, jonka myöntäjän luokiteltu nimi (DN) on tyhjä.
+MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED=Varmenteen lisäkäytäntörajoite ei täyttynyt todennettaessa varmennetta.
+MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT=Varmenteeseen ei luoteta, koska se on allekirjoitettu itsellään.
diff --git a/l10n-fi/security/manager/chrome/pipnss/pipnss.properties b/l10n-fi/security/manager/chrome/pipnss/pipnss.properties
new file mode 100644
index 0000000000..c30641cdd6
--- /dev/null
+++ b/l10n-fi/security/manager/chrome/pipnss/pipnss.properties
@@ -0,0 +1,136 @@
+#
+# 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/.
+
+CertPasswordPrompt=Kirjoita salasana PKCS#11-poletille %S.
+
+CertPasswordPromptDefault=Kirjoita pääsalasana.
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder('utf-8').encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder().encode('YOURSTRING')).length
+#
+# Simply replace YOURSTRING with your translation.
+#
+# If it's not possible to produce an understandable translation within these
+# limits, keeping the English text is an acceptable workaround.
+
+# LOCALIZATION NOTE (RootCertModuleName): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+RootCertModuleName=Sisäänrakennettu juurimoduuli
+# LOCALIZATION NOTE (ManufacturerID): string limit is 32 bytes after conversion
+# to UTF-8.
+# length_limit = 32 bytes
+ManufacturerID=Mozilla.org
+# LOCALIZATION NOTE (LibraryDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+LibraryDescription=PSM:n sis. salakirjoituspalvelut
+# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+TokenDescription=Yleiset salakirjoituspalvelut
+# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+PrivateTokenDescription=Ohjelmistoturvalaite
+# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion
+# to UTF-8.
+# length_limit = 64 bytes
+SlotDescription=PSM:n sisäiset salakirjoituspalvelut
+# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+PrivateSlotDescription=PSM:n salaiset avaimet
+# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+Fips140TokenDescription=Ohjelmistoturvalaite (FIPS)
+# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+Fips140SlotDescription=FIPS 140 -salakirjoitus-, avain ja varmennuspalvelu
+
+# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign)
+nick_template=%1$s:n %2$s-tunniste
+
+CertDumpKUSign=Allekirjoitus
+CertDumpKUNonRep=Kiistämättömyys
+CertDumpKUEnc=Avaimen salakirjoitus
+CertDumpKUDEnc=Tiedon salakirjoitus
+CertDumpKUKA=Avaimen sopimus
+CertDumpKUCertSign=Varmenteen allekirjoittaja
+CertDumpKUCRLSigner=Sulkulistan allekirjoittaja
+
+PSMERR_SSL_Disabled=Suojatun yhteyden muodostaminen ei onnistu, koska SSL-yhteiskäytäntö on otettu pois käytöstä.
+PSMERR_SSL2_Disabled=Suojatun yhteyden muodostaminen ei onnistu, koska sivusto käyttää vanhempaa, heikkoa versiota SSL-yhteiskäytännöstä.
+PSMERR_HostReusedIssuerSerial=Vastaanotettiin epäkäypä varmenne. Ota yhteys palvelimen ylläpitoon ja välitä heille seuraava virheilmoitus:\n\nYour certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number.
+
+# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well).
+SSLConnectionErrorPrefix2=Tapahtui virhe oltaessa yhteydessä osoitteeseen %1$S. %2$S\n
+
+certErrorIntro=Sivuston %S tietoturvavarmenne ei ole kelvollinen.
+
+certErrorTrust_SelfSigned=Varmenteeseen ei luoteta, koska se on allekirjoitettu itsellään.
+certErrorTrust_UnknownIssuer=Varmenteeseen ei luoteta, koska sen myöntäjän varmenne on tuntematon.
+certErrorTrust_UnknownIssuer2=Palvelin ei mahdollisesti lähetä kaikkia asianmukaisia välivaiheen varmenteita.
+certErrorTrust_UnknownIssuer3=Voi olla, että täytyy tuoda uusi juurivarmenne.
+certErrorTrust_CaInvalid=Varmenteeseen ei luoteta, koska sen varmentajan varmenne ei ole kelvollinen.
+certErrorTrust_Issuer=Varmenteeseen ei luoteta, koska sen myöntäjän varmenteeseen ei luoteta.
+certErrorTrust_SignatureAlgorithmDisabled=Varmenteeseen ei luoteta, koska se on allekirjoitettu allekirjoitusalgoritmilla, joka ei ole turvallinen.
+certErrorTrust_ExpiredIssuer=Varmenteeseen ei luoteta, koska sen myöntäjän varmenne on vanhentunut.
+certErrorTrust_Untrusted=Varmenteen lähde ei ole luotettu.
+certErrorTrust_MitM=Yhteytesi kulkee TLS-välityspalvelimen kautta. Poista sen asennus mikäli mahdollista, tai määritä laitteesi luottamaan sen juurivarmenteeseen.
+
+certErrorMismatch=Varmenne ei ole kelvollinen palvelimelle %S.
+# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid
+certErrorMismatchSinglePrefix=Varmenne on kelvollinen vain kohteelle %S.
+certErrorMismatchMultiple=Varmenne on kelvollinen vain palvelimille:
+
+# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time)
+certErrorExpiredNow=Varmenne on vanhentunut %1$S. Päiväys ja aika nyt on %2$S.
+
+# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time)
+certErrorNotYetValidNow=Varmenne tulee voimaan vasta %1$S. Päiväys ja aika nyt on %2$S.
+
+certErrorMitM=Sivustot todistavat identiteettinsä varmenteella, ja varmenteen myöntää varmentaja.
+# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName
+certErrorMitM2=%Sin tukena on voittoa tavoittelemattoman Mozilla, joka hallinnoi täysin avointa varmentajien (CA) säilöä. Varmentajasäilö auttaa varmistamaan, että varmentajat noudattavat käyttäjien tietoturvaan liittyviä hyviä käytäntöjä.
+# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName
+certErrorMitM3=%S käyttää Mozillan varmentajasäilöä varmentamaan yhteyden turvallisuuden, käyttöjärjestelmään asennettujen varmenteiden sijasta. Siispä jos virustorjuntaohjelma tai verkko kaappaa yhteyden käyttäen varmennetta, jonka varmentaja ei ole Mozillan varmentajasäilössä, yhteyttä pidetään epäturvallisena.
+
+certErrorSymantecDistrustAdministrator=Voit ilmoittaa tästä ongelmasta sivuston ylläpitäjälle.
+
+# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code.
+certErrorCodePrefix3=Virhekoodi: %S
+
+P12DefaultNickname=Tuotu varmenne
+CertUnknown=Tuntematon
+CertNoEmailAddress=(ei sähköpostiosoitetta)
+CaCertExists=Varmenne on jo asennettu varmentajana.
+NotACACert=Varmenne ei ole varmentajan varmenne, jonka vuoksi sitä ei voi lisätä varmentajien listalle.
+UserCertIgnoredNoPrivateKey=Henkilökohtaista varmennetta ei voida asentaa, koska et omista varmennetta luodessa tehtyä ja siihen kuuluvaa salaista avainta.
+UserCertImported=Henkilökohtainen varmenteesi on asennettu. On hyvä idea säilyttää varmuuskopiota varmenteesta.
+CertOrgUnknown=(Tuntematon)
+CertNotStored=(Ei tallennettu)
+CertExceptionPermanent=Pysyvä
+CertExceptionTemporary=Väliaikainen
diff --git a/l10n-fi/security/manager/chrome/pippki/pippki.properties b/l10n-fi/security/manager/chrome/pippki/pippki.properties
new file mode 100644
index 0000000000..4755ed66c8
--- /dev/null
+++ b/l10n-fi/security/manager/chrome/pippki/pippki.properties
@@ -0,0 +1,75 @@
+# 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/.
+
+# Download Cert dialog
+# LOCALIZATION NOTE(newCAMessage1):
+# %S is a string representative of the certificate being downloaded/imported.
+newCAMessage1=Varmentajaan %S luotetaan seuraavissa toimissa:
+unnamedCA=Varmentaja (nimeämättä)
+
+getPKCS12FilePasswordMessage=Kirjoita salasana, jota käytettiin varmenteiden varmuuskopion salaukseen:
+
+# Client auth
+clientAuthRemember=Muista valinta
+# LOCALIZATION NOTE(clientAuthNickAndSerial): Represents a single cert when the
+# user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthNickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthHostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthHostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthMessage1): %S is the Organization of the server
+# cert.
+clientAuthMessage1=Organisaatio: %S
+# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer
+# cert of the server cert.
+clientAuthMessage2=Myönnetty alle: %S
+# LOCALIZATION NOTE(clientAuthIssuedTo): %1$S is the Distinguished Name of the
+# currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthIssuedTo=Myönnetty: %1$S
+# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected
+# cert in AA:BB:CC hex format.
+clientAuthSerial=Sarjanumero: %1$S
+# LOCALIZATION NOTE(clientAuthValidityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthValidityPeriod=Voimassa %1$S – %2$S
+# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthKeyUsages=Avaimen käyttötarkoitukset: %1$S
+# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of
+# e-mail addresses the selected cert is valid for.
+clientAuthEmailAddresses=Sähköpostiosoitteet: %1$S
+# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the
+# cert which issued the selected cert.
+clientAuthIssuedBy=Myöntäjä: %1$S
+# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token
+# the selected cert is stored on.
+clientAuthStoredOn=Tallennettu: %1$S
+
+# Page Info
+pageInfo_NoEncryption=Yhteys ei ole salattu
+pageInfo_Privacy_None1=Palvelin %S ei käytä salausta tällä sivulla.
+pageInfo_Privacy_None2=Sivulliset voivat lukea verkossa salaamatta siirrettyjä tietoja.
+pageInfo_Privacy_None4=Tarkastelemaasi sivua ei salattu ennen kuin se lähetettiin Internetin kautta.
+# LOCALIZATION NOTE (pageInfo_EncryptionWithBitsAndProtocol and pageInfo_BrokenEncryption):
+# %1$S is the name of the encryption standard,
+# %2$S is the key size of the cipher.
+# %3$S is protocol version like "SSL 3" or "TLS 1.2"
+pageInfo_EncryptionWithBitsAndProtocol=Yhteys salattu (%1$S, %2$S-bittinen avain, %3$S)
+pageInfo_BrokenEncryption=Rikkinäinen salaus (%1$S, %2$S-bittinen avain, %3$S)
+pageInfo_Privacy_Encrypted1=Tämä sivu salattiin ennen sen siirtoa.
+pageInfo_Privacy_Encrypted2=Salauksen vuoksi asiattomien on hyvin vaikea tarkastella tietokoneiden välillä siirtyvää tietoa. Siksi on epätodennäköistä, että kukaan luki tätä sivua sen siirtyessä verkon yli.
+pageInfo_MixedContent=Yhteys osittain salattu
+pageInfo_MixedContent2=Osia avatusta sivusta ei salattu ennen sen siirtoa.
+pageInfo_WeakCipher=Yhteytesi verkkosivustoon käyttää heikkoa salausta eikä sen takia ole yksityinen. Sivullisten on mahdollista tarkastella antamiasi tietoja tai vaikuttaa sivuston toimintaan.
+pageInfo_CertificateTransparency_Compliant=Tämä sivusto noudattaa varmenteiden avoimuuden (certificate transparency) käytäntöä.
+
+# Token Manager
+password_not_set=(ei ole asetettu)
+enable_fips=Ota FIPS käyttöön
+
diff --git a/l10n-fi/security/manager/security/certificates/certManager.ftl b/l10n-fi/security/manager/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..a0c156f27f
--- /dev/null
+++ b/l10n-fi/security/manager/security/certificates/certManager.ftl
@@ -0,0 +1,228 @@
+# 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/.
+
+certmgr-title =
+ .title = Varmenteiden hallinta
+
+certmgr-tab-mine =
+ .label = Omat varmenteet
+
+certmgr-tab-remembered =
+ .label = Todennuspäätökset
+
+certmgr-tab-people =
+ .label = Henkilöt
+
+certmgr-tab-servers =
+ .label = Palvelimet
+
+certmgr-tab-ca =
+ .label = Varmentajat
+
+certmgr-mine = Seuraavilta organisaatioilta on sinut todentava varmenne
+certmgr-remembered = Näitä varmenteita käytetään sinun todentamiseen sivustoille
+certmgr-people = Seuraavat yksilöt todentavia varmenteita on tiedossa
+certmgr-server = Nämä tietueet identifioivat palvelinvarmenteen virhepoikkeukset
+certmgr-ca = Seuraavat varmentajat todentavia varmenteita on tiedossa
+
+certmgr-edit-ca-cert2 =
+ .title = Muokkaa varmentajan varmenteen luotettavuusasetuksia
+ .style = min-width: 48em;
+
+certmgr-edit-cert-edit-trust = Muokkaa luotettavuusasetuksia:
+
+certmgr-edit-cert-trust-ssl =
+ .label = Tämä varmenne voi todentaa verkkosivustoja.
+
+certmgr-edit-cert-trust-email =
+ .label = Tämä varmenne voi todentaa sähköpostittajia.
+
+certmgr-delete-cert2 =
+ .title = Poista varmenne
+ .style = min-width: 48em; min-height: 24em;
+
+certmgr-cert-host =
+ .label = Palvelin
+
+certmgr-cert-name =
+ .label = Varmenteen nimi
+
+certmgr-cert-server =
+ .label = Palvelin
+
+certmgr-token-name =
+ .label = Turvallisuuslaite
+
+certmgr-begins-label =
+ .label = Astuu voimaan
+
+certmgr-expires-label =
+ .label = Vanhenee
+
+certmgr-email =
+ .label = Sähköpostiosoite
+
+certmgr-serial =
+ .label = Sarjanumero
+
+certmgr-fingerprint-sha-256 =
+ .label = SHA-256-sormenjälki
+
+certmgr-view =
+ .label = Näytä…
+ .accesskey = N
+
+certmgr-edit =
+ .label = Muokkaa luottamusta…
+ .accesskey = M
+
+certmgr-export =
+ .label = Vie…
+ .accesskey = V
+
+certmgr-delete =
+ .label = Poista…
+ .accesskey = P
+
+certmgr-delete-builtin =
+ .label = Poista tai älä luota…
+ .accesskey = o
+
+certmgr-backup =
+ .label = Varmuuskopioi…
+ .accesskey = V
+
+certmgr-backup-all =
+ .label = Varmuuskopioi kaikki…
+ .accesskey = a
+
+certmgr-restore =
+ .label = Tuo…
+ .accesskey = T
+
+certmgr-add-exception =
+ .label = Lisää poikkeus…
+ .accesskey = L
+
+exception-mgr =
+ .title = Lisää turvallisuuspoikkeus
+
+exception-mgr-extra-button =
+ .label = Vahvista turvallisuuspoikkeus
+ .accesskey = V
+
+exception-mgr-supplemental-warning = Luotettavat pankit, kaupat ja muut julkiset sivustot eivät pyydä sinua tekemään tätä.
+
+exception-mgr-cert-location-url =
+ .value = Osoite:
+
+exception-mgr-cert-location-download =
+ .label = Lataa varmenne
+ .accesskey = L
+
+exception-mgr-cert-status-view-cert =
+ .label = Näytä…
+ .accesskey = N
+
+exception-mgr-permanent =
+ .label = Tallenna poikkeus pysyvästi
+ .accesskey = T
+
+pk11-bad-password = Kirjoitettu salasana oli väärä.
+pkcs12-decode-err = Tiedoston purku epäonnistui. Joko se ei ole PKCS #12 -muodossa, se on viallinen, tai kirjoittamasi salasana oli väärä.
+pkcs12-unknown-err-restore = PKCS #12 -tiedoston palauttaminen epäonnistui tuntemattomasta syystä.
+pkcs12-unknown-err-backup = PKCS #12 -tiedoston varmuuskopiointi epäonnistui tuntemattomista syistä.
+pkcs12-unknown-err = PKCS #12 -toiminto epäonnistui tuntemattomista syistä.
+pkcs12-info-no-smartcard-backup = Varmenteiden varmuuskopioiminen turvalaitteelta, kuten älykortilta, ei ole mahdollista.
+pkcs12-dup-data = Varmenne ja salainen avain ovat jo olemassa tällä turvalaitteella.
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = Varmuuskopioitavan tiedoston nimi
+file-browse-pkcs12-spec = PKCS12-tiedostot
+choose-p12-restore-file-dialog = Tuotava varmennetiedosto
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = Varmennetiedostot
+import-ca-certs-prompt = Valitse tiedosto, jossa on tuotavat varmentajien varmenteet
+import-email-cert-prompt = Valitse tiedosto, jossa on tuotava sähköpostivarmenne
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = Varmenne { $certName } todentaa varmentajan.
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = Omien varmenteiden poisto
+delete-user-cert-confirm = Poistetaanko nämä varmenteet?
+delete-user-cert-impact = Poistettua varmennetta ei voi enää käyttää itsensä todentamiseen.
+
+
+delete-ssl-override-title =
+ .title = Poista palvelinvarmenteen poikkeus
+delete-ssl-override-confirm = Haluatko varmasti poistaa tämän palvelinpoikkeuksen?
+delete-ssl-override-impact = Jos poistat palvelinpoikkeuksen, palautat palvelimen tavanomaiset suojaustarkistukset ja vaadit sen käyttävän kelvollista varmentetta.
+
+delete-ca-cert-title =
+ .title = Poista varmentajan varmenne tai luottamus siihen
+delete-ca-cert-confirm = Olet poistamassa näiden varmentajien varmenteita. Sisäänrakennettujen varmenteiden tapauksessa luottamus varmenteeseen poistetaan, joka on käytännössä sama kuin varmenteen poistaminen. Poistetaanko varmenteet tai luottamus niihin?
+delete-ca-cert-impact = Jos poistat varmentajan varmenteen tai luottamuksen siihen, tämä ohjelma ei enää luota yhteenkään tuon varmentajan myöntämään varmenteeseen.
+
+
+delete-email-cert-title =
+ .title = Poista sähköpostivarmenteet
+delete-email-cert-confirm = Poistetaanko nämä sähköpostivarmenteet?
+delete-email-cert-impact = Jos sähköpostivarmenne poistetaan, varmenteen kohteelle ei voi enää lähettää salattuja viestejä.
+
+# Used for semi-uniquely representing a cert.
+#
+# Variables:
+# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
+cert-with-serial =
+ .value = Varmenne sarjanumerolla: { $serialNumber }
+
+# Used to indicate that the user chose not to send a client authentication certificate to a server that requested one in a TLS handshake.
+send-no-client-certificate = Älä lähetä asiakasvarmennetta
+
+# Used when no cert is stored for an override
+no-cert-stored-for-override = (Ei tallennettu)
+
+# When a certificate is unavailable (for example, it has been deleted or the token it exists on has been removed).
+certificate-not-available = (Ei saatavilla)
+
+## Used to show whether an override is temporary or permanent
+
+permanent-override = Pysyvä
+temporary-override = Väliaikainen
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = Olet muuttamassa { -brand-short-name }in tapaa todentaa tämä sivusto.
+add-exception-invalid-header = Sivusto yrittää todentaa itseään virheellisillä tiedoilla.
+add-exception-domain-mismatch-short = Väärä sivusto
+add-exception-domain-mismatch-long = Varmenne kuuluu toiselle sivustolle. Tämä voi olla tarkoittaa, että joku yrittää tekeytyä sivustoksi.
+add-exception-expired-short = Vanhentunutta tietoa
+add-exception-expired-long = Varmenne ei ole tällä hetkellä voimassa. Se on voinut hävitä tai se on voitu varastaa, ja joku voi käyttää sitä tekeytyäkseen täksi sivustoksi.
+add-exception-unverified-or-bad-signature-short = Tuntematon identiteetti
+add-exception-unverified-or-bad-signature-long = Varmenteeseen ei luoteta, koska yksikään luotettu varmentaja ei todenna sitä suojatulla allekirjoituksella.
+add-exception-valid-short = Voimassa oleva varmenne
+add-exception-valid-long = Sivustoon on liitetty todennettu, voimassa oleva identiteetti. Ei ole syytä asettaa poikkeusta.
+add-exception-checking-short = Tarkistetaan tietoja
+add-exception-checking-long = Yritetään todentaa sivustoa…
+add-exception-no-cert-short = Tietoja ei ole saatavilla
+add-exception-no-cert-long = Tunnistustietoja ei ollut saatavilla sivustolle.
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = Tallenna varmenne tiedostoon
+cert-format-base64 = X.509-varmenne (PEM)
+cert-format-base64-chain = X.509-varmenne ketjulla (PEM)
+cert-format-der = X.509-varmenne (DER)
+cert-format-pkcs7 = X.509-varmenne (PKCS#7)
+cert-format-pkcs7-chain = X.509-varmenne ketjulla (PKCS#7)
+write-file-failure = Tiedostovirhe
diff --git a/l10n-fi/security/manager/security/certificates/deviceManager.ftl b/l10n-fi/security/manager/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..25a37b316b
--- /dev/null
+++ b/l10n-fi/security/manager/security/certificates/deviceManager.ftl
@@ -0,0 +1,133 @@
+# 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/.
+
+
+## Strings used for device manager
+
+devmgr-window =
+ .title = Turvalaitteiden hallinta
+ .style = min-width: 67em; min-height: 32em;
+
+devmgr-devlist =
+ .label = Turvallisuusmoduulit ja -laitteet
+
+devmgr-header-details =
+ .label = Yksityiskohdat
+
+devmgr-header-value =
+ .label = Arvo
+
+devmgr-button-login =
+ .label = Kirjaudu sisään
+ .accesskey = K
+
+devmgr-button-logout =
+ .label = Kirjaudu ulos
+ .accesskey = i
+
+devmgr-button-changepw =
+ .label = Vaihda salasanaa
+ .accesskey = a
+
+devmgr-button-load =
+ .label = Lataa
+ .accesskey = L
+
+devmgr-button-unload =
+ .label = Poista
+ .accesskey = P
+
+devmgr-button-enable-fips =
+ .label = Ota FIPS käyttöön
+ .accesskey = F
+
+devmgr-button-disable-fips =
+ .label = Poista FIPS käytöstä
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = Lataa PKCS#11-laiteajuri
+
+load-device-info = Kirjoita tiedot lisättävälle moduulille.
+
+load-device-modname =
+ .value = Moduulin nimi
+ .accesskey = M
+
+load-device-modname-default =
+ .value = Uusi PKCS#11-moduuli
+
+load-device-filename =
+ .value = Moduulin tiedostonimi
+ .accesskey = d
+
+load-device-browse =
+ .label = Selaa…
+ .accesskey = S
+
+## Token Manager
+
+devinfo-status =
+ .label = Tila
+
+devinfo-status-disabled =
+ .label = Ei käytössä
+
+devinfo-status-not-present =
+ .label = Ei paikalla
+
+devinfo-status-uninitialized =
+ .label = Alustamaton
+
+devinfo-status-not-logged-in =
+ .label = Ei kirjauduttu
+
+devinfo-status-logged-in =
+ .label = Kirjauduttu sisään
+
+devinfo-status-ready =
+ .label = Valmis
+
+devinfo-desc =
+ .label = Kuvaus
+
+devinfo-man-id =
+ .label = Valmistaja
+
+devinfo-hwversion =
+ .label = HW-versio
+devinfo-fwversion =
+ .label = FW-versio
+
+devinfo-modname =
+ .label = Moduuli
+
+devinfo-modpath =
+ .label = Polku
+
+login-failed = Sisäänkirjautuminen epäonnistui
+
+devinfo-label =
+ .label = Lomakkeen nimi
+
+devinfo-serialnum =
+ .label = Sarjanumero
+
+fips-nonempty-primary-password-required = FIPS-tila vaatii, että jokaiselle turvalaitteelle on asetettu pääsalasana. Aseta salasana ennen kuin yrität ottaa FIPS-tilaa käyttöön.
+unable-to-toggle-fips = FIPS-tilan vaihto turvalaitteelle ei onnistu. On suositeltavaa sulkea ja käynnistää tämä ohjelma uudelleen.
+load-pk11-module-file-picker-title = Valitse ladattava PKCS#11-laiteajuri
+
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = Moduulin nimi ei voi olla tyhjä.
+
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = ”Root Certs” on varattu nimi eikä sitä voi käyttää moduulin nimenä.
+
+add-module-failure = Moduulin lisääminen ei onnistunut
+del-module-warning = Poistetaanko tämä turvallisuusmoduuli?
+del-module-error = Moduulin poistaminen ei onnistu
diff --git a/l10n-fi/security/manager/security/pippki/pippki.ftl b/l10n-fi/security/manager/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..90c19ba1e5
--- /dev/null
+++ b/l10n-fi/security/manager/security/pippki/pippki.ftl
@@ -0,0 +1,103 @@
+# 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/.
+
+password-quality-meter = Salasanan laadun mittari
+
+## Change Password dialog
+
+change-device-password-window =
+ .title = Vaihda salasana
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = Turvallisuuslaite: { $tokenName }
+change-password-old = Nykyinen salasana:
+change-password-new = Uusi salasana:
+change-password-reenter = Uusi salasana (uudestaan):
+pippki-failed-pw-change = Salasanaa ei voitu vaihtaa.
+pippki-incorrect-pw = Väärä salasana. Yritä uudestaan.
+pippki-pw-change-ok = Salasana vaihdettiin onnistuneesti.
+pippki-pw-empty-warning = Tallennettuja salasanoja ja salaisia avaimia ei suojata.
+pippki-pw-erased-ok = Salasana poistettiin. { pippki-pw-empty-warning }
+pippki-pw-not-wanted = Varoitus! Olet ottanut salasanan pois käytöstä. { pippki-pw-empty-warning }
+pippki-pw-change2empty-in-fips-mode = Olet parhaillaan FIPS-tilassa. FIPS edellyttää, että salasana ei ole tyhjä.
+
+## Reset Primary Password dialog
+
+reset-primary-password-window2 =
+ .title = Nollaa pääsalasana
+ .style = min-width: 40em
+reset-password-button-label =
+ .label = Poista
+reset-primary-password-text = Jos pääsalasana poistetaan, kaikki tallennetut sivusto- ja sähköpostisalasanat, henkilökohtaiset varmenteet ja salaiset avaimet unohdetaan. Poistetaanko pääsalasana?
+pippki-reset-password-confirmation-title = Nollaa pääsalasana
+pippki-reset-password-confirmation-message = Pääsalasanasi on nollattu.
+
+## Downloading cert dialog
+
+download-cert-window2 =
+ .title = Ladataan varmennetta
+ .style = min-width: 46em
+download-cert-message = Aseta uuden varmentajan luotettavuus.
+download-cert-trust-ssl =
+ .label = Sivustojen todentajana.
+download-cert-trust-email =
+ .label = Sähköpostien lähettäjien todentajana.
+download-cert-message-desc = Ennen kuin varmentaja lisätään yhdellekään luotettujen varmentajien listalle, tulisi sen varmenne, turvallisuuskäytännöt ja menettelytavat tarkistaa (jos ne ovat saatavilla).
+download-cert-view-cert =
+ .label = Näytä
+download-cert-view-text = Tarkastele varmentajan varmennetta
+
+## Client Authorization Ask dialog
+
+
+## Client Authentication Ask dialog
+
+client-auth-window =
+ .title = Käyttäjän todentamispyyntö
+client-auth-site-description = Sivusto pyytää sinua todentamaan itsesi varmenteella:
+client-auth-choose-cert = Valitse todentavana esitettävä varmenne:
+client-auth-send-no-certificate =
+ .label = Älä lähetä varmennetta
+# Variables:
+# $hostname (String) - The domain name of the site requesting the client authentication certificate
+client-auth-site-identification = "{ $hostname }" on pyytänyt sinua tunnistamaan itsesi varmenteella:
+client-auth-cert-details = Valitun varmenteen yksityiskohdat:
+# Variables:
+# $issuedTo (String) - The subject common name of the currently-selected client authentication certificate
+client-auth-cert-details-issued-to = Myönnetty: { $issuedTo }
+# Variables:
+# $serialNumber (String) - The serial number of the certificate (hexadecimal of the form "AA:BB:...")
+client-auth-cert-details-serial-number = Sarjanumero: { $serialNumber }
+# Variables:
+# $notBefore (String) - The date before which the certificate is not valid (e.g. Apr 21, 2023, 1:47:53 PM UTC)
+# $notAfter (String) - The date after which the certificate is not valid
+client-auth-cert-details-validity-period = Voimassa { $notBefore } – { $notAfter }
+# Variables:
+# $keyUsages (String) - A list of already-localized key usages for which the certificate may be used
+client-auth-cert-details-key-usages = Avaimen käyttötarkoitukset: { $keyUsages }
+# Variables:
+# $emailAddresses (String) - A list of email addresses present in the certificate
+client-auth-cert-details-email-addresses = Sähköpostiosoitteet: { $emailAddresses }
+# Variables:
+# $issuedBy (String) - The issuer common name of the certificate
+client-auth-cert-details-issued-by = Myöntäjä: { $issuedBy }
+# Variables:
+# $storedOn (String) - The name of the token holding the certificate (for example, "OS Client Cert Token (Modern)")
+client-auth-cert-details-stored-on = Tallennettu: { $storedOn }
+client-auth-cert-remember-box =
+ .label = Muista valinta
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = Valitse varmenteen varmuuskopion salasana
+set-password-message = Varmenteen varmuuskopion salasana suojaa varmuuskopiota, jota ollaan luomassa. Salasana täytyy asettaa varmuuskopiolle.
+set-password-backup-pw =
+ .value = Varmenteen varmuuskopion salasana:
+set-password-repeat-backup-pw =
+ .value = Varmenteen varmuuskopion salasana (uudelleen):
+set-password-reminder = Tärkeää: Jos varmenteen varmuuskopion salasana unohtuu, niin varmennetta ei voi palauttaa myöhemmin. Säilytä salasana turvallisessa paikassa.
+
+## Protected authentication alert
+
diff --git a/l10n-fi/toolkit/chrome/alerts/alert.properties b/l10n-fi/toolkit/chrome/alerts/alert.properties
new file mode 100644
index 0000000000..37d4d5c586
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/alerts/alert.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(closeButton.title): Used as the close button text for web notifications on OS X.
+# This should ideally match the string that OS X uses for the close button on alert-type
+# notifications. OS X will truncate the value if it's too long.
+closeButton.title = Sulje
+# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long.
+actionButton.label = …
+# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced
+# with the hostname origin of the notification.
+webActions.disableForOrigin.label = Poista ilmoitukset käytöstä sivustolta %S
+
+# LOCALIZATION NOTE(source.label): Used to show the URL of the site that
+# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host
+# and port.
+source.label=sivustolta %1$S
+webActions.settings.label = Ilmoitusten asetukset
+
+# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
+# brandShortName of the application.
+pauseNotifications.label = Älä näytä ilmoituksia ennen kuin %S uudelleenkäynnistetään
diff --git a/l10n-fi/toolkit/chrome/autoconfig/autoconfig.properties b/l10n-fi/toolkit/chrome/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..dae58e3323
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/autoconfig/autoconfig.properties
@@ -0,0 +1,12 @@
+# 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/.
+
+readConfigTitle =Asetusvirhe
+readConfigMsg =Asetustiedoston lukeminen epäonnistui. Ota yhteys järjestelmänvalvojaasi.
+
+autoConfigTitle =AutoConfig-hälytys
+autoConfigMsg =Netscape.cfg/AutoConfig epäonnistui. Ota yhteyttä järjestelmänvalvojaasi. \n Virhe: %S epäonnistui:
+
+emailPromptTitle =Sähköpostiosoite
+emailPromptMsg =Anna sähköpostiosoitteesi
diff --git a/l10n-fi/toolkit/chrome/global-platform/mac/intl.properties b/l10n-fi/toolkit/chrome/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global-platform/mac/intl.properties
@@ -0,0 +1,7 @@
+# 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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-fi/toolkit/chrome/global-platform/mac/platformKeys.properties b/l10n-fi/toolkit/chrome/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..626a82f089
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global-platform/mac/platformKeys.properties
@@ -0,0 +1,33 @@
+# 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/.
+
+# Platform: Mac
+# This file defines the on-screen display names for the various modifier keys
+# and the Return key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key - open up arrow symbol (ctrl-e)
+VK_SHIFT=\u21e7
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_META=\u2318
+
+# The Win key - never generated by native key event
+VK_WIN=win
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_COMMAND_OR_WIN=\u2318
+
+# The Option/Alt key - splitting tracks symbol (ctrl-g)
+VK_ALT=\u2325
+
+# The Control key - hat symbol (ctrl-f)
+VK_CONTROL=\u2303
+
+# The Return key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Return
+
+# The separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/l10n-fi/toolkit/chrome/global-platform/unix/intl.properties b/l10n-fi/toolkit/chrome/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global-platform/unix/intl.properties
@@ -0,0 +1,7 @@
+# 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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-fi/toolkit/chrome/global-platform/unix/platformKeys.properties b/l10n-fi/toolkit/chrome/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..708c60fa5b
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global-platform/unix/platformKeys.properties
@@ -0,0 +1,33 @@
+# 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/.
+
+# Platform: Unix
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Vaihto
+
+# The Command key
+VK_META=Meta
+
+# The Win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=Win
+
+# The Super/Hyper key
+VK_COMMAND_OR_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-fi/toolkit/chrome/global-platform/win/intl.properties b/l10n-fi/toolkit/chrome/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global-platform/win/intl.properties
@@ -0,0 +1,7 @@
+# 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 (intl.ellipsis): Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+intl.ellipsis=…
diff --git a/l10n-fi/toolkit/chrome/global-platform/win/platformKeys.properties b/l10n-fi/toolkit/chrome/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..bc7c568be6
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global-platform/win/platformKeys.properties
@@ -0,0 +1,33 @@
+# 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/.
+
+# Platform: Windows
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Vaihto
+
+# The Command key
+VK_META=Meta
+
+# The Win key
+VK_WIN=Win
+
+# The Win key
+VK_COMMAND_OR_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/l10n-fi/toolkit/chrome/global/aboutStudies.properties b/l10n-fi/toolkit/chrome/global/aboutStudies.properties
new file mode 100644
index 0000000000..60c264265b
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/aboutStudies.properties
@@ -0,0 +1,33 @@
+# 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 (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = Shield-tutkimukset
+removeButton = Poista
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = Aktiiviset tutkimukset
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = Valmistuneet tutkimukset
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = Aktiivinen
+
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = Valmis
+
+updateButtonWin = Päivitä asetuksia
+updateButtonUnix = Päivitä asetuksia
+learnMore = Lue lisää
+noStudies = Et ole osallistunut tutkimuksiin.
+disabledList = Tässä on listattuna tutkimukset, joihin olet osallistunut. Uusia tutkimuksia ei suoriteta.
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = Mikä tämä on? %S saattaa asentaa ja suorittaa tutkimuksia silloin tällöin.
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = Tämä tutkimus asettaa asetuksen %1$S arvoon %2$S.
diff --git a/l10n-fi/toolkit/chrome/global/autocomplete.properties b/l10n-fi/toolkit/chrome/global/autocomplete.properties
new file mode 100644
index 0000000000..105e0ff25c
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/autocomplete.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/.
+
+# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete
+# entries that are bookmark keyword searches. %1$S will be replaced with the
+# domain name of the bookmark, and %2$S will be replaced with the keyword
+# search text that the user is typing. %2$S will not be empty.
+bookmarkKeywordSearch = %1$S: %2$S
diff --git a/l10n-fi/toolkit/chrome/global/browser.properties b/l10n-fi/toolkit/chrome/global/browser.properties
new file mode 100644
index 0000000000..9f15cf3c25
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/browser.properties
@@ -0,0 +1,7 @@
+# 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/.
+
+formPostSecureToInsecureWarning.title = Turvallisuusvaroitus
+formPostSecureToInsecureWarning.message = Antamasi tiedot tullaan lähettämään salaamattoman yhteyden kautta, ja muut henkilöt voivat helposti lukea niitä.\n\nHaluatko varmasti jatkaa tietojen lähettämistä?
+formPostSecureToInsecureWarning.continue = Jatka
diff --git a/l10n-fi/toolkit/chrome/global/commonDialogs.properties b/l10n-fi/toolkit/chrome/global/commonDialogs.properties
new file mode 100644
index 0000000000..fc3d969577
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/commonDialogs.properties
@@ -0,0 +1,46 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+Alert=Huomio
+Confirm=Vahvista
+ConfirmCheck=Vahvista
+Prompt=Kysy
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=Tunnistautuminen vaaditaan - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=Salasana vaaditaan - %S
+Select=Valitse
+OK=OK
+Cancel=Peruuta
+Yes=&Kyllä
+No=&Ei
+Save=&Tallenna
+Revert=&Palauta
+DontSave=&Älä tallenna
+ScriptDlgGenericHeading=[Javascript-sovelma]
+ScriptDlgHeading=Sivulla osoitteessa %S lukee:
+ScriptDlgNullPrincipalHeading=Tämä sivu sanoo:
+ScriptDialogLabel=Älä anna tämän sivun luoda uusia ikkunoita
+ScriptDialogLabelNullPrincipal=Estä tämä sivusto näyttämästä uusia kehotteita
+# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal):
+# %S is either the domain and port of the site prompting, or the name of
+# an add-on prompting.
+ScriptDialogLabelContentPrincipal=Estä %S näyttämästä uusia kehotteita
+ScriptDialogPreventTitle=Vahvista asetus
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S pyytää käyttäjätunnusta ja salasanaa. Sivusto sanoo: ”%1$S”
+EnterLoginForProxy3=Välityspalvelin %2$S pyytää käyttäjätunnusta ja salasanaa. Sivusto sanoo: ”%1$S”
+EnterUserPasswordFor2=%1$S pyytää käyttäjätunnusta ja salasanaa.
+EnterUserPasswordForCrossOrigin2=%1$S pyytää käyttäjätunnusta ja salasanaa. VAROITUS: Salasanaa ei lähetetä sivustolle, jolla olet juuri nyt!
+EnterPasswordFor=Kirjoita salasana käyttäjätunnukselle %1$S palvelimella %2$S
+EnterCredentials=Tämä sivusto pyytää sinua kirjautumaan sisään.
+# %S is the username for which a password is requested.
+EnterPasswordOnlyFor=Tämä sivusto pyytää sinua kirjautumaan sisään käyttäjänä %S.
+# %S is the domain of the site being accessed.
+EnterCredentialsCrossOrigin=Sivusto pyytää sinua kirjautumaan sisään. Varoitus: kirjautumistiedot jaetaan sivustolle %S eikä tällä hetkellä vierailemallesi sivustolle.
+SignIn=Kirjaudu sisään
diff --git a/l10n-fi/toolkit/chrome/global/contentAreaCommands.properties b/l10n-fi/toolkit/chrome/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..36282cd042
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/contentAreaCommands.properties
@@ -0,0 +1,28 @@
+# 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/.
+
+# context menu strings
+
+SaveImageTitle=Tallenna kuva
+SaveMediaTitle=Tallenna media
+SaveVideoTitle=Tallenna video
+SaveAudioTitle=Tallenna äänite
+SaveLinkTitle=Tallenna nimellä
+WebPageCompleteFilter=Verkkosivu, kokonainen
+WebPageHTMLOnlyFilter=Verkkosivu, pelkkä HTML
+WebPageXHTMLOnlyFilter=Verkkosivu, pelkkä XHTML
+WebPageSVGOnlyFilter=Verkkosivu, pelkkä SVG
+WebPageXMLOnlyFilter=Verkkosivu, pelkkä XML
+
+# LOCALIZATION NOTE (UntitledSaveFileName):
+# This is the default filename used when saving a file if a filename could
+# not be determined or if a filename was invalid. A period and file
+# extension may be appended to this string.
+UntitledSaveFileName=Nimetön
+
+# LOCALIZATION NOTE (filesFolder):
+# This is the name of the folder that is created parallel to a HTML file
+# when it is saved "With Images". The %S section is replaced with the
+# leaf name of the file being saved (minus extension).
+filesFolder=%S_tiedostot
diff --git a/l10n-fi/toolkit/chrome/global/dialog.properties b/l10n-fi/toolkit/chrome/global/dialog.properties
new file mode 100644
index 0000000000..0cf2e23ffb
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/dialog.properties
@@ -0,0 +1,12 @@
+# 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/.
+
+button-accept=OK
+button-cancel=Peruuta
+button-help=Ohje
+button-disclosure=Lisätietoja
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=O
+accesskey-disclosure=L
diff --git a/l10n-fi/toolkit/chrome/global/extensions.properties b/l10n-fi/toolkit/chrome/global/extensions.properties
new file mode 100644
index 0000000000..5fc478732c
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/extensions.properties
@@ -0,0 +1,27 @@
+# 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 (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.title = Poista %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = Laajennus ”%S” pyytää, että se poistetaan. Mitä tehdään?
+
+uninstall.confirmation.button-0.label = Poista
+uninstall.confirmation.button-1.label = Pidä asennettuna
+
+saveaspdf.saveasdialog.title = Tallenna nimellä
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = Laajennus, %S, muutti sivun, jonka näet avatessasi uuden välilehden.
+newTabControlled.learnMore = Lue lisää
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = Laajennus, %S, muutti sivun, jonka näet avatessasi aloitussivun tai uuden ikkunan.
+homepageControlled.learnMore = Lue lisää
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = Laajennus, %1$S, pitää joitain välilehtiä piilossa. Voit edelleen käyttää niitä %2$S-painikkeen kautta.
+tabHideControlled.learnMore = Lue lisää
+
diff --git a/l10n-fi/toolkit/chrome/global/fallbackMenubar.properties b/l10n-fi/toolkit/chrome/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..f07487b6b3
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# 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/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=Lopeta
+quitMenuitem.key=q
diff --git a/l10n-fi/toolkit/chrome/global/filepicker.properties b/l10n-fi/toolkit/chrome/global/filepicker.properties
new file mode 100644
index 0000000000..46b6ec46ec
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/filepicker.properties
@@ -0,0 +1,20 @@
+# 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: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=Kaikki tiedostot
+htmlTitle=HTML-tiedostot
+textTitle=Tekstitiedostot
+imageTitle=Kuvatiedostot
+xmlTitle=XML-tiedostot
+xulTitle=XUL-tiedostot
+appsTitle=Ohjelmat
+audioTitle=Äänitiedostot
+videoTitle=Videotiedostot
+
+pdfTitle=PDF-tiedostot
+
+formatLabel=Tiedostomuoto:
+selectedFileNotReadableError=Valittuun tiedostoon ei ole lukuoikeutta
diff --git a/l10n-fi/toolkit/chrome/global/intl.css b/l10n-fi/toolkit/chrome/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/intl.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/l10n-fi/toolkit/chrome/global/intl.properties b/l10n-fi/toolkit/chrome/global/intl.properties
new file mode 100644
index 0000000000..4826bdb1cf
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/intl.properties
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (intl.accept_languages):
+# This is a comma-separated list of valid BCP 47 language tags.
+#
+# Begin with the value of 'general.useragent.locale'. Next, include language
+# tags for other languages that you expect most users of your locale to be
+# able to speak, so that their browsing experience degrades gracefully if
+# content is not available in their primary language.
+#
+# It is recommended that you include "en-US, en" at the end of the list as a
+# last resort. However, if you know that users of your locale would prefer a
+# different variety of English, or if they are not likely to understand
+# English at all, you may opt to include a different English language tag, or
+# to exclude English altogether.
+#
+# For example, the Breton [br] locale might consider including French and
+# British English in their list, since those languages are commonly spoken in
+# the same area as Breton:
+# intl.accept_languages=br, fr-FR, fr, en-GB, en
+intl.accept_languages=fi-fi, fi, en-us, en
+
+# LOCALIZATION NOTE (font.language.group):
+# This preference controls the initial setting of the language drop-down menu
+# in the Content > Fonts & Colors > Advanced preference panel.
+#
+# Set it to the value of one of the menuitems in the "selectLangs" menulist in
+# http://mxr.mozilla.org/mozilla/source/browser/components/preferences/fonts.xul
+font.language.group=x-western
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=1
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=true
diff --git a/l10n-fi/toolkit/chrome/global/keys.properties b/l10n-fi/toolkit/chrome/global/keys.properties
new file mode 100644
index 0000000000..9173c63d23
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/keys.properties
@@ -0,0 +1,78 @@
+# 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 : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevelant kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard.
+# If you decide to translate this file, you should translate it based on
+# the prevalent kind of keyboard for your target user.
+# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels
+# and those w/ glyphs.
+# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard.
+#
+# For more information please see bugzilla bug 90888.
+
+# F1..F10 should probably not be translated unless there are keyboards that actually have other labels
+# F11..F20 might be something else, but are really keyboard specific and not region/language specific
+# there are actually two different F11/F12 keys, I don't know which one these labels represent.
+# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut
+# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again
+# LOCALIZATION NOTE : BLOCK Do not translate the next block
+VK_F1=F1
+VK_F2=F2
+VK_F3=F3
+VK_F4=F4
+VK_F5=F5
+VK_F6=F6
+VK_F7=F7
+VK_F8=F8
+VK_F9=F9
+VK_F10=F10
+
+VK_F11=F11
+VK_F12=F12
+VK_F13=F13
+VK_F14=F14
+VK_F15=F15
+VK_F16=F16
+VK_F17=F17
+VK_F18=F18
+VK_F19=F19
+VK_F20=F20
+# LOCALIZATION NOTE : BLOCK end do not translate block
+
+# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block
+VK_UP=Nuoli yl\u00F6s
+VK_DOWN=Nuoli alas
+VK_LEFT=Nuoli vasemmalle
+VK_RIGHT=Nuoli oikealle
+VK_PAGE_UP=Page Up
+VK_PAGE_DOWN=Page Down
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+VK_TAB=Sarkain
+VK_BACK=Askelpalautin
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Home
+VK_END=End
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/l10n-fi/toolkit/chrome/global/narrate.properties b/l10n-fi/toolkit/chrome/global/narrate.properties
new file mode 100644
index 0000000000..df82a0c6c1
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/narrate.properties
@@ -0,0 +1,25 @@
+# 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/.
+
+# "Listen, which allows users to listen to Firefox reading the text,
+# instead of having to read it themselves." This is the name
+# of the feature and it is the label for the popup button.
+# %S is the keyboard shortcut for the listen command
+listen-label = Kuuntele (%S)
+back = Takaisin
+# %S is the keyboard shortcut for the start command
+start-label = Aloita (%S)
+# %S is the keyboard shortcut for the stop command
+stop-label = Pysäytä (%S)
+# Keyboard shortcut to toggle the narrate feature
+narrate-key-shortcut = K
+forward = Eteenpäin
+speed = Nopeus
+selectvoicelabel = Ääni:
+# Default voice is determined by the language of the document.
+defaultvoice = Oletus
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
diff --git a/l10n-fi/toolkit/chrome/global/printdialog.properties b/l10n-fi/toolkit/chrome/global/printdialog.properties
new file mode 100644
index 0000000000..a436284cff
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/printdialog.properties
@@ -0,0 +1,52 @@
+# 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/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=Tulosta
+optionsTabLabelGTK=Asetukset
+
+# Mac titles:
+optionsTitleMac=Asetukset:
+appearanceTitleMac=Ulkonäkö:
+pageHeadersTitleMac=Sivun yläotsakkeet:
+pageFootersTitleMac=Sivun alaotsakkeet:
+
+# Windows titles:
+optionsTitleWindows=Asetukset
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=Älä huomioi suurennosta ja _sovita sivun leveyteen
+selectionOnly=Tulosta _vain valinta
+printBGOptions=Tulosta taustat
+printBGColors=Tulosta tausta_väri
+printBGImages=Tulosta tausta_kuvat
+headerFooter=Ylä- ja alaotsakkeet
+left=Vasen
+center=Keskellä
+right=Oikea
+headerFooterBlank=--tyhjä--
+headerFooterTitle=Otsikko
+headerFooterURL=URL
+headerFooterDate=Pvm/Aika
+headerFooterPage=Sivu #
+headerFooterPageTotal=Sivu # / #
+headerFooterCustom=Oma...
+customHeaderFooterPrompt=Kirjoita oma ylä-/alaotsaketekstisi
+
+summarySelectionOnlyTitle=Tulosta valinta
+summaryShrinkToFitTitle=Sovita sivulle
+summaryPrintBGColorsTitle=Tulosta taustavärit
+summaryPrintBGImagesTitle=Tulosta taustakuvat
+summaryHeaderTitle=Sivun yläotsakkeet
+summaryFooterTitle=Sivun alaotsakkeet
+summaryNAValue=N/A
+summaryOnValue=On
+summaryOffValue=Off
diff --git a/l10n-fi/toolkit/chrome/global/resetProfile.properties b/l10n-fi/toolkit/chrome/global/resetProfile.properties
new file mode 100644
index 0000000000..ada73c2e67
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# 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: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=Näyttää siltä, että %Sia ei ole käynnistetty aikoihin. Siivotaanko asetuksia niin, että käyttökokemus on varmasti näpsäkkä ja uudenveroinen? Ja tervetuloa muuten takaisin!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Näyttää siltä, että olet asentanut %Sin uudestaan. Siivotaanko asetuksia niin, että käyttökokemus on varmasti näpsäkkä ja uudenveroinen?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Palauta %S uudenveroiseksi…
+refreshProfile.resetButton.accesskey=P
diff --git a/l10n-fi/toolkit/chrome/global/viewSource.properties b/l10n-fi/toolkit/chrome/global/viewSource.properties
new file mode 100644
index 0000000000..61a57225a5
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/viewSource.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle =Siirry riville
+goToLineText =Kirjoita rivinumero
+invalidInputTitle =Virheellinen syöte
+invalidInputText =Annettu rivinumero oli virheellinen.
+outOfRangeTitle =Riviä ei löytynyt
+outOfRangeText =Annettua riviä ei löytynyt.
+viewSelectionSourceTitle = Valinnan DOM-lähdekoodi
+
+context_goToLine_label = Siirry riville…
+context_goToLine_accesskey = r
+context_wrapLongLines_label = Rivitä pitkät rivit
+context_highlightSyntax_label = Syntaksin värikoodaus
diff --git a/l10n-fi/toolkit/chrome/global/wizard.properties b/l10n-fi/toolkit/chrome/global/wizard.properties
new file mode 100644
index 0000000000..345c68e790
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/global/wizard.properties
@@ -0,0 +1,8 @@
+# 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/.
+
+default-first-title=Tervetuloa
+default-last-title=Viimeistely
+default-first-title-mac=Esittely
+default-last-title-mac=Viimeistely
diff --git a/l10n-fi/toolkit/chrome/mozapps/downloads/downloads.properties b/l10n-fi/toolkit/chrome/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..de27f22f35
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/mozapps/downloads/downloads.properties
@@ -0,0 +1,6 @@
+# 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/.
+
+# Desktop folder name for downloaded files
+downloadsFolder=Lataukset
diff --git a/l10n-fi/toolkit/chrome/mozapps/downloads/unknownContentType.properties b/l10n-fi/toolkit/chrome/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..60daa6cdf8
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/mozapps/downloads/unknownContentType.properties
@@ -0,0 +1,23 @@
+# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+# 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/.
+
+title=Avataan tiedostoa %S
+saveDialogTitle=Anna tallennettavan tiedoston nimi…
+defaultApp=%S (oletus)
+chooseAppFilePickerTitle=Valitse ohjelma
+badApp=Ohjelmaa ("%S") ei löytynyt. Korjaa tiedostonimi tai valitse toinen ohjelma.
+badApp.title=Ohjelmaa ei löytynyt
+badPermissions=Tiedostoa ei voitu tallentaa, koska sinulla ei ole riittäviä kirjoitusoikeuksia. Valitse toinen tallennuskansio.
+badPermissions.title=Riittämättömät kirjoitusoikeudet
+unknownAccept.label=Tallenna tiedosto
+unknownCancel.label=Peruuta
+fileType=%S -tiedosto
+# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit
+orderedFileSizeWithType=%1$S -tiedosto (%2$S %3$S)
+avifExtHandlerDescription=AV1-kuvatiedosto (AVIF)
+pdfExtHandlerDescription=Portable Document Format (PDF)
+svgExtHandlerDescription=Scalable Vector Graphics (SVG)
+webpExtHandlerDescription=WebP-kuva
+xmlExtHandlerDescription=Extensible Markup Language (XML)
diff --git a/l10n-fi/toolkit/chrome/mozapps/profile/profileSelection.properties b/l10n-fi/toolkit/chrome/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..3c99ca73d5
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/mozapps/profile/profileSelection.properties
@@ -0,0 +1,55 @@
+# 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: These strings are used for startup/profile problems and the profile manager.
+
+# Application not responding
+# LOCALIZATION NOTE (restartTitle, restartMessageNoUnlocker2, restartMessageUnlocker, restartMessageNoUnlockerMac, restartMessageUnlockerMac): Messages displayed when the application is running but is not responding to commands. %S is the application name.
+restartTitle=Sulje %S
+restartMessageNoUnlocker2=%S on jo käynnissä, mutta ei vastaa kutsuihin. Ohjelmaa %S voidaan käyttää, kun kaikki %S-prosessit on lopetettu, laite on käynnistetty uudelleen tai käytetään eri profiilia.
+restartMessageUnlocker=%S on jo käynnissä, mutta ei vastaa kutsuihin. Uusi ikkuna voidaan avata, kun %Sin käynnissä oleva prosessi on lopetettu.
+restartMessageNoUnlockerMac=%S on jo käynnissä. Vain yksi %S-kopio voi kerrallaan olla käynnissä.
+restartMessageUnlockerMac=%S on jo käynnissä. Käynnissä oleva %S-kopio lopetetaan, jotta uusi voidaan avata.
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=Profiili: "%S" — Kansio: "%S"
+
+pleaseSelectTitle=Valitse profiili
+pleaseSelect=Valitse profiili, jolla %S käynnistetään, tai luo uusi.
+
+renameProfileTitle=Muuta profiilin nimi
+renameProfilePrompt=Muuta profiilin "%S" nimeä:
+
+profileNameInvalidTitle=Virheellinen profiilinnimi
+profileNameInvalid="%S" ei ole sallittu profiilinnimi.
+
+chooseFolder=Valitse profiilikansio
+profileNameEmpty=Profiililla ei voi olla tyhjää nimeä.
+invalidChar=Merkkiä "%S" ei voi käyttää profiilin nimessä. Anna toinen nimi.
+
+deleteTitle=Poista profiili
+deleteProfileConfirm=Profiilin poistamista profiililistalta ei voi peruuttaa.\nHaluttaessa myös profiilin tiedostot, jotka sisältävät mm. asetukset ja varmenteet, voidaan poistaa. Tämä toiminto poistaa kansion "%S" ja sitä ei voi peruuttaa.\nPoistetaanko profiilin tiedostot?
+deleteFiles=Poista tiedostot
+dontDeleteFiles=Älä poista tiedostoja
+
+profileCreationFailed=Profiilia ei voitu luoda. Luultavasti valittuun kansioon ei ole kirjoitusoikeuksia.
+profileCreationFailedTitle=Profiilin luonti epäonnistui
+profileExists=Samanniminen profiili on jo olemassa. Anna uusi nimi.
+profileFinishText=Luo tämä profiili napsauttamalla valmis.
+profileFinishTextMac=Luo tämä profiili napsauttamalla valmis.
+profileMissing=%Sin profiilia ei voitu ladata. Voi olla, että sitä ei ole tai se ei ole luettavissa.
+profileMissingTitle=Profiili puuttuu
+profileDeletionFailed=Profiilin poistaminen epäonnistui, koska se saattaa olla käytössä.
+profileDeletionFailedTitle=Poistaminen epäonnistui
+
+# Profile reset
+# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name.
+resetBackupDirectory=%Sin vanhat tiedot
+
+flushFailTitle=Muutoksia ei tallennettu
+flushFailMessage=Odottamaton virhe on estänyt muutosten tallentamisen.
+# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName.
+flushFailRestartButton=Käynnistä %S uudestaan
+flushFailExitButton=Sulje
diff --git a/l10n-fi/toolkit/chrome/mozapps/update/updates.properties b/l10n-fi/toolkit/chrome/mozapps/update/updates.properties
new file mode 100644
index 0000000000..d21f51bede
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/mozapps/update/updates.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/.
+
+# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
+# where update version from the update xml
+# example: MyApplication 10.0.5
+updateName=%S %S
+
+noThanksButton=Ei kiitos
+noThanksButton.accesskey=E
+restartLaterButton=Käynnistä myöhemmin
+restartLaterButton.accesskey=m
+restartNowButton=Käynnistä %S uudelleen
+restartNowButton.accesskey=u
+
+statusFailed=Asennus ei onnistunut
+
+installSuccess=Päivityksen asennus onnistui
+installPending=Asennetaan myöhemmin
+patchApplyFailure=Päivitystä ei voitu asentaa (päivitystiedosto ei toiminut)
+elevationFailure=Sinulla ei ole tarvittavia oikeuksia tämän päivityksen asentamiseen. Ota yhteyttä järjestelmän ylläpitäjään.
+
+check_error-200=Päivityksen XML-tiedosto on virheellisesti muotoiltu (200)
+check_error-403=Pääsy estetty (403)
+check_error-404=Päivityksen XML-tiedostoa ei löytynyt (404)
+check_error-500=Palvelinvirhe (500)
+check_error-2152398849=Epäonnistui (tuntematon syy)
+check_error-2152398861=Yhteyden muodostus ei onnistunut
+check_error-2152398862=Yhteys aikakatkaistiin
+# NS_ERROR_OFFLINE
+check_error-2152398864=Verkkoyhteyttä ei ole (Siirry yhteystilaan)
+check_error-2152398867=Portti on estetty
+check_error-2152398868=Dataa ei siirtynyt (Yritä uudelleen)
+check_error-2152398878=Päivityspalvelinta ei löytynyt (Tarkista verkkoyhteytesi tai ota yhteys ylläpitoon)
+check_error-2152398890=Välityspalvelinta ei löytynyt (Tarkista verkkoyhteytesi tai ota yhteys ylläpitoon)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=Verkkoyhteyttä ei ole (Siirry yhteystilaan)
+check_error-2152398919=Datansiirto keskeytettiin (Yritä uudelleen)
+check_error-2152398920=Yhteyden muodostaminen välityspalvelimeen ei onnistunut (Ota yhteys ylläpitoon)
+check_error-2153390069=Palvelimen varmenne on vanhentunut (Tarkista järjestelmän kello ja päivämäärä ja korjaa ne, jos ne ovat väärin, tai ota yhteys järjestelmän ylläpitoon)
+check_error-verification_failed=Päivityspaketti ei läpäissyt virheettömyystestiä (ota yhteys ylläpitoon)
+check_error-move_failed=Päivityksen valmistelu asennusta varten epäonnistui
+check_error-update_url_not_available=Päivityksen URL-osoite ei ole saatavilla
+check_error-connection_aborted=Yhteys keskeytetty
diff --git a/l10n-fi/toolkit/chrome/passwordmgr/passwordmgr.properties b/l10n-fi/toolkit/chrome/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..b5a35284ba
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/passwordmgr/passwordmgr.properties
@@ -0,0 +1,79 @@
+# 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/.
+
+rememberPassword = Tallenna salasana salasanojen hallintaan.
+savePasswordTitle = Vahvista
+# LOCALIZATION NOTE (saveLoginMsg2, saveLoginMsgNoUser2):
+# %S is the login's hostname.
+saveLoginMsg2 = Tallennetaanko tunnus sivustolle %S?
+saveLoginMsgNoUser2 = Tallennetaanko sivuston %S salasana?
+saveLoginButtonAllow.label = Tallenna
+saveLoginButtonAllow.accesskey = T
+saveLoginButtonDeny.label = Älä tallenna
+saveLoginButtonDeny.accesskey = Ä
+saveLoginButtonNever.label = Älä tallenna koskaan
+saveLoginButtonNever.accesskey = k
+# LOCALIZATION NOTE (updateLoginMsg3, updateLoginMsgNoUser3):
+# %S is the login's hostname.
+updateLoginMsg3 = Päivitetäänkö tunnus sivustolle %S?
+updateLoginMsgNoUser3 = Päivitetäänkö sivuston %S salasana?
+updateLoginMsgAddUsername2 = Lisätäänkö käyttäjätunnus tallennettuun salasanaan?
+updateLoginButtonText = Päivitä
+updateLoginButtonAccessKey = Ä
+updateLoginButtonDeny.label = Älä päivitä
+updateLoginButtonDeny.accesskey = i
+updateLoginButtonDelete.label = Poista tallennettu kirjautumistieto
+updateLoginButtonDelete.accesskey = P
+# LOCALIZATION NOTE (rememberPasswordMsg):
+# 1st string is the username for the login, 2nd is the login's hostname.
+# Note that long usernames may be truncated.
+rememberPasswordMsg = Tallennetaanko salasana käyttäjätunnukselle "%1$S" palvelimella %2$S?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = Tallennetaanko palvelimen %S salasana?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=Ei käyttäjätunnusta
+togglePasswordLabel=Näytä salasana
+togglePasswordAccessKey2=N
+notNowButtonText = &Ei nyt
+neverForSiteButtonText = Ei &koskaan tälle palvelimelle
+rememberButtonText = &Tallenna
+passwordChangeTitle = Vahvista salasanan vaihto
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = Muutetaanko käyttäjätunnukselle "%S" tallennettu salasana?
+updatePasswordMsgNoUser = Muutetaanko olemassa oleva salasana?
+userSelectText2 = Valitse päivitettävä käyttäjätunnus:
+loginsDescriptionAll2=Seuraavien sivustojen kirjautumistiedot ovat tallennettuna tietokoneellesi
+
+# LOCALIZATION NOTE (useASecurelyGeneratedPassword):
+# Shown in the autocomplete popup to allow filling a generated password into a password field.
+useASecurelyGeneratedPassword=Käytä turvallisesti luotua salasanaa
+# LOCALIZATION NOTE (generatedPasswordWillBeSaved):
+# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved.
+generatedPasswordWillBeSaved=%S tallentaa tämän sivuston salasanan.
+# LOCALIZATION NOTE (loginHostAge):
+# This is used to show the context menu login items with their age.
+# 1st string is the username for the login, 2nd is the login's age.
+loginHostAge=%1$S (%2$S)
+# LOCALIZATION NOTE (noUsername):
+# String is used on the context menu when a login doesn't have a username.
+noUsername=Ei käyttäjätunnusta
+# LOCALIZATION NOTE (displaySameOrigin):
+# String is used on the autocomplete row when the login origin is a domain match with the document origin
+displaySameOrigin=Tältä verkkosivustolta
+
+# LOCALIZATION NOTE (insecureFieldWarningDescription2):
+# %1$S will contain insecureFieldWarningLearnMore and look like a link to indicate that clicking will open a tab with support information.
+insecureFieldWarningDescription2 = Yhteys ei ole suojattu. Tähän kirjoitettujen kirjautumistietojen turvallisuus voi vaarantua. %1$S
+insecureFieldWarningLearnMore = Lue lisää
+
+# LOCALIZATION NOTE (viewSavedLogins.label):
+# This label is used in the footer of login autocomplete menus.
+viewSavedLogins.label= Näytä tallennetut kirjautumistiedot
+
+# LOCALIZATION NOTE (managePasswords.label):
+# This label is used in the footer of login autocomplete menus.
+managePasswords.label= Hallitse salasanoja
diff --git a/l10n-fi/toolkit/chrome/places/places.properties b/l10n-fi/toolkit/chrome/places/places.properties
new file mode 100644
index 0000000000..de41a9a15c
--- /dev/null
+++ b/l10n-fi/toolkit/chrome/places/places.properties
@@ -0,0 +1,33 @@
+# 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/.
+
+BookmarksMenuFolderTitle=Kirjanmerkit-valikko
+BookmarksToolbarFolderTitle=Kirjanmerkkipalkki
+OtherBookmarksFolderTitle=Muut kirjanmerkit
+TagsFolderTitle=Avainsanat
+MobileBookmarksFolderTitle=Kannettavan laitteen kirjanmerkit
+
+OrganizerQueryHistory=Historia
+OrganizerQueryDownloads=Lataukset
+OrganizerQueryAllBookmarks=Kaikki kirjanmerkit
+
+# LOCALIZATION NOTE (dateName):
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=Tänään
+finduri-AgeInDays-is-1=Eilen
+finduri-AgeInDays-is=%S päivää sitten
+finduri-AgeInDays-last-is=Viimeiset %S päivää
+finduri-AgeInDays-isgreater=Yli %S päivää sitten
+finduri-AgeInMonths-is-0=Tässä kuussa
+finduri-AgeInMonths-isgreater=Yli %S kuukautta sitten
+
+# LOCALIZATION NOTE (localFiles):
+# This is used to generate local files container when history is grouped by site
+localhost=(paikallisia tiedostoja)
+
+# LOCALIZATION NOTE
+# The string is used for showing file size of each backup in the "fileRestorePopup" popup
+# %1$S is the file size
+# %2$S is the file size unit
+backupFileSizeText=%1$S %2$S
diff --git a/l10n-fi/toolkit/crashreporter/aboutcrashes.ftl b/l10n-fi/toolkit/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..b282d051d8
--- /dev/null
+++ b/l10n-fi/toolkit/crashreporter/aboutcrashes.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v- 2-0- If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla-org/MPL/2-0/-
+
+
+# This 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/.
+
+crash-reports-title = Kaatumisilmoitukset
+
+submit-all-button-label = Lähetä kaikki
+delete-button-label = Poista kaikki
+delete-confirm-title = Poistetaanko kaikki ilmoitukset?
+delete-unsubmitted-description = Tämä poistaa kaikki lähettämättömät kaatumisilmoitukset eikä toimintoa voi perua.
+delete-submitted-description = Tämä poistaa listan lähetetyistä kaatumisilmoituksista, mutta ei poista lähetettyjä tietoja. Toimintoa ei voi perua.
+
+crashes-unsubmitted-label = Lähettämättömät kaatumisilmoitukset
+id-heading = Kaatumistunnus
+date-crashed-heading = Kaatumisaika
+submit-crash-button-label = Lähetä
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = Epäonnistui
+
+crashes-submitted-label = Lähetetyt kaatumisilmoitukset
+date-submitted-heading = Lähettämisaika
+view-crash-button-label = Näytä
+
+no-reports-label = Kaatumisilmoituksia ei ole lähetetty.
+no-config-label = Tätä ohjelmaa ei ole asetettu näyttämään kaatumisilmoituksia. Asetuksen <code>breakpad.reportURL</code> arvon täytyy olla tosi.
diff --git a/l10n-fi/toolkit/crashreporter/crashreporter.ini b/l10n-fi/toolkit/crashreporter/crashreporter.ini
new file mode 100644
index 0000000000..00accd2498
--- /dev/null
+++ b/l10n-fi/toolkit/crashreporter/crashreporter.ini
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (isRTL):
+# Leave this entry empty unless your language requires right-to-left layout,
+# for example like Arabic, Hebrew, Persian. If your language needs RTL, please
+# use the untranslated English word "yes" as value
+isRTL=
+CrashReporterTitle=Kaatumisen raportointi
+# LOCALIZATION NOTE (CrashReporterVendorTitle): %s is replaced with the vendor name. (i.e. "Mozilla")
+CrashReporterVendorTitle=%s: Kaatumisen raportointi
+# LOCALIZATION NOTE (CrashReporterErrorText): %s is replaced with another string containing detailed information.
+CrashReporterErrorText=Ohjelma kohtasi odottamattoman ongelman ja kaatui.\n\nIkävä kyllä tästä virheestä ei voida lähettää kaatumisilmoitusta.\n\nLisätietoja: %s
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The first %s is replaced with the product name (i.e. "Firefox"), the second is replaced with another string containing detailed information. These two substitutions can not be reordered!
+CrashReporterProductErrorText2=%s kohtasi odottamattoman ongelman ja kaatui.\n\nIkävä kyllä tästä virheestä ei voida lähettää kaatumisilmoitusta.\n\nLisätietoja: %s
+CrashReporterSorry=Pahoittelumme
+# LOCALIZATION NOTE (CrashReporterDescriptionText2): The %s is replaced with the product name.
+CrashReporterDescriptionText2=%s kohtasi odottamattoman ongelman ja kaatui.\n\nLähettämällä kaatumisilmoituksen autat meitä tunnistamaan ja korjaamaan ongelman.
+CrashReporterDefault=Tämä ohjelma ilmoittaa kaatumiseen johtaneesta ohjelmavirheestä ohjelman jakelijalle. Tätä ohjelmaa ei pidä käynnistää erikseen.
+Details=Lisätietoja…
+ViewReportTitle=Ilmoituksen sisältö
+CommentGrayText=Lisää kommenttisi englanniksi (Kommentit ovat julkisia ja kaikkien nähtävillä)
+ExtraReportInfo=Ilmoitus sisältää myös teknisiä tietoja ohjelman tilasta sen kaatumishetkellä.
+# LOCALIZATION NOTE (CheckSendReport): The %s is replaced with the vendor name.
+CheckSendReport=Lähetä %slle kaatumisilmoitus, jotta ongelma voidaan korjata
+CheckIncludeURL=Liitä ilmoitukseen kaatumishetkellä avoimen sivun osoite
+CheckAllowEmail=%s saa ottaa minuun yhteyttä tämän ilmoituksen puitteissa
+EmailGrayText=Kirjoita sähköpostiosoitteesi
+ReportPreSubmit2=Kaatumisilmoitus lähetetään ennen kuin lopetat tai käynnistät ohjelman uudestaan.
+ReportDuringSubmit2=Lähetetään ilmoitusta…
+ReportSubmitSuccess=Kaatumisilmoituksen lähettäminen onnistui.
+ReportSubmitFailed=Kaatumisilmoituksen lähettäminen epäonnistui.
+ReportResubmit=Lähetetään uudestaan aikaisemmin lähettämättä jääneitä ilmoituksia…
+# LOCALIZATION NOTE (Quit2): The %s is replaced with the product name.
+Quit2=Lopeta %s
+# LOCALIZATION NOTE (Restart): The %s is replaced with the product name.
+Restart=Käynnistä %s uudestaan
+Ok=OK
+Close=Sulje
+
+# LOCALIZATION NOTE (CrashID): The %s is replaced with the Crash ID from the server, which is a string like abc12345-6789-0abc-def1-23456abcdef1
+CrashID=Kaatumistunnus: %s
+# LOCALIZATION NOTE (CrashDetailsURL): The %s is replaced with a URL that the user can visit to view the crash details.
+CrashDetailsURL=Kerätyt kaatumistiedot löytyvät osoitteesta %s
+ErrorBadArguments=Ohjelma antoi virheellisen valinnan.
+ErrorExtraFileExists=Ohjelma ei luonut ohjelmadatatiedostoa.
+ErrorExtraFileRead=Ohjelmadatatiedostoa ei voitu lukea.
+ErrorExtraFileMove=Ohjelmadatatiedostoa ei voitu siirtää.
+ErrorDumpFileExists=Ohjelma ei luonut kaatumisvedostiedostoa.
+ErrorDumpFileMove=Kaatumisvedosta ei voitu siirtää.
+ErrorNoProductName=Ohjelma ei identifioinut itseään.
+ErrorNoServerURL=Ohjelma ei ilmoittanut palvelinta, johon vikailmoitus toimitetaan.
+ErrorNoSettingsPath=Kaatumisen raportointiohjelman asetuksia ei löytynyt.
+ErrorCreateDumpDir=Odotetun vedoksen kansiota ei voitu luoda.
+# LOCALIZATION NOTE (ErrorEndOfLife): The %s is replaced with the product name.
+ErrorEndOfLife=Käyttämääsi versiota %sista ei enää tueta, eikä sen kaatumisilmoituksia oteta vastaan. Harkitse ohjelman päivittämistä tuettuun versioon.
+
diff --git a/l10n-fi/toolkit/services/accounts.ftl b/l10n-fi/toolkit/services/accounts.ftl
new file mode 100644
index 0000000000..9bb83c715b
--- /dev/null
+++ b/l10n-fi/toolkit/services/accounts.ftl
@@ -0,0 +1,8 @@
+# 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/.
+
+# Variables:
+# $user (String): the user name (e.g. "Ed")
+# $system (String): the operating system (e.g. "Android")
+account-client-name = { $user }: { -brand-short-name } laitteella { $system }
diff --git a/l10n-fi/toolkit/toolkit/about/aboutAbout.ftl b/l10n-fi/toolkit/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..cd9d2773ca
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutAbout.ftl
@@ -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/.
+
+about-about-title = Tietoja about-sivuista
+about-about-note =
+ Alla on lista käytettävissä olevista about-sivuista.<br/>
+ Osa sivuista voi olla sekavia ja osa on vain ongelmanratkaisutarkoituksiin.<br/>
+ Alla ei myöskään ole kaikkia about-sivuja, koska osa vaatii hakusanoja.
diff --git a/l10n-fi/toolkit/toolkit/about/aboutAddons.ftl b/l10n-fi/toolkit/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..f71652239c
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,492 @@
+# 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/.
+
+addons-page-title = Lisäosien hallinta
+search-header =
+ .placeholder = Etsi addons.mozilla.orgista
+ .searchbuttonlabel = Etsi
+
+## Variables
+## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org)
+
+list-empty-get-extensions-message = Hanki laajennukset ja teemat osoitteesta <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-dictionaries-message = Hanki sanastot osoitteesta <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-language-packs-message = Hanki kielipaketit osoitteesta <a data-l10n-name="get-extensions">{ $domain }</a>
+
+##
+
+list-empty-installed =
+ .value = Tämäntyyppisiä lisäosia ei ole asennettuna
+list-empty-available-updates =
+ .value = Päivityksiä ei löytynyt
+list-empty-recent-updates =
+ .value = Lisäosia ei ole päivitetty viime aikoina.
+list-empty-find-updates =
+ .label = Hae päivityksiä
+list-empty-button =
+ .label = Lue lisää lisäosista
+help-button = Lisäosien tuki
+sidebar-help-button-title =
+ .title = Lisäosien tuki
+addons-settings-button = { -brand-short-name }-asetukset
+sidebar-settings-button-title =
+ .title = { -brand-short-name }-asetukset
+show-unsigned-extensions-button =
+ .label = Joitain laajennuksia ei voitu varmentaa
+show-all-extensions-button =
+ .label = Näytä kaikki laajennukset
+detail-version =
+ .label = Versio
+detail-last-updated =
+ .label = Päivitetty viimeksi
+addon-detail-description-expand = Näytä lisää
+addon-detail-description-collapse = Näytä vähemmän
+detail-contributions-description = Tämän lisäosan kehittäjä toivoo, että tukisit lisäosan kehitystyötä pienellä summalla.
+detail-contributions-button = Auta
+ .title = Auta lisäosan kehitystyössä
+ .accesskey = A
+detail-update-type =
+ .value = Automaattinen päivitys
+detail-update-default =
+ .label = Oletus
+ .tooltiptext = Asenna päivitykset automaattisesti vain, jos se on oletusasetus
+detail-update-automatic =
+ .label = Käytössä
+ .tooltiptext = Asenna päivitykset automaattisesti
+detail-update-manual =
+ .label = Pois käytöstä
+ .tooltiptext = Älä asenna päivityksiä automaattisesti
+# Used as a description for the option to allow or block an add-on in private windows.
+detail-private-browsing-label = Suoritus yksityisissä ikkunoissa
+# Some add-ons may elect to not run in private windows by setting incognito: not_allowed in the manifest. This
+# cannot be overridden by the user.
+detail-private-disallowed-label = Ei sallittu yksityisissä ikkunoissa
+detail-private-disallowed-description2 = Tätä laajennusta ei suoriteta yksityisen selauksen aikana. <a data-l10n-name="learn-more">Lue lisää</a>
+# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked
+detail-private-required-label = Vaatii pääsyn yksityisiin ikkunoihin
+detail-private-required-description2 = Tällä laajennuksella on pääsy verkossa tekemiisi toimiin yksityisen selauksen aikana. <a data-l10n-name="learn-more">Lue lisää</a>
+detail-private-browsing-on =
+ .label = Salli
+ .tooltiptext = Ota käyttöön yksityisessä selauksessa
+detail-private-browsing-off =
+ .label = Älä salli
+ .tooltiptext = Poista käytöstä yksityisessä selauksessa
+detail-home =
+ .label = Kotisivu
+detail-home-value =
+ .value = { detail-home.label }
+detail-repository =
+ .label = Lisäosan profiili
+detail-repository-value =
+ .value = { detail-repository.label }
+detail-check-for-updates =
+ .label = Hae päivityksiä
+ .accesskey = H
+ .tooltiptext = Hae päivityksiä lisäosaan
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] Asetukset
+ *[other] Asetukset
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] A
+ *[other] A
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] Muokkaa tämän lisäosan asetuksia
+ *[other] Muokkaa tämän lisäosan asetuksia
+ }
+detail-rating =
+ .value = Arvostelu:
+addon-restart-now =
+ .label = Käynnistä uudelleen
+disabled-unsigned-heading =
+ .value = Jotkin lisäosat on poistettu käytöstä
+disabled-unsigned-description = Seuraavia lisäosia ei ole varmennettu käytettäväksi { -brand-short-name }issa. Voit <label data-l10n-name="find-addons">etsiä korvaavia lisäosia</label> tai pyytää kehittäjää varmentamaan ne.
+disabled-unsigned-learn-more = Lue lisää tavoista, joilla yritämme auttaa sinua pysymään turvassa verkossa.
+disabled-unsigned-devinfo = Kehittäjät, joita kiinnostaa lisäosansa varmentaminen, voivat lukea siitä <label data-l10n-name="learn-more">käsikirjastamme</label>.
+plugin-deprecation-description = Puuttuuko jotain? { -brand-short-name } ei enää tue joitain liitännäisiä. <label data-l10n-name="learn-more">Lue lisää.</label>
+legacy-warning-show-legacy = Näytä perinteiset laajennukset
+legacy-extensions =
+ .value = Perinteiset laajennukset
+legacy-extensions-description = Nämä laajennukset eivät täytä { -brand-short-name }in nykyisiä vaatimuksia, joten ne on poistettu käytöstä. <label data-l10n-name="legacy-learn-more">Lue lisää muutoksista lisäosiin</label>
+private-browsing-description2 =
+ { -brand-short-name }-laajennusten toiminta yksityisissä ikkunoissa muuttuu. Uutena { -brand-short-name }iin lisättyjä laajennuksia ei enää suoriteta oletuksena yksityisissä ikkunoissa. Jos et salli suorittamista asetuksista, laajennus ei toimi yksityisen selaamisen aikana eikä siten sinä aikana pääse käsiksi tekemisiisi verkossa. Olemme tehneet tämän muutoksen, jotta yksityinen selaus pysyy yksityisenä.
+ <label data-l10n-name="private-browsing-learn-more">Lue lisää kuinka hallita laajennusten asetuksia</label>
+addon-category-discover = Suositukset
+addon-category-discover-title =
+ .title = Suositukset
+addon-category-extension = Laajennukset
+addon-category-extension-title =
+ .title = Laajennukset
+addon-category-theme = Teemat
+addon-category-theme-title =
+ .title = Teemat
+addon-category-plugin = Liitännäiset
+addon-category-plugin-title =
+ .title = Liitännäiset
+addon-category-dictionary = Oikoluvut
+addon-category-dictionary-title =
+ .title = Oikoluvut
+addon-category-locale = Kielet
+addon-category-locale-title =
+ .title = Kielet
+addon-category-available-updates = Päivitykset
+addon-category-available-updates-title =
+ .title = Päivitykset
+addon-category-recent-updates = Tuoreet päivitykset
+addon-category-recent-updates-title =
+ .title = Tuoreet päivitykset
+addon-category-sitepermission = Sivuston käyttöoikeudet
+addon-category-sitepermission-title =
+ .title = Sivuston käyttöoikeudet
+# String displayed in about:addons in the Site Permissions section
+# Variables:
+# $host (string) - DNS host name for which the webextension enables permissions
+addon-sitepermission-host = Sivuston { $host } oikeudet
+
+## These are global warnings
+
+extensions-warning-safe-mode = Kaikki lisäosat on poistettu käytöstä vikasietotilassa.
+extensions-warning-check-compatibility = Lisäosien yhteensopivuuden tarkistus ei ole käytössä. Osa lisäosista voi olla epäyhteensopivia.
+extensions-warning-safe-mode2 =
+ .message = Kaikki lisäosat on poistettu käytöstä vikasietotilassa.
+extensions-warning-check-compatibility2 =
+ .message = Lisäosien yhteensopivuuden tarkistus ei ole käytössä. Osa lisäosista voi olla epäyhteensopivia.
+extensions-warning-check-compatibility-button = Ota käyttöön
+ .title = Ota lisäosien yhteensopivuuden tarkistus käyttöön
+extensions-warning-update-security = Lisäosien päivitysten turvallisuustarkistus ei ole käytössä. Päivitykset voivat saastuttaa koneesi.
+extensions-warning-update-security2 =
+ .message = Lisäosien päivitysten turvallisuustarkistus ei ole käytössä. Päivitykset voivat saastuttaa koneesi.
+extensions-warning-update-security-button = Ota käyttöön
+ .title = Ota lisäosien päivitysten turvallisuustarkistus käyttöön
+extensions-warning-imported-addons2 =
+ .message = Viimeistele { -brand-short-name }iin tuotujen laajennusten asennus.
+extensions-warning-imported-addons-button = Asenna laajennukset
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = Hae päivityksiä
+ .accesskey = H
+addon-updates-view-updates = Näytä tuoreet päivitykset
+ .accesskey = N
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = Päivitä lisäosat automaattisesti
+ .accesskey = u
+
+## Specific add-ons can have custom update checking behaviors ("Manually",
+## "Automatically", "Use default global behavior"). These menu items reset the
+## update checking behavior for all add-ons to the default global behavior
+## (which itself is either "Automatically" or "Manually", controlled by the
+## extensions-updates-update-addons-automatically.label menu item).
+
+addon-updates-reset-updates-to-automatic = Aseta kaikki lisäosat päivittymään automaattisesti
+ .accesskey = P
+addon-updates-reset-updates-to-manual = Aseta kaikki lisäosat päivittymään vain käsin
+ .accesskey = k
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = Päivitetään lisäosia
+addon-updates-installed = Lisäosat on päivitetty.
+addon-updates-none-found = Päivityksiä ei löytynyt
+addon-updates-manual-updates-found = Näytä saatavilla olevat päivitykset
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = Asenna lisäosa tiedostosta…
+ .accesskey = A
+addon-install-from-file-dialog-title = Valitse asennettava lisäosa
+addon-install-from-file-filter-name = Lisäosat
+addon-open-about-debugging = Jäljitä lisäosien virheitä
+ .accesskey = J
+
+## Extension shortcut management
+
+# This is displayed in the page options menu
+addon-manage-extensions-shortcuts = Hallitse laajennusten pikanäppäimiä
+ .accesskey = t
+shortcuts-no-addons = Yhtäkään laajennusta ei ole otettu käyttöön.
+shortcuts-no-commands = Seuraavilla laajennuksilla ei ole pikanäppäimiä:
+shortcuts-input =
+ .placeholder = Kirjoita näppäinyhdistelmä
+shortcuts-browserAction2 = Aktivoi työkalupalkin painike
+shortcuts-pageAction = Aktivoi sivutoiminto
+shortcuts-sidebarAction = Näytä/piilota sivupaneeli
+shortcuts-modifier-mac = Paina Ctrl-, Alt- tai ⌘-näppäintä
+shortcuts-modifier-other = Paina Ctrl- tai Alt-näppäintä
+shortcuts-invalid = Virheellinen yhdistelmä
+shortcuts-letter = Kirjoita kirjain
+shortcuts-system = { -brand-short-name }-pikanäppäintä ei voi korvata
+# String displayed in warning label when there is a duplicate shortcut
+shortcuts-duplicate = Päällekkäinen pikanäppäin
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message = { $shortcut } on käytössä pikanäppäimenä enemmän kuin yhdessä tapauksessa. Päällekkäiset pikanäppäimet saattavat aiheuttaa odottamatonta käytöstä.
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message2 =
+ .message = { $shortcut } on käytössä pikanäppäimenä enemmän kuin yhdessä tapauksessa. Päällekkäiset pikanäppäimet saattavat aiheuttaa odottamatonta käytöstä.
+# String displayed when a keyboard shortcut is already used by another add-on
+# Variables:
+# $addon (string) - Name of the add-on
+shortcuts-exists = { $addon } käyttää tätä jo
+# Variables:
+# $numberToShow (number) - Number of other elements available to show
+shortcuts-card-expand-button =
+ { $numberToShow ->
+ [one] Näytä { $numberToShow } lisää
+ *[other] Näytä { $numberToShow } lisää
+ }
+shortcuts-card-collapse-button = Näytä vähemmän
+header-back-button =
+ .title = Takaisin
+
+## Recommended add-ons page
+
+# Explanatory introduction to the list of recommended add-ons. The action word
+# ("recommends") in the final sentence is a link to external documentation.
+discopane-intro =
+ Laajennukset ja teemat ovat kuin sovelluksia selaimessa. Ne voivat suojata salasanojasi,
+ ladata videoita, löytää hyviä tarjouksia, estää ärsyttäviä mainoksia, muuttaa
+ selaimen ulkoasua ja paljon muuta. Nämä pienet ohjelmat ovat usein kolmansien
+ osapuolten kehittämiä. Tässä on valikoima { -brand-product-name }in
+ <a data-l10n-name="learn-more-trigger">suosittelemia</a> laajennuksia
+ tietoturvan, suorituskyvyn ja toiminnallisuuden parantamiseksi.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations =
+ Jotkin näistä suosituksista ovat henkilökohtaisia. Suositukset pohjautuvat
+ muihin asentamiisi laajennuksiin, profiiliasetuksiin ja käyttötilastoihin.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations2 =
+ .message =
+ Jotkin näistä suosituksista ovat henkilökohtaisia. Suositukset pohjautuvat
+ muihin asentamiisi laajennuksiin, profiiliasetuksiin ja käyttötilastoihin.
+discopane-notice-learn-more = Lue lisää
+privacy-policy = Tietosuojaseloste
+# Refers to the author of an add-on, shown below the name of the add-on.
+# Variables:
+# $author (string) - The name of the add-on developer.
+created-by-author = Tekijä: <a data-l10n-name="author">{ $author }</a>
+# Shows the number of daily users of the add-on.
+# Variables:
+# $dailyUsers (number) - The number of daily users.
+user-count = Käyttäjiä: { $dailyUsers }
+install-extension-button = Lisää { -brand-product-name }iin
+install-theme-button = Asenna teema
+# The label of the button that appears after installing an add-on. Upon click,
+# the detailed add-on view is opened, from where the add-on can be managed.
+manage-addon-button = Hallitse
+find-more-addons = Etsi lisää lisäosia
+find-more-themes = Etsi lisää teemoja
+# This is a label for the button to open the "more options" menu, it is only
+# used for screen readers.
+addon-options-button =
+ .aria-label = Lisää valintoja
+
+## Add-on actions
+
+report-addon-button = Raportoi
+remove-addon-button = Poista
+# The link will always be shown after the other text.
+remove-addon-disabled-button = Tätä ei voi poistaa <a data-l10n-name="link">Miksi?</a>
+disable-addon-button = Poista käytöstä
+enable-addon-button = Käytä
+# This is used for the toggle on the extension card, it's a checkbox and this
+# is always its label.
+extension-enable-addon-button-label =
+ .aria-label = Ota käyttöön
+preferences-addon-button = Asetukset
+details-addon-button = Tiedot
+release-notes-addon-button = Julkaisutiedot
+permissions-addon-button = Oikeudet
+extension-enabled-heading = Käytössä
+extension-disabled-heading = Ei käytössä
+theme-enabled-heading = Käytössä
+theme-disabled-heading2 = Tallennetut teemat
+plugin-enabled-heading = Käytössä
+plugin-disabled-heading = Ei käytössä
+dictionary-enabled-heading = Käytössä
+dictionary-disabled-heading = Ei käytössä
+locale-enabled-heading = Käytössä
+locale-disabled-heading = Ei käytössä
+sitepermission-enabled-heading = Käytössä
+sitepermission-disabled-heading = Pois käytöstä
+always-activate-button = Aktivoi aina
+never-activate-button = Älä koskaan aktivoi
+addon-detail-author-label = Tekijä
+addon-detail-version-label = Versio
+addon-detail-last-updated-label = Päivitetty viimeksi
+addon-detail-homepage-label = Kotisivu
+addon-detail-rating-label = Arvostelu
+# Message for add-ons with a staged pending update.
+install-postponed-message = Tämä laajennus päivitetään, kun { -brand-short-name } käynnistyy uudelleen.
+# Message for add-ons with a staged pending update.
+install-postponed-message2 =
+ .message = Tämä laajennus päivitetään, kun { -brand-short-name } käynnistyy uudelleen.
+install-postponed-button = Päivitä nyt
+# The average rating that the add-on has received.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+five-star-rating =
+ .title = Arvostelu { NUMBER($rating, maximumFractionDigits: 1) }/5
+# This string is used to show that an add-on is disabled.
+# Variables:
+# $name (string) - The name of the add-on
+addon-name-disabled = { $name } (ei käytössä)
+# The number of reviews that an add-on has received on AMO.
+# Variables:
+# $numberOfReviews (number) - The number of reviews received
+addon-detail-reviews-link =
+ { $numberOfReviews ->
+ [one] { $numberOfReviews } arvio
+ *[other] { $numberOfReviews } arviota
+ }
+
+## Pending uninstall message bar
+
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description = <span data-l10n-name="addon-name">{ $addon }</span> on poistettu.
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description2 =
+ .message = { $addon } on poistettu.
+pending-uninstall-undo-button = Kumoa
+addon-detail-updates-label = Automaattiset päivitykset
+addon-detail-updates-radio-default = Oletus
+addon-detail-updates-radio-on = Käytössä
+addon-detail-updates-radio-off = Ei käytössä
+addon-detail-update-check-label = Tarkista päivitykset
+install-update-button = Päivitä
+# aria-label associated to the updates row to help screen readers to announce the group
+# of input controls being entered.
+addon-detail-group-label-updates =
+ .aria-label = { addon-detail-updates-label }
+# This is the tooltip text for the private browsing badge in about:addons. The
+# badge is the private browsing icon included next to the extension's name.
+addon-badge-private-browsing-allowed2 =
+ .title = Sallittu yksityisissä ikkunnoissa
+ .aria-label = { addon-badge-private-browsing-allowed2.title }
+addon-detail-private-browsing-help = Kun sallittu, laajennus voi seurata, mitä teet verkossa yksityisen selauksen tilassa. <a data-l10n-name="learn-more">Lue lisää</a>
+addon-detail-private-browsing-allow = Salli
+addon-detail-private-browsing-disallow = Älä salli
+# aria-label associated to the private browsing row to help screen readers to announce the group
+# of input controls being entered.
+addon-detail-group-label-private-browsing =
+ .aria-label = { detail-private-browsing-label }
+
+## "sites with restrictions" (internally called "quarantined") are special domains
+## where add-ons are normally blocked for security reasons.
+
+# Used as a description for the option to allow or block an add-on on quarantined domains.
+addon-detail-quarantined-domains-label = Suorita sivustoilla, joilla on rajoituksia
+# Used as help text part of the quarantined domains UI controls row.
+addon-detail-quarantined-domains-help = Kun sallittu, laajennuksella on pääsy sivustoille, joita { -vendor-short-name } rajoittaa. Salli vain, jos luotat tähän laajennukseen.
+# Used as label and tooltip text on the radio inputs associated to the quarantined domains UI controls.
+addon-detail-quarantined-domains-allow = Salli
+addon-detail-quarantined-domains-disallow = Älä salli
+# aria-label associated to the quarantined domains exempt row to help screen readers to announce the group.
+addon-detail-group-label-quarantined-domains =
+ .aria-label = { addon-detail-quarantined-domains-label }
+
+## This is the tooltip text for the recommended badges for an extension in about:addons. The
+## badge is a small icon displayed next to an extension when it is recommended on AMO.
+
+addon-badge-recommended2 =
+ .title = { -brand-product-name } suosittelee vain laajennuksia, jotka täyttävät standardimme turvallisuuden ja suorituskyvyn suhteen
+ .aria-label = { addon-badge-recommended2.title }
+# We hard code "Mozilla" in the string below because the extensions are built
+# by Mozilla and we don't want forks to display "by Fork".
+addon-badge-line3 =
+ .title = Virallinen laajennus, jonka on toteuttanut Mozilla. Täyttää turvallisuus- ja suorituskykystandardit.
+ .aria-label = { addon-badge-line3.title }
+addon-badge-verified2 =
+ .title = Tämä laajennnus on katselmoitu, ja se täyttää standardimme turvallisuuden ja suorituskyvyn suhteen.
+ .aria-label = { addon-badge-verified2.title }
+
+##
+
+available-updates-heading = Saatavilla olevat päivitykset
+recent-updates-heading = Tuoreet päivitykset
+release-notes-loading = Ladataan…
+release-notes-error = Julkaisutietojen lataaminen epäonnistui.
+addon-permissions-empty = Tämä laajennus ei vaadi mitään oikeuksia
+addon-permissions-required = Vaaditut käyttöoikeudet ydintoiminnoille:
+addon-permissions-optional = Valinnaiset käyttöoikeudet lisätoiminnoille:
+addon-permissions-learnmore = Lue lisää käyttöoikeuksista
+recommended-extensions-heading = Suositellut laajennukset
+recommended-themes-heading = Suositellut teemat
+# Variables:
+# $hostname (string) - Host where the permissions are granted
+addon-sitepermissions-required = Antaa seuraavat ominaisuudet sivustolle <span data-l10n-name="hostname">{ $hostname }</span>:
+# A recommendation for the Firefox Color theme shown at the bottom of the theme
+# list view. The "Firefox Color" name itself should not be translated.
+recommended-theme-1 = Haluatko kokeilla itse? <a data-l10n-name="link">Voit luoda oman teeman Firefox Color -ohjelmalla.</a>
+
+## Page headings
+
+extension-heading = Laajennusten hallinta
+theme-heading = Teemojen hallinta
+plugin-heading = Liitännäisten hallinta
+dictionary-heading = Sanastojen hallinta
+locale-heading = Kielten hallinta
+updates-heading = Päivitysten hallinta
+sitepermission-heading = Hallitse sivustojen oikeuksia
+discover-heading = Tee { -brand-short-name }ista mieleisesi
+shortcuts-heading = Laajennusten pikanäppäinten hallinta
+default-heading-search-label = Etsi lisää lisäosia
+addons-heading-search-input =
+ .placeholder = Etsi addons.mozilla.org-sivustolta
+addon-page-options-button =
+ .title = Työkaluja kaikille lisäosille
+
+## Detail notifications
+## Variables:
+## $name (string) - Name of the add-on.
+
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible = Lisäosa { $name } on epäyhteensopiva { -brand-short-name }in version { $version } kanssa.
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible2 =
+ .message = Lisäosa { $name } on epäyhteensopiva { -brand-short-name }in version { $version } kanssa.
+details-notification-incompatible-link = Lisätietoja
+details-notification-unsigned-and-disabled = Lisäosaa { $name } ei ole varmennettu käytettäväksi { -brand-short-name }issa ja on otettu pois päältä.
+details-notification-unsigned-and-disabled2 =
+ .message = Lisäosaa { $name } ei ole varmennettu käytettäväksi { -brand-short-name }issa ja on otettu pois päältä.
+details-notification-unsigned-and-disabled-link = Lisätietoja
+details-notification-unsigned = Lisäosaa { $name } ei ole varmennettu käytettäväksi { -brand-short-name }issa. Ole varovainen.
+details-notification-unsigned2 =
+ .message = Lisäosaa { $name } ei ole varmennettu käytettäväksi { -brand-short-name }issa. Ole varovainen.
+details-notification-unsigned-link = Lisätietoja
+details-notification-blocked = Lisäosa { $name } poistettiin käytöstä turvallisuus- tai vakausongelmien takia.
+details-notification-blocked2 =
+ .message = Lisäosa { $name } poistettiin käytöstä turvallisuus- tai vakausongelmien takia.
+details-notification-blocked-link = Lisätietoja
+details-notification-softblocked = Lisäosa { $name } aiheuttaa tunnetusti turvallisuus- tai vakausongelmia.
+details-notification-softblocked2 =
+ .message = Lisäosa { $name } aiheuttaa tunnetusti turvallisuus- tai vakausongelmia.
+details-notification-softblocked-link = Lisätietoja
+details-notification-gmp-pending = { $name } asennetaan kohta.
+details-notification-gmp-pending2 =
+ .message = { $name } asennetaan kohta.
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Lisenssitiedot
+plugins-gmp-privacy-info = Tietosuojatiedot
+plugins-openh264-name = OpenH264 Video Codec, toimittaja Cisco Systems, Inc.
+plugins-openh264-description = Mozilla asensi tämän liitännäisen automaattisesti WebRTC-rajapinnan määritelmän mukaisesti ja jotta WebRTC-puhelut olisivat mahdollisia laitteisiin, jotka vaativat H.264-videokoodekin. Lue lisää koodekin toteutustavasta ja tarkastele lähdekoodia osoitteesta http://www.openh264.org/.
+plugins-widevine-name = Widevine Content Decryption Module, toimittaja Google Inc.
+plugins-widevine-description = Tämä liitännäinen mahdollistaa Encrypted Media Extensions -määrittelyn mukaisen salatun sisällön toistamisen. Sivustot käyttävät salattua mediasisältöä tyypillisesti estämään maksullisen sisällön kopiointi. Lue lisää Encrypted Media Extensions -määrittelystä osoitteessa https://www.w3.org/TR/encrypted-media/.
diff --git a/l10n-fi/toolkit/toolkit/about/aboutCompat.ftl b/l10n-fi/toolkit/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..82fcf02600
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutCompat.ftl
@@ -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/.
+
+label-disable = Poista käytöstä
+label-enable = Ota käyttöön
+label-interventions = Väliintulot
+label-more-information = Lisätietoja: Vika { $bug }
+label-overrides = Selaintunnisteen korvaukset
+text-disabled-in-about-config = Tämä ominaisuus on poistettu käytöstä about:config-sivulla
+text-no-interventions = Väliintuloja ei ole käytössä
+text-no-overrides = Selaintunnisteen korvauksia ei ole käytössä
+text-title = about:compat
+
+## Do not translate "SmartBlock". For reference, SmartBlock is a feature
+## of Firefox anti-tracking which fixes website breakage caused when
+## trackers are blocked, by acting just enough like those trackers to fix the
+## breakage. SmartBlock also contains special fixes for sites broken by
+## Firefox's Total Cookie Protection feature.
+
+label-smartblock = SmartBlock-korjaukset
+text-no-smartblock = SmartBlock-korjauksia ei ole käytössä
diff --git a/l10n-fi/toolkit/toolkit/about/aboutGlean.ftl b/l10n-fi/toolkit/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..cae8874250
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutGlean.ftl
@@ -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/.
+
+
+### "FOG", "Glean", and "Glean SDK" should remain in English.
+
+-glean-brand-name = Glean
+glean-sdk-brand-name = { -glean-brand-name } SDK
+# Variables:
+# $local-port-pref-value (Integer): the value of the telemetry.fog.test.localhost_port pref. Typically 0. Can be negative.
+# Do not translate strings between <code> </code> tags.
+about-glean-local-port = <code>telemetry.fog.test.localhost_port</code>: { $local-port-pref-value }
+# Variables:
+# $glean-android-define-value (Boolean): the value of the MOZ_GLEAN_ANDROID define. Typically "false", sometimes "true".
+# Do not translate strings between <code> </code> tags.
+about-glean-glean-android = <code>MOZ_GLEAN_ANDROID</code>: { $glean-android-define-value }
+# Variables:
+# $moz-official-define-value (Boolean): the value of the MOZILLA_OFFICIAL define.
+# Do not translate strings between <code> </code> tags.
+about-glean-moz-official = <code>MOZILLA_OFFICIAL</code>: { $moz-official-define-value }
+controls-button-label-verbose = Ota asetukset käyttöön ja lähetä ping
diff --git a/l10n-fi/toolkit/toolkit/about/aboutHttpsOnlyError.ftl b/l10n-fi/toolkit/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..eec67c02e8
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutHttpsOnlyError.ftl
@@ -0,0 +1,30 @@
+# 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/.
+
+about-httpsonly-title-alert = Vain HTTPS -tilan varoitus
+about-httpsonly-title-site-not-available = Suojattu sivusto ei saatavilla
+
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable2 = Olet ottanut käyttöön Vain HTTPS -tilan turvallisuuden parantamiseksi, mutta HTTPS-versiota sivustosta <em>{ $websiteUrl }</em> ei ole käytettävissä.
+about-httpsonly-explanation-question = Mistä tämä johtuu?
+about-httpsonly-explanation-nosupport = Todennäköisesti sivusto ei tue HTTPS:ää.
+about-httpsonly-explanation-risk = On myös mahdollista, että takana on hyökkääjä. Jos päätät vierailla sivustolla, sivustolle ei pitäisi kirjoittaa arkaluonteisia tietoja, kuten salasanoja, sähköpostiosoitteita tai luottokorttitietoja.
+about-httpsonly-explanation-continue = Jos jatkat, Vain HTTPS -tila poistetaan käytöstä väliaikaisesti tämän sivuston kohdalla.
+
+about-httpsonly-button-continue-to-site = Jatka HTTP-sivustolle
+about-httpsonly-button-go-back = Palaa takaisin
+about-httpsonly-link-learn-more = Lue lisää…
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loded with these alternatives. Example: example.com
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loaded with these alternatives. Example: example.com
+
+about-httpsonly-suggestion-box-header = Mahdollinen vaihtoehto
+about-httpsonly-suggestion-box-www-text = Sivustosta <em>www.{ $websiteUrl }</em> on tarjolla suojattu versio. Voit käydä kyseisellä sivulla sivun <em>{ $websiteUrl }</em> sijaan.
+about-httpsonly-suggestion-box-www-button = Siirry osoitteeseen www.{ $websiteUrl }
diff --git a/l10n-fi/toolkit/toolkit/about/aboutLogging.ftl b/l10n-fi/toolkit/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..b350dfef92
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutLogging.ftl
@@ -0,0 +1,41 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This is the title of the page
+about-logging-title = Tietoja lokituksesta
+about-logging-page-title = Lokihallinta
+about-logging-current-log-file = Nykyinen lokitiedosto:
+about-logging-new-log-file = Uusi lokitiedosto:
+about-logging-currently-enabled-log-modules = Tällä hetkellä käytössä olevat lokimoduulit:
+about-logging-log-tutorial =
+ Katso <a data-l10n-name="logging">HTTP Logging</a>
+ saadaksesi ohjeita tämän työkalun käyttöön.
+# This message is used as a button label, "Open" indicates an action.
+about-logging-open-log-file-dir = Avaa kansio
+about-logging-set-log-file = Aseta lokitiedosto
+about-logging-set-log-modules = Aseta lokitusmoduulit
+about-logging-start-logging = Aloita lokitus
+about-logging-stop-logging = Pysäytä lokitus
+about-logging-buttons-disabled = Lokitus määritetty ympäristömuuttujien kautta, dynaaminen määritys ei ole käytettävissä.
+about-logging-some-elements-disabled = Lokitus määritetty URL-osoitteen kautta, jotkin määritysvaihtoehdot eivät ole käytettävissä
+about-logging-log-modules-selection = Lokimoduulin valinta
+about-logging-new-log-modules = Uudet lokimoduulit:
+about-logging-logging-to-file = Lokitetaan tiedostoon
+about-logging-logging-preset-selector-text = Lokituksen esiasetus:
+
+## Logging presets
+
+about-logging-preset-networking-label = Verkko
+about-logging-preset-networking-http3-label = HTTP/3
+about-logging-preset-media-playback-label = Median toisto
+about-logging-preset-webrtc-label = WebRTC
+about-logging-preset-webgpu-label = WebGPU
+about-logging-preset-gfx-label = Grafiikka
+# Error handling
+about-logging-error = Virhe:
+
+## Variables:
+## $k (String) - Variable name
+## $v (String) - Variable value
+
diff --git a/l10n-fi/toolkit/toolkit/about/aboutMozilla.ftl b/l10n-fi/toolkit/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..a5022fffb7
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutMozilla.ftl
@@ -0,0 +1,11 @@
+# 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/.
+
+about-mozilla-title-6-27 = Mozillan kirja, 6:27
+about-mozilla-quote-6-27 =
+ Peto jatkoi opintojaan uudella <em>painopisteellä</em>, rakennellen suuria <em>mallitöitä</em>
+ ja mietiskellen uusia <em>todellisuuksia</em>. Peto kutsui koolle seuraajansa ja apurinsa
+ luomaan uuden, pienemmän version itsestään, ja lähetti sen sitten maailmalle
+ <em>ilkikurisin</em> keinoin.
+about-mozilla-from-6-27 = <strong>Mozillan kirjasta</strong> 6:27
diff --git a/l10n-fi/toolkit/toolkit/about/aboutNetworking.ftl b/l10n-fi/toolkit/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..06aa5b899f
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutNetworking.ftl
@@ -0,0 +1,68 @@
+# 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/.
+
+about-networking-title = About Networking
+about-networking-http = HTTP
+about-networking-sockets = Sockets
+about-networking-dns = DNS
+about-networking-dns-clear-cache-button = Clear DNS Cache
+about-networking-dns-trr-url = DoH URL
+about-networking-dns-trr-mode = DoH Mode
+about-networking-dns-suffix = DNS suffix
+about-networking-websockets = WebSockets
+about-networking-refresh = Refresh
+about-networking-auto-refresh = Autorefresh every 3 seconds
+about-networking-hostname = Hostname
+about-networking-port = Port
+about-networking-http-version = HTTP Version
+about-networking-ssl = SSL
+about-networking-active = Active
+about-networking-idle = Idle
+about-networking-host = Host
+about-networking-type = Type
+about-networking-sent = Sent
+about-networking-received = Received
+about-networking-family = Family
+about-networking-trr = TRR
+about-networking-addresses = Addresses
+about-networking-expires = Expires (Seconds)
+about-networking-originAttributesSuffix = Isolation Key
+about-networking-flags = Extra flags
+about-networking-messages-sent = Messages Sent
+about-networking-messages-received = Messages Received
+about-networking-bytes-sent = Bytes Sent
+about-networking-bytes-received = Bytes Received
+about-networking-logging = Logging
+about-networking-dns-lookup = DNS Lookup
+about-networking-dns-lookup-button = Resolve
+about-networking-dns-domain = Domain:
+about-networking-dns-lookup-table-column = IPs
+about-networking-dns-https-rr-lookup-table-column = HTTP RRs
+about-networking-rcwn = RCWN Stats
+about-networking-rcwn-status = RCWN Status
+about-networking-rcwn-cache-won-count = Cache won count
+about-networking-rcwn-net-won-count = Net won count
+about-networking-total-network-requests = Total network request count
+about-networking-rcwn-operation = Cache Operation
+about-networking-rcwn-perf-open = Open
+about-networking-rcwn-perf-read = Read
+about-networking-rcwn-perf-write = Write
+about-networking-rcwn-perf-entry-open = Entry Open
+about-networking-rcwn-avg-short = Short Average
+about-networking-rcwn-avg-long = Long Average
+about-networking-rcwn-std-dev-long = Long Standard Deviation
+about-networking-rcwn-cache-slow = Cache slow count
+about-networking-rcwn-cache-not-slow = Cache not slow count
+about-networking-networkid = Network ID
+about-networking-networkid-id = Network ID
+# Note: do not translate about:logging, as it is a URL.
+about-networking-moved-about-logging = Tämä sivu on siirretty osoitteeseen <a data-l10n-name="about-logging-url">about:logging</a>.
+
+## Link is intended as "network link"
+
+about-networking-networkid-is-up = Link is up
+about-networking-networkid-status-known = Link status is known
+
+##
+
diff --git a/l10n-fi/toolkit/toolkit/about/aboutPerformance.ftl b/l10n-fi/toolkit/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..22a8265be5
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutPerformance.ftl
@@ -0,0 +1,67 @@
+# 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 title
+about-performance-title = Tehtävienhallinta
+
+## Column headers
+
+column-name = Nimi
+column-type = Tyyppi
+column-energy-impact = Energiavaikutus
+column-memory = Muisti
+
+## Special values for the Name column
+
+ghost-windows = Suljetut välilehdet
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = Esiladattu: { $title }
+
+## Values for the Type column
+
+type-tab = Välilehti
+type-subframe = Alikehys
+type-tracker = Seurain
+type-addon = Lisäosa
+type-browser = Selain
+type-worker = Työsäie
+type-other = Muu
+
+## Values for the Energy Impact column
+##
+## Variables:
+## $value (Number) - Value of the energy impact, eg. 0.25 (low),
+## 5.38 (medium), 105.38 (high)
+
+energy-impact-high = Suuri ({ $value })
+energy-impact-medium = Kohtalainen ({ $value })
+energy-impact-low = Pieni ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+size-KB = { $value } kt
+size-MB = { $value } Mt
+size-GB = { $value } Gt
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = Sulje välilehti
+show-addon =
+ .title = Näytä lisäosien hallinnassa
+
+# Tooltip when hovering an item of the about:performance table
+# Variables:
+# $totalDispatches (Number) - how many dispatches occured for this page since it loaded
+# $totalDuration (Number) - how much CPU time was used by this page since it loaded
+# $dispatchesSincePrevious (Number) - how many dispatches occured in the last 2 seconds
+# $durationSincePrevious (Number) - how much CPU time was used in the last 2 seconds
+item =
+ .title =
+ Suoritinkäyttö latautumisesta lähtien: { $totalDispatches } ({ $totalDuration } ms)
+ Suoritinkäyttö viime sekuntien aikana: { $dispatchesSincePrevious } ({ $durationSincePrevious } ms)
diff --git a/l10n-fi/toolkit/toolkit/about/aboutPlugins.ftl b/l10n-fi/toolkit/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..1bad12bb44
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutPlugins.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title-label = Tietoja liitännäisistä
+installed-plugins-label = Asennetut liitännäiset
+no-plugins-are-installed-label = Ei löytynyt yhtään asennettua liitännäistä
+deprecation-description = Puuttuuko jotain? Joitain liitännäisiä ei enää tueta. <a data-l10n-name="deprecation-link">Lue lisää.</a>
+deprecation-description2 =
+ .message = Puuttuuko jotain? Joitain liitännäisiä ei enää tueta.
+
+## The information of plugins
+##
+## Variables:
+## $pluginLibraries: the plugin library
+## $pluginFullPath: path of the plugin
+## $version: version of the plugin
+
+file-dd = <span data-l10n-name="file">Tiedosto:</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">Polku:</span> { $pluginFullPath }
+version-dd = <span data-l10n-name="version">Versio:</span> { $version }
+
+## These strings describe the state of plugins
+##
+## Variables:
+## $blockListState: show some special state of the plugin, such as blocked, outdated
+
+state-dd-enabled = <span data-l10n-name="state">Tila:</span> Käytössä
+state-dd-enabled-block-list-state = <span data-l10n-name="state">Tila:</span> Käytössä ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">Tila:</span> Pois käytöstä
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">Tila:</span> Pois käytöstä ({ $blockListState })
+mime-type-label = MIME-tyyppi
+description-label = Kuvaus
+suffixes-label = Päätteet
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Lisenssitiedot
+plugins-gmp-privacy-info = Tietosuojatiedot
+plugins-openh264-name = OpenH264 Video Codec, toimittaja Cisco Systems, Inc.
+plugins-openh264-description = Mozilla asensi tämän liitännäisen automaattisesti WebRTC-rajapinnan määritelmän mukaisesti ja jotta WebRTC-puhelut olisivat mahdollisia laitteisiin, jotka vaativat H.264-videokoodekin. Lue lisää koodekin toteutustavasta ja tarkastele lähdekoodia osoitteesta http://www.openh264.org/.
+plugins-widevine-name = Widevine Content Decryption Module, toimittaja Google Inc.
+plugins-widevine-description = Tämä liitännäinen mahdollistaa Encrypted Media Extensions -määrittelyn mukaisen salatun sisällön toistamisen. Sivustot käyttävät salattua mediasisältöä tyypillisesti estämään maksullisen sisällön kopiointi. Lue lisää Encrypted Media Extensions -määrittelystä osoitteessa https://www.w3.org/TR/encrypted-media/.
diff --git a/l10n-fi/toolkit/toolkit/about/aboutProcesses.ftl b/l10n-fi/toolkit/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..cfe8259b32
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutProcesses.ftl
@@ -0,0 +1,194 @@
+# 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 title
+about-processes-title = Prosessienhallinta
+
+# The Actions column
+about-processes-column-action =
+ .title = Toiminnot
+
+## Tooltips
+
+about-processes-shutdown-process =
+ .title = Sulje välilehdet ja tapa prosessi
+about-processes-shutdown-tab =
+ .title = Sulje välilehti
+
+# Profiler icons
+# Variables:
+# $duration (Number) The time in seconds during which the profiler will be running.
+# The value will be an integer, typically less than 10.
+about-processes-profile-process =
+ .title =
+ { $duration ->
+ [one] Profiloi tämän prosessin kaikkia säikeitä { $duration } sekunnin ajan
+ *[other] Profiloi tämän prosessin kaikkia säikeitä { $duration } sekunnin ajan
+ }
+
+## Column headers
+
+about-processes-column-name = Nimi
+about-processes-column-memory-resident = Muisti
+about-processes-column-cpu-total = Suoritin
+
+## Process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+
+about-processes-browser-process = { -brand-short-name } ({ $pid })
+about-processes-web-process = Jaettu web-prosessi ({ $pid })
+about-processes-file-process = Tiedostot ({ $pid })
+about-processes-extension-process = Laajennukset ({ $pid })
+about-processes-privilegedabout-process = About-sivut ({ $pid })
+about-processes-plugin-process = Liitännäiset ({ $pid })
+about-processes-privilegedmozilla-process = { -vendor-short-name }-sivustot ({ $pid })
+about-processes-gmp-plugin-process = Gecko-medialiitännäiset ({ $pid })
+about-processes-gpu-process = GPU ({ $pid })
+about-processes-vr-process = VR ({ $pid })
+about-processes-rdd-process = Datan purku ({ $pid })
+about-processes-socket-process = Verkko ({ $pid })
+about-processes-remote-sandbox-broker-process = Remote Sandbox Broker ({ $pid })
+about-processes-fork-server-process = Fork Server ({ $pid })
+about-processes-preallocated-process = Esijaettu ({ $pid })
+
+# Unknown process names
+# Variables:
+# $pid (String) The process id of this process, assigned by the OS.
+# $type (String) The raw type for this process.
+about-processes-unknown-process = Muu: { $type } ({ $pid })
+
+## Isolated process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+## $origin (String) The domain name for this process.
+
+about-processes-web-isolated-process = { $origin } ({ $pid })
+about-processes-web-serviceworker = { $origin } ({ $pid }, serviceworker)
+about-processes-with-coop-coep-process = { $origin } ({ $pid }, lähteet eristetty toisistaan)
+about-processes-web-isolated-process-private = { $origin } — yksityinen ({ $pid })
+about-processes-with-coop-coep-process-private = { $origin } — yksityinen ({ $pid }, lähteet eristetty toisistaan)
+
+## Details within processes
+
+# Single-line summary of threads (non-idle process)
+# Variables:
+# $number (Number) The number of threads in the process. Typically larger
+# than 30. We don't expect to ever have processes with less
+# than 5 threads.
+# $active (Number) The number of active threads in the process.
+# The value will be greater than 0 and will never be
+# greater than $number.
+# $list (String) Comma separated list of active threads.
+# Can be an empty string if the process is idle.
+about-processes-active-threads =
+ { $active ->
+ [one] { $active }/{ $number } aktiivinen säie: { $list }
+ *[other] { $active }/{ $number } aktiivista säiettä: { $list }
+ }
+
+# Single-line summary of threads (idle process)
+# Variables:
+# $number (Number) The number of threads in the process. Typically larger
+# than 30. We don't expect to ever have processes with less
+# than 5 threads.
+# The process is idle so all threads are inactive.
+about-processes-inactive-threads =
+ { $number ->
+ [one] { $number } ei-aktiivinen säie
+ *[other] { $number } ei-aktiivista säiettä
+ }
+
+# Thread details
+# Variables:
+# $name (String) The name assigned to the thread.
+# $tid (String) The thread id of this thread, assigned by the OS.
+about-processes-thread-name-and-id = { $name }
+ .title = Säikeen id: { $tid }
+
+# Tab
+# Variables:
+# $name (String) The name of the tab (typically the title of the page, might be the url while the page is loading).
+about-processes-tab-name = Välilehti: { $name }
+about-processes-preloaded-tab = Esiladattu uusi välilehti
+
+# Single subframe
+# Variables:
+# $url (String) The full url of this subframe.
+about-processes-frame-name-one = Alikehys: { $url }
+
+# Group of subframes
+# Variables:
+# $number (Number) The number of subframes in this group. Always ≥ 1.
+# $shortUrl (String) The shared prefix for the subframes in the group.
+about-processes-frame-name-many = Alikehykset ({ $number }): { $shortUrl }
+
+## Utility process actor names
+
+about-processes-utility-actor-audio-decoder-generic = Yleinen äänidekooderi
+about-processes-utility-actor-audio-decoder-applemedia = Apple Media -äänidekooderi
+about-processes-utility-actor-audio-decoder-wmf = Windows Media Framework -äänidekooderi
+
+## Displaying CPU (percentage and total)
+## Variables:
+## $percent (Number) The percentage of CPU used by the process or thread.
+## Always > 0, generally <= 200.
+## $total (Number) The amount of time used by the process or thread since
+## its start.
+## $unit (String) The unit in which to display $total. See the definitions
+## of `duration-unit-*`.
+
+# Common case.
+about-processes-cpu = { NUMBER($percent, maximumSignificantDigits: 2, style: "percent") }
+ .title = Suoritinaika yhteensä: { NUMBER($total, maximumFractionDigits: 0) } { $unit }
+
+# Special case: data is not available yet.
+about-processes-cpu-user-and-kernel-not-ready = (mittaus kesken)
+
+# Special case: process or thread is almost idle (using less than 0.1% of a CPU core).
+# This case only occurs on Windows where the precision of the CPU times is low.
+about-processes-cpu-almost-idle = < 0.1%
+ .title = Suoritinaika yhteensä: { NUMBER($total, maximumFractionDigits: 0) } { $unit }
+
+# Special case: process or thread is currently idle.
+about-processes-cpu-fully-idle = joutilas
+ .title = Suoritinaika yhteensä: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+
+## Displaying Memory (total and delta)
+## Variables:
+## $total (Number) The amount of memory currently used by the process.
+## $totalUnit (String) The unit in which to display $total. See the definitions
+## of `memory-unit-*`.
+## $delta (Number) The absolute value of the amount of memory added recently.
+## $deltaSign (String) Either "+" if the amount of memory has increased
+## or "-" if it has decreased.
+## $deltaUnit (String) The unit in which to display $delta. See the definitions
+## of `memory-unit-*`.
+
+# Common case.
+about-processes-total-memory-size-changed = { NUMBER($total, maximumFractionDigits: 0) } { $totalUnit }
+ .title = Muutos: { $deltaSign }{ NUMBER($delta, maximumFractionDigits: 0) } { $deltaUnit }
+
+# Special case: no change.
+about-processes-total-memory-size-no-change = { NUMBER($total, maximumFractionDigits: 0) } { $totalUnit }
+
+## Duration units
+
+duration-unit-ns = ns
+duration-unit-us = µs
+duration-unit-ms = ms
+duration-unit-s = s
+duration-unit-m = min
+duration-unit-h = t
+duration-unit-d = vrk
+
+## Memory units
+
+memory-unit-B = t
+memory-unit-KB = kt
+memory-unit-MB = Mt
+memory-unit-GB = Gt
+memory-unit-TB = Tt
+memory-unit-PB = Pt
+memory-unit-EB = Et
diff --git a/l10n-fi/toolkit/toolkit/about/aboutProfiles.ftl b/l10n-fi/toolkit/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..5ee0814857
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutProfiles.ftl
@@ -0,0 +1,74 @@
+# 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/.
+
+
+profiles-title = Tietoja profiileista
+profiles-subtitle = Tämä sivu auttaa hallinnoimaan profiilejasi. Jokainen profiili on oma maailmansa, joka sisältää erilliset historiat, kirjanmerkit, asetukset ja lisäosat.
+profiles-create = Luo uusi profiili
+profiles-restart-title = Käynnistä uudelleen
+profiles-restart-in-safe-mode = Käynnistä uudelleen ilman lisäosia…
+profiles-restart-normal = Käynnistä uudelleen normaalisti…
+profiles-conflict = Toinen { -brand-product-name }-kopio on tehnyt muutoksia profiileihin. { -brand-short-name } täytyy käynnistää uudestaan ennen lisämuutosten tekemistä.
+profiles-flush-fail-title = Muutoksia ei tallennettu
+profiles-flush-conflict = { profiles-conflict }
+profiles-flush-failed = Odottamaton virhe on estänyt muutosten tallentamisen.
+profiles-flush-restart-button = Käynnistä { -brand-short-name } uudestaan
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = Profiili: { $name }
+profiles-is-default = Oletusprofiili
+profiles-rootdir = Päähakemisto
+
+# localDir is used to show the directory corresponding to
+# the main profile directory that exists for the purpose of storing data on the
+# local filesystem, including cache files or other data files that may not
+# represent critical user data. (e.g., this directory may not be included as
+# part of a backup scheme.)
+# In case localDir and rootDir are equal, localDir is not shown.
+profiles-localdir = Paikallinen hakemisto
+profiles-current-profile = Tämä on tällä hetkellä käytössä oleva profiili, joten sitä ei voi poistaa.
+profiles-in-use-profile = Profiili on käytössä toisessa ohjelmassa eikä sitä voida poistaa.
+
+profiles-rename = Nimeä uudelleen
+profiles-remove = Poista
+profiles-set-as-default = Aseta oletusprofiiliksi
+profiles-launch-profile = Käynnistä profiili uuteen selaimeen
+
+profiles-cannot-set-as-default-title = Ei voitu asettaa oletukseksi
+profiles-cannot-set-as-default-message = Oletusprofiilia ei voi muuttaa ohjelmalle { -brand-short-name }.
+
+profiles-yes = kyllä
+profiles-no = ei
+
+profiles-rename-profile-title = Nimeä profiili uudelleen
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = Nimeä profiili { $name } uudelleen
+
+profiles-invalid-profile-name-title = Profiilin nimi ei kelpaa
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = Profiilin nimi ”{ $name }” ei ole sallittu.
+
+profiles-delete-profile-title = Poista profiili
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ Profiilin poistaminen poistaa profiilin käytettävissä olevien profiilien listalta eikä tätä toimintoa voi kumota.
+ Voit myös halutessasi poistaa profiilin datatiedostot, mukaan lukien asetuksesi, varmenteet ja muut käyttäjäkohtaiset tiedot. Tämä valinta poistaa kansion ”{ $dir }” eikä tätä toimintoa voi kumota.
+ Haluatko poistaa profiilin datatiedostot?
+profiles-delete-files = Poista tiedostot
+profiles-dont-delete-files = Älä poista tiedostoja
+
+profiles-delete-profile-failed-title = Virhe
+profiles-delete-profile-failed-message = Profiilin poistaminen epäonnistui.
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] Näytä Finderissa
+ [windows] Avaa kansio
+ *[other] Avaa hakemisto
+ }
diff --git a/l10n-fi/toolkit/toolkit/about/aboutReader.ftl b/l10n-fi/toolkit/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..228d24ce7f
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutReader.ftl
@@ -0,0 +1,52 @@
+# 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/.
+
+about-reader-loading = Ladataan…
+about-reader-load-error = Artikkelin lataaminen sivulta epäonnistui
+
+about-reader-color-scheme-light = Vaalea
+ .title = Vaalea väriteema
+about-reader-color-scheme-dark = Tumma
+ .title = Tumma väriteema
+about-reader-color-scheme-sepia = Seepia
+ .title = Seepiamainen väriteema
+about-reader-color-scheme-auto = Automaattinen
+ .title = Automaattinen väriteema
+
+# An estimate for how long it takes to read an article,
+# expressed as a range covering both slow and fast readers.
+# Variables:
+# $rangePlural (String): The plural category of the range, using the same set as for numbers.
+# $range (String): The range of minutes as a localised string. Examples: "3-7", "~1".
+about-reader-estimated-read-time =
+ { $rangePlural ->
+ [one] { $range } minuutti
+ *[other] { $range } minuuttia
+ }
+
+## These are used as tooltips in Type Control
+
+about-reader-toolbar-minus =
+ .title = Pienennä kirjasinkokoa
+about-reader-toolbar-plus =
+ .title = Suurenna kirjasinkokoa
+about-reader-toolbar-contentwidthminus =
+ .title = Pienennä sisällön leveyttä
+about-reader-toolbar-contentwidthplus =
+ .title = Suurenna sisällön leveyttä
+about-reader-toolbar-lineheightminus =
+ .title = Pienennä rivikorkeutta
+about-reader-toolbar-lineheightplus =
+ .title = Suurenna rivikorkeutta
+
+## These are the styles of typeface that are options in the reader view controls.
+
+about-reader-font-type-serif = Serif
+about-reader-font-type-sans-serif = Sans-serif
+
+## Reader View toolbar buttons
+
+about-reader-toolbar-close = Sulje lukunäkymä
+about-reader-toolbar-type-controls = Kirjasinasetukset
+about-reader-toolbar-savetopocket = Tallenna { -pocket-brand-name }iin
diff --git a/l10n-fi/toolkit/toolkit/about/aboutRights.ftl b/l10n-fi/toolkit/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..3537c6b201
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutRights.ftl
@@ -0,0 +1,36 @@
+# 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/.
+
+rights-title = Tietoa oikeuksistasi
+rights-intro = { -brand-full-name } on ilmainen, avoimen lähdekoodin ohjelmisto. Sen tekijäyhteisö koostuu tuhansista ihmisistä, jotka asuvat ympäri maailmaa. Seuraavat seikat on hyvä tietää:
+rights-intro-point-1 = { -brand-short-name } on annettu sinulle <a data-l10n-name="mozilla-public-license-link">Mozillan julkisen lisenssin (Mozilla Public License)</a> ehdoilla. Lisenssissä annetaan sinulle oikeus käyttää, kopioida ja levittää { -brand-short-name }ia. Sinulla on myös halutessasi oikeus muokata ja muuttaa { -brand-short-name }in lähdekoodia omien tarpeittesi mukaisesti. Mozillan julkinen lisenssi antaa sinulle myös oikeuden levittää näitä muokkaamiasi versioita.
+rights-intro-point-2 = Sinulle ei anneta minkään muotoisia tavaramerkki- tai lisenssioikeuksia Mozilla-säätiön tai muun tahon tavaramerkkeihin, joihin lukeutuu Firefox-nimi ja -logo. Voit lukea tarkempia lisätietoja tavaramerkeistä <a data-l10n-name="mozilla-trademarks-link">täältä</a>.
+rights-intro-point-3 = Jotkin { -brand-short-name }in ominaisuudet, kuten kaatumisen raportointi, antavat mahdollisuuden lähettää palautetta { -vendor-short-name }lle. Lähettämällä palautetta annat { -vendor-short-name }lle luvan käyttää lähetettyjä tietoja parantamaan tuotetta, julkaisemaan lähetetyn palautteen verkkosivuilla ja jakelemaan lähetettyjä palautetietoja.
+rights-intro-point-4 = <a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name }in tietosuojakäytännössä </a>kuvataan, mihin tarkoituksiin käytämme { -brand-short-name }ista { -vendor-short-name }lle lähetetyt palautteet ja käyttäjätiedot.
+rights-intro-point-4-unbranded = Kaikki tämän tuotteen käyvät tietosuojakäytänteet tulisi luetteloida tässä.
+rights-intro-point-5 = Jotkin { -brand-short-name }in ominaisuudet käyttävät hyväkseen verkkopohjaisia tietopalveluja, joiden emme voi taata olevan 100 % tarkkoja tai virheettömiä. Lisätietoja palveluista mukaan lukien ohjeet niiden päältä poistamiseen löydät <a data-l10n-name="mozilla-service-terms-link">palveluehdoista</a>.
+rights-intro-point-5-unbranded = Jos tämä tuote käyttää toiminnassaan hyväkseen verkkopohjaisia palveluja, niiden palveluehdot tulisi linkittää <a data-l10n-name="mozilla-website-services-link">verkkosivustopalvelut</a>-osioon.
+rights-intro-point-6 = { -brand-short-name } lataa kolmansilta osapuolilta salauksen purkumoduuleja voidakseen toistaa tietyntyyppistä videosisältöä.
+rights-webservices-header = { -brand-full-name }in verkkopohjaiset tietopalvelut
+rights-webservices = { -brand-full-name }käyttää hyväkseen verkkopohjaisia tietopalveluita (”palveluita”) joidenkin tämän { -brand-short-name }in binääriversion ominaisuuksien toteuttamiseen kuten alla ehdoissa määritellään. Jos et halua käyttää näitä palveluita tai alla määritellyt ehdot eivät ole hyväksyttäviä, voit poistaa omaisuuden tai palvelut käytöstä. Ohjeet, kuinka tämä tehdään löytyvät <a data-l10n-name="mozilla-disable-service-link">täältä</a>. Muut ominaisuudet ja palvelut voi poistaa päältä ohjelman asetuksista.
+rights-safebrowsing = <strong>Selaussuoja: </strong>Selaussuoja (Safe Browsing) -toiminnon ottaminen pois päältä ei ole suositeltua, koska se voi johtaa ei-turvallisilla sivuilla käyntiin. Jos haluat ottaa tämän ominaisuuden pois päältä kokonaan, tee seuraavasti:
+rights-safebrowsing-term-1 = Avaa ohjelman asetukset
+rights-safebrowsing-term-2 = Valitse Turvallisuus-paneeli
+rights-safebrowsing-term-3 = Poista valinta kohdasta "{ enableSafeBrowsing-label }"
+enableSafeBrowsing-label = Estä vaarallinen ja petollinen sisältö
+rights-safebrowsing-term-4 = Selaussuoja on nyt poistettu käytöstä
+rights-locationawarebrowsing = <strong>Sijaintitietoinen selaus: </strong>on aina valinnainen. Sijaintitietoja ei ikinä lähetetä ilman hyväksyntääsi. Jos haluat poistaa toiminnon kokonaan, tee seuraavasti:
+rights-locationawarebrowsing-term-1 = Kirjoita osoitepalkkiin <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Kirjoita suodata-kenttään geo.enabled
+rights-locationawarebrowsing-term-3 = Tuplanapsauta geo.enabled -asetusta
+rights-locationawarebrowsing-term-4 = Sijaintitietoinen selaus -toiminto on nyt otettu pois päältä
+rights-webservices-unbranded = Tässä kohdassa tulisi olla kuvaus verkkosivustopalveluista, joita tuote käyttää, sekä ohjeet näiden palvelujen poistamiseen käytöstä jos tämä on mahdollista kyseiselle palvelulle.
+rights-webservices-term-unbranded = Tässä tulisi luetteloida kaikki tuotteen käyvät palveluehdot.
+rights-webservices-term-1 = { -vendor-short-name } ja siihen liittyvät vapaaehtoiset, lisensoijat ja yhteistyökumppanit pyrkivät toimittamaan ja tarjoamaan mahdollisimman tarkat ja ajan tasalla olevat palvelut. Tämän tiedon kattavuudesta tai virheettömyydestä ei kuitenkaan voida antaa takuita. Esimerkiksi joitain vaarallisia sivustoja ei ehkä tunnisteta ja jotkin harmittomat sivut voidaan virheellisesti luokitella vaarallisiksi. Vastaavasti sijaintitiedot ovat vain arvioita, emmekä me tai meidän palveluntarjoajat voi taata sijaintitietojen tarkkuutta.
+rights-webservices-term-2 = { -vendor-short-name } voi lakkauttaa tai muuttaa palveluita yksipuolisesti.
+rights-webservices-term-3 = Voit käyttää näitä palveluita tämän { -brand-short-name }in version kanssa ja sinulla on ohjelman myötä kaikki tarvittavat oikeudet niiden käyttämiseen. { -vendor-short-name } ja sen lisensoijat säilyttävät kaikki muut oikeudet palveluihin. Näitä ehtoja ei ole suunniteltu rajoittamaan mitään { -brand-short-name }in avoimen lähdekoodin lisenssien myöntämiä oikeuksia saati lähdekoodiversiolle myönnettyjä oikeuksia.
+rights-webservices-term-4 = <strong>Palvelut toimitetaan siinä tilassa "kuin ne ovat". { -vendor-short-name }, siihen liittyvät vapaaehtoiset, lisensoijat ja levittäjät kieltävät kaikki takuut, mukaan lukien lupaukset palvelun kaupallisesta laadusta ja sopivuudesta tarkoituksiisi. Kannat kokonaan vastuun palvelun valinnasta, sen laadusta ja toiminnasta. Tällaiset vastuun rajoitukset eivät ole välttämättä voimassa joissain tuomiovalloissa, joten edellä mainittu ei välttämättä pidä paikkaansa.</strong>
+rights-webservices-term-5 = <strong>Lukuunottamatta mitä laki vaatii, { -vendor-short-name }, siihen liittyvät vapaaehtoiset, lisensoijat ja levittäjät eivät ole korvausvastuussa mistään epäsuorasta, erikoisesta tai sattumanvaraisesta vahingosta, joka johtuu suoraan tai epäsuoraan { -brand-short-name }in ja palvelujen käytöstä. Näiden ehtojen alainen kollektiivinen korvausvelvollisuus ei ylitä $500 (viittä sataa Yhdysvaltain dollaria). Joissain tuomiovalloissa korvausvelvollisuuden ylärajaa ei lain mukaan voi asettaa, jolloin edellä mainittu ei pidä paikkaansa tapauksessasi.</strong>
+rights-webservices-term-6 = { -vendor-short-name } voi päivittää ja muuttaa näitä ehtoja tarpeen mukaan aika ajoin. Näitä ehtoja ei voi muuttaa tai poistaa ilman { -vendor-short-name }n kirjallista suostumusta.
+rights-webservices-term-7 = Nämä ehdot ovat Amerikan Yhdysvaltojen Kalifornian osavaltion lainsäädännön alaisia. Jos jokin osa ehdoista ei päde tuomiovallan alueella, loput ehdot ovat voimassa kokonaisuudessaan. Jos näiden ehtojen käännetty versio ja alkuperäinen englanninkielinen versio eroavat toisistaan, englanninkielinen versio on sitova.
diff --git a/l10n-fi/toolkit/toolkit/about/aboutServiceWorkers.ftl b/l10n-fi/toolkit/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..9f95777108
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutServiceWorkers.ftl
@@ -0,0 +1,40 @@
+# 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/.
+
+
+### The term "Service Workers" and "Workers" should not be translated
+
+about-service-workers-title = Tietoja Service Workers -apukomentosarjoista
+about-service-workers-main-title = Rekisteröidyt Service Workers -apukomentosarjat
+about-service-workers-warning-not-enabled = Service Workers -apukomentosarjat eivät ole päällä.
+about-service-workers-warning-no-service-workers = Ei rekisteröityjä Service Workers -apukomentosarjoja.
+
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = Lähde: { $originTitle }
+
+## These strings are for showing the information of workers.
+##
+## Variables:
+## $name: the name of scope, active cache, waiting cache and the push end point.
+## $url: the url of script specification and current worker.
+
+scope = <strong>Laajuus:</strong> { $name }
+script-spec = <strong>Komentosarjan tiedot:</strong> <a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>Tämänhetkinen Worker-osoite:</strong> <a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>Aktiivisen välimuistin nimi:</strong> { $name }
+waiting-cache-name = <strong>Odottavan välimuistin nimi:</strong> { $name }
+push-end-point-waiting = <strong>Tulosteen päätepiste:</strong> { waiting }
+push-end-point-result = <strong>Tulosteen päätepiste:</strong> { $name }
+
+# This term is used as a button label (verb, not noun).
+update-button = Päivitä
+
+unregister-button = Poista rekisteröinti
+
+unregister-error = Rekisteröinnin poisto Service Worker -apukomentosarjalle epäonnistui.
+
+waiting = Odotetaan…
diff --git a/l10n-fi/toolkit/toolkit/about/aboutSupport.ftl b/l10n-fi/toolkit/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..d7bdd7cead
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,411 @@
+# 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-title = Tietoja ongelmatilanteiden ratkaisuun
+page-subtitle =
+ Tällä sivulla on teknisiä tietoja, jotka voivat olla avuksi kun yritetään ratkaista
+ jotain ongelmaa ohjelman kanssa. Jos olet etsimässä vastauksia kysymyksiin
+ { -brand-short-name }ista, käy katsomassa löytyykö hakemaasi vastausta <a data-l10n-name="support-link">tukisivustoltamme</a>.
+crashes-title = Kaatumisilmoitukset
+crashes-id = Ilmoituksen tunnus
+crashes-send-date = Lähetetty
+crashes-all-reports = Kaikki kaatumisilmoitukset
+crashes-no-config = Tätä ohjelmaa ei ole säädetty näyttämään kaatumisilmoituksia.
+support-addons-title = Lisäosat
+support-addons-name = Nimi
+support-addons-type = Tyyppi
+support-addons-enabled = Käytössä
+support-addons-version = Versio
+support-addons-id = ID
+legacy-user-stylesheets-title = Vanhennetut käyttäjien tyylimäärittelyt
+legacy-user-stylesheets-enabled = Aktiivinen
+legacy-user-stylesheets-stylesheet-types = Tyylimäärittelyt
+legacy-user-stylesheets-no-stylesheets-found = Tyylimäärittelyjä ei löytynyt
+security-software-title = Tietoturvaohjelmat
+security-software-type = Tyyppi
+security-software-name = Nimi
+security-software-antivirus = Virustentorjunta
+security-software-antispyware = Vakoiluntorjunta
+security-software-firewall = Palomuuri
+features-title = { -brand-short-name }-ominaisuudet
+features-name = Nimi
+features-version = Versio
+features-id = ID
+processes-title = Etäprosessit
+processes-type = Tyyppi
+processes-count = Määrä
+app-basics-title = Ohjelman perustiedot
+app-basics-name = Nimi
+app-basics-version = Versio
+app-basics-build-id = Koosteen tunniste
+app-basics-distribution-id = Jakelutunnus
+app-basics-update-channel = Päivityskanava
+# This message refers to the folder used to store updates on the device,
+# as in "Folder for updates". "Update" is a noun, not a verb.
+app-basics-update-dir = Päivityskansio
+app-basics-update-history = Päivityshistoria
+app-basics-show-update-history = Näytä päivityshistoria
+# Represents the path to the binary used to start the application.
+app-basics-binary = Sovelluksen ohjelmatiedosto
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] Profiilikansio
+ *[other] Profiilikansio
+ }
+app-basics-enabled-plugins = Käytössä olevat liitännäiset
+app-basics-build-config = Koostamisasetukset
+app-basics-user-agent = Selaintunniste
+app-basics-os = Käyttöjärjestelmä
+app-basics-os-theme = Käyttöjärjestelmän teema
+# Rosetta is Apple's translation process to run apps containing x86_64
+# instructions on Apple Silicon. This should remain in English.
+app-basics-rosetta = Rosetta-muunnettu
+app-basics-memory-use = Muistin käyttö
+app-basics-performance = Suorituskyky
+app-basics-service-workers = Rekisteröidyt Service Workers -apukomentosarjat
+app-basics-third-party = Kolmannen osapuolen moduulit
+app-basics-profiles = Profiilit
+app-basics-launcher-process-status = Käynnistysprosessi
+app-basics-multi-process-support = Useaa prosessia hyödyntäviä ikkunoita
+app-basics-fission-support = Fission-ikkunoita
+app-basics-remote-processes-count = Etäprosessit
+app-basics-enterprise-policies = Yrityskäytännöt
+app-basics-location-service-key-google = Google Location Service -avain
+app-basics-safebrowsing-key-google = Google Safebrowsing -avain
+app-basics-key-mozilla = Mozilla Location Service -avain
+app-basics-safe-mode = Vikasietotila
+app-basics-memory-size = Muistin koko (RAM)
+app-basics-disk-available = Levytilaa käytettävissä
+app-basics-pointing-devices = Osoitinlaitteet
+# Variables:
+# $value (number) - Amount of data being stored
+# $unit (string) - The unit of data being stored (e.g. MB)
+app-basics-data-size = { $value } { $unit }
+show-dir-label =
+ { PLATFORM() ->
+ [macos] Avaa Finderissa
+ [windows] Avaa kansio
+ *[other] Avaa kansio
+ }
+environment-variables-title = Ympäristömuuttujat
+environment-variables-name = Nimi
+environment-variables-value = Arvo
+experimental-features-title = Kokeelliset ominaisuudet
+experimental-features-name = Nimi
+experimental-features-value = Arvo
+modified-key-prefs-title = Tärkeät muutetut asetukset
+modified-prefs-name = Nimi
+modified-prefs-value = Arvo
+user-js-title = user.js-asetukset
+user-js-description = Profiilisi sisältää <a data-l10n-name="user-js-link">user.js-tiedoston</a>, joka sisältää muiden kuin { -brand-short-name }in määrittelemät asetukset.
+locked-key-prefs-title = Tärkeät lukitut asetukset
+locked-prefs-name = Nimi
+locked-prefs-value = Arvo
+graphics-title = Grafiikka
+graphics-features-title = Ominaisuudet
+graphics-diagnostics-title = Diagnostiikka
+graphics-failure-log-title = Virheloki
+graphics-gpu1-title = GPU #1
+graphics-gpu2-title = GPU #2
+graphics-decision-log-title = Päätösloki
+graphics-crash-guards-title = Kaatumisvahdin käytöstä poistamat ominaisuudet
+graphics-workarounds-title = Hätäratkaisut
+graphics-device-pixel-ratios = Ikkunoiden pikselisuhteet
+# Windowing system in use on Linux (e.g. X11, Wayland).
+graphics-window-protocol = Ikkunointiprotokolla
+# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc).
+graphics-desktop-environment = Työpöytäympäristö
+place-database-title = Places-tietokanta
+place-database-stats = Tilastot
+place-database-stats-show = Näytä tilastot
+place-database-stats-hide = Piilota tilastot
+place-database-stats-entity = Entiteetti
+place-database-stats-count = Lukumäärä
+place-database-stats-size-kib = Koko (KiB)
+place-database-stats-size-perc = Koko (%)
+place-database-stats-efficiency-perc = Tehokkuus (%)
+place-database-stats-sequentiality-perc = Peräkkäisyys (%)
+place-database-integrity = Virheettömyys
+place-database-verify-integrity = Tarkista virheettömyys
+a11y-title = Saavutettavuus
+a11y-activated = Käytössä
+a11y-force-disabled = Estä saavutettavuustoiminnot
+a11y-handler-used = Saavutettavuuskäsittelijää käytetty
+a11y-instantiator = Saavutettavuuden käynnistänyt ohjelma
+library-version-title = Kirjastojen versiot
+copy-text-to-clipboard-label = Kopioi teksti leikepöydälle
+copy-raw-data-to-clipboard-label = Kopioi käsittelemätön data leikepöydälle
+sandbox-title = Hiekkalaatikko
+sandbox-sys-call-log-title = Hylätyt järjestelmäkutsut
+sandbox-sys-call-index = #
+sandbox-sys-call-age = Sekuntia sitten
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = Prosessin tyyppi
+sandbox-sys-call-number = Järjestelmäkutsu
+sandbox-sys-call-args = Argumentit
+troubleshoot-mode-title = Selvitä ongelmia
+restart-in-troubleshoot-mode-label = Vianmääritystila…
+clear-startup-cache-title = Kokeile tyhjentää käynnistyksen välimuisti
+clear-startup-cache-label = Tyhjennä käynnistyksen välimuisti…
+startup-cache-dialog-title2 = Käynnistä { -brand-short-name } uudestaan ja tyhjennä käynnistyksen välimuisti?
+startup-cache-dialog-body2 = Tämä ei muuta asetuksiasi tai poista laajennuksia.
+restart-button-label = Käynnistä uudestaan
+
+## Media titles
+
+audio-backend = Äänen taustajärjestelmä
+max-audio-channels = Kanavia enintään
+sample-rate = Ensisijainen näytteenottotaajuus
+roundtrip-latency = Edestakainen viive (keskihajonta)
+media-title = Media
+media-output-devices-title = Toistolaitteet
+media-input-devices-title = Syöttölaitteet
+media-device-name = Nimi
+media-device-group = Ryhmä
+media-device-vendor = Valmistaja
+media-device-state = Tila
+media-device-preferred = Ensisijaisuus
+media-device-format = Muoto
+media-device-channels = Kanavia
+media-device-rate = Näytteenottotaajuus
+media-device-latency = Viive
+media-capabilities-title = Mediaominaisuudet
+media-codec-support-info = Koodekkitukitiedot
+# List all the entries of the database.
+media-capabilities-enumerate = Listaa tietokannan sisältö
+
+## Codec support table
+
+media-codec-support-sw-decoding = Ohjelmistopohjainen purku
+media-codec-support-hw-decoding = Laitteistopohjainen purku
+media-codec-support-codec-name = Koodekin nimi
+media-codec-support-supported = Tuettu
+media-codec-support-unsupported = Ei tuettu
+media-codec-support-error = Koodekkitukitietoja ei ole saatavilla. Yritä uudelleen mediatiedoston toiston jälkeen.
+media-codec-support-lack-of-extension = Asenna laajennus
+
+##
+
+intl-title = Internationalisointi ja lokalisointi
+intl-app-title = Sovelluksen asetukset
+intl-locales-requested = Pyydetyt localet
+intl-locales-available = Käytettävissä olevat localet
+intl-locales-supported = Sovelluksen localet
+intl-locales-default = Oletuslocale
+intl-os-title = Käyttöjärjestelmä
+intl-os-prefs-system-locales = Järjestelmän localet
+intl-regional-prefs = Alueasetukset
+
+## Remote Debugging
+##
+## The Firefox remote protocol provides low-level debugging interfaces
+## used to inspect state and control execution of documents,
+## browser instrumentation, user interaction simulation,
+## and for subscribing to browser-internal events.
+##
+## See also https://firefox-source-docs.mozilla.org/remote/
+
+remote-debugging-title = Etävianjäljitys (Chromium-protokolla)
+remote-debugging-accepting-connections = Hyväksyy yhteyksiä
+remote-debugging-url = URL-osoite
+
+##
+
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days =
+ { $days ->
+ [one] Kaatumisilmoitukset viimeisen { $days } päivän aikana
+ *[other] Kaatumisilmoitukset viimeisen { $days } päivän aikana
+ }
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes =
+ { $minutes ->
+ [one] { $minutes } minuutti sitten
+ *[other] { $minutes } minuuttia sitten
+ }
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours =
+ { $hours ->
+ [one] { $hours } tunti sitten
+ *[other] { $hours } tuntia sitten
+ }
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days =
+ { $days ->
+ [one] { $days } päivä sitten
+ *[other] { $days } päivää sitten
+ }
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports =
+ { $reports ->
+ [one] Kaikki kaatumisilmoitukset (sisältäen { $reports } lähetyslupaa odottavan ilmoituksen annetulla aikarajoituksella)
+ *[other] Kaikki kaatumisilmoitukset (sisältäen { $reports } lähetyslupaa odottavaa ilmoitusta annetulla aikarajoituksella)
+ }
+raw-data-copied = Käsittelemätön data kopioitiin leikepöydälle
+text-copied = Teksti kopioitiin leikepöydälle
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = Estetty näytönohjaimen ajureiden käytetyssä versiossa.
+blocked-gfx-card = Estetty näytönohjaimellasi ohjaimen ajurien korjaamattomista ongelmista.
+blocked-os-version = Estetty käyttöjärjestelmäsi versiolla.
+blocked-mismatched-version = Estetty koska näytönohjaimen ajureiden versio eroaa rekisterissä ja DLL:ssä.
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = Estetty näytönohjaimen ajureiden käytetyssä versiossa. Yritä päivittää näytönohjaimesi ajurit versioon { $driverVersion } tai uudempaan.
+# "ClearType" is a proper noun and should not be translated. Feel free to leave English strings if
+# there are no good translations, these are only used in about:support
+clear-type-parameters = ClearType-parametrit
+compositing = Koostaminen
+hardware-h264 = Laitteistopohjainen H264-koodauksen purku
+main-thread-no-omtc = pääsäie, ei OMTC:tä
+yes = Kyllä
+no = Ei
+unknown = Tuntematon
+virtual-monitor-disp = Virtuaalinen näyttö
+
+## The following strings indicate if an API key has been found.
+## In some development versions, it's expected for some API keys that they are
+## not found.
+
+found = Löytyy
+missing = Puuttuu
+gpu-process-pid = GPU-prosessin PID
+gpu-process = GPU-prosessi
+gpu-description = Kuvaus
+gpu-vendor-id = Valmistajan tunnus
+gpu-device-id = Laitteen tunnus
+gpu-subsys-id = Alijärjestelmän tunnus
+gpu-drivers = Ajurit
+gpu-ram = Muisti
+gpu-driver-vendor = Ajurin tekijä
+gpu-driver-version = Ajurin versio
+gpu-driver-date = Ajurin päiväys
+gpu-active = Aktiivinen
+webgl1-wsiinfo = WebGL 1 -ajurin WSI-tiedot
+webgl1-renderer = WebGL 1 -ajurin mallintaja
+webgl1-version = WebGL 1 -ajurin versio
+webgl1-driver-extensions = WebGL 1 -ajurin laajennukset
+webgl1-extensions = WebGL 1 -laajennukset
+webgl2-wsiinfo = WebGL 2 -ajurin WSI-tiedot
+webgl2-renderer = WebGL 2 -ajurin mallintaja
+webgl2-version = WebGL 2 -ajurin versio
+webgl2-driver-extensions = WebGL 2 -ajurin laajennukset
+webgl2-extensions = WebGL 2 -laajennukset
+webgpu-default-adapter = WebGPU-oletussovitin
+webgpu-fallback-adapter = WebGPU-varasovitin
+# Variables
+# $bugNumber (string) - Bug number on Bugzilla
+support-blocklisted-bug = Estolistalla tunnetuista ongelmista johtuen: <a data-l10n-name="bug-link">vika { $bugNumber }</a>
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = Estolistalla; virhekoodi { $failureCode }
+d3d11layers-crash-guard = D3D11-koostaminen
+glcontext-crash-guard = OpenGL
+wmfvpxvideo-crash-guard = WMF VPX -videopurkaja
+reset-on-next-restart = Nollaa seuraavan käynnistyksen yhteydessä
+gpu-process-kill-button = Lopeta GPU-prosessi
+gpu-device-reset = Laitteen nollaus
+gpu-device-reset-button = Aloita laitteen nollaus
+uses-tiling = Käyttää ruutuihin jakoa
+content-uses-tiling = Käyttää ruutuihin jakoa (sisältö)
+off-main-thread-paint-enabled = Pääsäikeen ulkopuolinen piirtäminen käytössä
+off-main-thread-paint-worker-count = Pääsäikeen ulkopuolisen piirtämisen työyksiköitä
+target-frame-rate = Tavoitteellinen kuvataajuus
+min-lib-versions = Odotettu minimiversio
+loaded-lib-versions = Käytössä oleva versio
+has-seccomp-bpf = Seccomp-BPF (Järjestelmäkutsujen suodatus)
+has-seccomp-tsync = Seccomp-säikeiden synkronointi
+has-user-namespaces = Käyttäjän nimiavaruudet
+has-privileged-user-namespaces = Käyttäjän nimiavaruudet etuoikeutetuille prosesseille
+can-sandbox-content = Sisältöprosessin suorittaminen hiekkalaatikossa
+can-sandbox-media = Medialiitännäisen suorittaminen hiekkalaatikossa
+content-sandbox-level = Sisältöprosessin hiekkalaatikkotaso
+effective-content-sandbox-level = Sisältöprosessin efektiivinen hiekkalaatikkotaso
+content-win32k-lockdown-state = Win32k-lukitustila sisältöprosessille
+support-sandbox-gpu-level = GPU-prosessin hiekkalaatikkotaso
+sandbox-proc-type-content = sisältö
+sandbox-proc-type-file = tiedostojen sisältö
+sandbox-proc-type-media-plugin = medialiitännäinen
+sandbox-proc-type-data-decoder = datan purkaja
+startup-cache-title = Käynnistyksen välimuisti
+startup-cache-disk-cache-path = Levyvälimuistin polku
+startup-cache-ignore-disk-cache = Ohita levyvälimuisti
+startup-cache-found-disk-cache-on-init = Levyvälimuisti löytyi alustuksessa
+startup-cache-wrote-to-disk-cache = Kirjoitettiin levyvälimuistiin
+launcher-process-status-0 = Käytössä
+launcher-process-status-1 = Ei käytössä johtuen viasta
+launcher-process-status-2 = Poistettu käytöstä pakottaen
+launcher-process-status-unknown = Tuntematon tila
+# Variables
+# $remoteWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+multi-process-windows = { $remoteWindows }/{ $totalWindows }
+# Variables
+# $fissionWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+fission-windows = { $fissionWindows }/{ $totalWindows }
+fission-status-experiment-control = Kokeilun käytöstä poistama
+fission-status-experiment-treatment = Kokeilun käyttöön ottama
+fission-status-disabled-by-e10s-env = Ympäristön käytöstä poistama
+fission-status-enabled-by-env = Ympäristön käyttöön ottama
+fission-status-disabled-by-env = Ympäristön käytöstä poistama
+fission-status-enabled-by-default = Käytössä oletuksena
+fission-status-disabled-by-default = Poistettu käytöstä oletuksena
+fission-status-enabled-by-user-pref = Käyttäjän käyttöön ottama
+fission-status-disabled-by-user-pref = Käyttäjän käytöstä poistama
+fission-status-disabled-by-e10s-other = E10s poistettu käytöstä
+fission-status-enabled-by-rollout = Otettu käyttöön vaiheittaisessa levityksessä
+async-pan-zoom = Asynkroninen siirto/lähennys
+apz-none = ei mitään
+wheel-enabled = rullaliittymä käytössä
+touch-enabled = kosketusliittymä käytössä
+drag-enabled = vierityspalkin vastus käytössä
+keyboard-enabled = näppäimistö käytössä
+autoscroll-enabled = automaattivieritys käytössä
+zooming-enabled = portaaton nipistyszoomaus käytössä
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = async rullaliittymä pois käytöstä ei tuetun asetuksen johdosta: { $preferenceKey }
+touch-warning = async kosketusliittymä pois käytöstä ei tuetun asetuksen johdosta: { $preferenceKey }
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = Ei käytössä
+policies-active = Käytössä
+policies-error = Virhe
+
+## Printing section
+
+support-printing-title = Tulostaminen
+support-printing-troubleshoot = Ongelmanmääritys
+support-printing-clear-settings-button = Tyhjennä tallennetut tulostusasetukset
+support-printing-modified-settings = Muokatut tulostusasetukset
+support-printing-prefs-name = Nimi
+support-printing-prefs-value = Arvo
+
+## Normandy sections
+
+support-remote-experiments-title = Etäkokeilut
+support-remote-experiments-name = Nimi
+support-remote-experiments-branch = Kokeiluhaara
+support-remote-experiments-see-about-studies = Sivulta <a data-l10n-name="support-about-studies-link">about:studies</a> voi lukea lisätietoja, kuten miten poistaa käytöstä yksittäisiä kokeiluja tai estää { -brand-short-name } suorittamasta tällaista kokeilua tulevaisuudessa.
+support-remote-features-title = Etäominaisuudet
+support-remote-features-name = Nimi
+support-remote-features-status = Tila
+
+## Pointing devices
+
+pointing-device-mouse = Hiiri
+pointing-device-touchscreen = Kosketusnäyttö
+pointing-device-pen-digitizer = Digitaalinen kynä
+pointing-device-none = Ei osoitinlaitteita
diff --git a/l10n-fi/toolkit/toolkit/about/aboutTelemetry.ftl b/l10n-fi/toolkit/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..f95c71e63d
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutTelemetry.ftl
@@ -0,0 +1,136 @@
+# 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/.
+
+about-telemetry-ping-data-source = Ping-datan lähde:
+about-telemetry-show-current-data = Nykyinen data
+about-telemetry-show-archived-ping-data = Arkistoitu ping-data
+about-telemetry-show-subsession-data = Näytä ali-istuntodata
+about-telemetry-choose-ping = Valitse ping:
+about-telemetry-archive-ping-type = Pingin tyyppi
+about-telemetry-archive-ping-header = Ping
+about-telemetry-option-group-today = Tänään
+about-telemetry-option-group-yesterday = Eilen
+about-telemetry-option-group-older = Vanhemmat
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = Kaukomittaustiedot
+about-telemetry-current-store = Nykyinen säilö:
+about-telemetry-more-information = Etsitkö lisätietoa?
+about-telemetry-firefox-data-doc = <a data-l10n-name="data-doc-link">Firefox Data Documentation</a> sisältää englanniksi oppaita datatyökalujen käytöstä.
+about-telemetry-telemetry-client-doc = <a data-l10n-name="client-doc-link">Firefox Telemetry client documentation</a> sisältää englanniksi käsitteiden määritelmät, API-dokumentaation ja dataviittaukset.
+about-telemetry-telemetry-dashboard = <a data-l10n-name="dashboard-link">Kaukomittaustietojen yhteenvetojen</a> avulla voi visualisoida dataa, jota Mozilla vastaanottaa kaukomittauksen avulla.
+about-telemetry-telemetry-probe-dictionary = <a data-l10n-name="probe-dictionary-link">Anturihakemisto</a> sisältää kaukomitattavien anturien tiedot ja kuvaukset.
+about-telemetry-show-in-Firefox-json-viewer = Avaa JSON-katselimessa
+about-telemetry-home-section = Etusivu
+about-telemetry-general-data-section = Yleistiedot
+about-telemetry-environment-data-section = Ympäristön tiedot
+about-telemetry-session-info-section = Istunnon tiedot
+about-telemetry-scalar-section = Skaalariarvot
+about-telemetry-keyed-scalar-section = Avaimelliset skalaariarvot
+about-telemetry-histograms-section = Histogrammit
+about-telemetry-keyed-histogram-section = Histogrammit merkinnöistä
+about-telemetry-events-section = Tapahtumat
+about-telemetry-simple-measurements-section = Yksinkertaiset mittaukset
+about-telemetry-slow-sql-section = Hitaat SQL-lauseet
+about-telemetry-addon-details-section = Lisäosien tiedot
+about-telemetry-late-writes-section = Myöhästyneet kirjoitukset
+about-telemetry-raw-payload-section = Raakatiedot
+about-telemetry-raw = Muotoilematon JSON
+about-telemetry-full-sql-warning = Huom.: Hitaan SQL:n virheenetsintä on käytössä. Täydelliset SQL-lausekkeet saattavat näkyä alla, mutta niitä ei lähetetä mittaustietona.
+about-telemetry-fetch-stack-symbols = Nouda funktioiden nimet pinoihin
+about-telemetry-hide-stack-symbols = Näytä muotoilematon pinodata
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] release-tietoja
+ *[prerelease] pre-release-tietoja
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] käytössä
+ *[disabled] pois käytöstä
+ }
+# Example Output: 1 sample, average = 0, sum = 0
+# Variables:
+# $sampleCount (Integer): amount of histogram samples
+# $prettyAverage (Integer): average of histogram samples
+# $sum (Integer): sum of histogram samples
+about-telemetry-histogram-stats =
+ { $sampleCount ->
+ [one] { $sampleCount } näyte, keskiarvo = { $prettyAverage }, summa = { $sum }
+ *[other] { $sampleCount } näytettä, keskiarvo = { $prettyAverage }, summa = { $sum }
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = Tällä sivulla näet Kaukomittaus-toiminnallisuuden keräämät tiedot suorituskyvystä, laitteistosta, ominaisuuksien käytöstä ja muokkauksista. Sivulla näkyvät tiedot lähetetään { $telemetryServerOwner }lle auttamaan { -brand-full-name }in kehityksessä.
+about-telemetry-settings-explanation = Kaukomittaus kerää { about-telemetry-data-type } ja tietojen lähetys on <a data-l10n-name="upload-link">{ about-telemetry-upload-type }</a>.
+# Variables:
+# $name (String): ping name, e.g. “saved-session”
+# $timeStamp (String): ping localized timestamp, e.g. “2017/07/08 10:40:46”
+about-telemetry-ping-details = Kukin informaation palanen lähetetään koottuna ”<a data-l10n-name="ping-link">pingeihin</a>”. Katselet juuri { $name }, { $timestamp }-pingiä.
+about-telemetry-data-details-current = Kukin informaation palanen lähetetään koottuna ”<a data-l10n-name="ping-link">pingeihin</a>”. Katselet juuri nykyistä dataa.
+# string used as a placeholder for the search field
+# More info about it can be found here:
+# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $selectedTitle (String): the section name from the structure of the ping.
+about-telemetry-filter-placeholder =
+ .placeholder = Etsi: { $selectedTitle }
+about-telemetry-filter-all-placeholder =
+ .placeholder = Etsi kaikista osioista
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = Tulokset haulle ”{ $searchTerms }”
+# More info about it can be found here: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $sectionName (String): the section name from the structure of the ping.
+# $currentSearchText (String): the current text in the search input
+about-telemetry-no-search-results = Ei hakutuloksia osiosta { $sectionName } haulle ”{ $currentSearchText }”
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = Ei hakutuloksia mistään osiosta haulle ”{ $searchTerms }”
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = Osiossa ”{ $sectionName }” ei ole tällä hetkellä dataa
+# used as a tooltip for the “current” ping title in the sidebar
+about-telemetry-current-data-sidebar = nykyinen data
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = kaikki
+# button label to copy the histogram
+about-telemetry-histogram-copy = Kopioi
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = Hitaat SQL-lauseet pääsäikeessä
+about-telemetry-slow-sql-other = Hitaat SQL-lauseet apusäikeissä
+about-telemetry-slow-sql-hits = Osumat
+about-telemetry-slow-sql-average = Keskimääräinen aika (ms)
+about-telemetry-slow-sql-statement = Lause
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = Lisäosan tunnus
+about-telemetry-addon-table-details = Tiedot
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = { $addonProvider }-toimittaja
+about-telemetry-keys-header = Ominaisuus
+about-telemetry-names-header = Nimi
+about-telemetry-values-header = Arvo
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = Myöhästynyt kirjoitus #{ $lateWriteCount }
+about-telemetry-stack-title = Pino:
+about-telemetry-memory-map-title = Muistikartta:
+about-telemetry-error-fetching-symbols = Tapahtui virhe haettaessa symboleita. Tarkista, että Internet-yhteys on kunnossa ja yritä uudestaan.
+about-telemetry-time-stamp-header = aikaleima
+about-telemetry-category-header = luokka
+about-telemetry-method-header = metodi
+about-telemetry-object-header = objekti
+about-telemetry-extra-header = lisätietoa
+# Variables:
+# $process (String): type of process in subsection headers ( e.g. "content", "parent" )
+about-telemetry-process = { $process }-prosessi
diff --git a/l10n-fi/toolkit/toolkit/about/aboutThirdParty.ftl b/l10n-fi/toolkit/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..9944228807
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutThirdParty.ftl
@@ -0,0 +1,69 @@
+# 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/.
+
+third-party-page-title = Kolmansien osapuolten moduulien tiedot
+third-party-section-title = Lista { -brand-short-name }issa olevista kolmansien osapuolten moduuleista
+third-party-intro =
+ Tämä sivu näyttää kolmansien osapuolten moduulit, jotka injektoitiin
+ { -brand-short-name }iin. Mikä tahansa moduuli, joka ei ole Microsoftin tai
+ { -vendor-short-name }n allekirjoittama, mielletään kolmannen osapuolen moduuliksi.
+third-party-message-empty = Kolmansien osapuolten moduuleja ei havaittu.
+third-party-message-no-duration = Ei nauhoitettu
+third-party-detail-version = Tiedoston versio
+third-party-detail-vendor = Valmistajan tiedot
+third-party-detail-occurrences = Esiintymät
+ .title = Kuinka monta kertaa tämä moduuli ladattiin.
+third-party-detail-duration = Odotusajan keskiarvo (ms)
+ .title = Kuinka kauan tämä moduuli odotutti sovellusta.
+third-party-detail-app = Sovellus
+third-party-detail-publisher = Julkaisija
+third-party-th-process = Prosessi
+third-party-th-duration = Latausaika (ms)
+third-party-th-status = Tila
+third-party-tag-ime = IME
+ .title = Tämäntyyppinen moduuli ladataan, kun käytetään kolmannen osapuolen kirjoitustukea (IME).
+third-party-tag-shellex = Liittymälaajennus
+ .title = Tämäntyyppinen moduuli ladataan, kun avataan järjestelmän tiedostovalintaikkuna.
+third-party-tag-background = Taustamoduuli
+ .title = Tämä moduuli ei odotuttanut sovellusta, koska se ladattiin taustalla.
+third-party-icon-unsigned =
+ .title = Tämä moduuli ei ole allekirjoitettu
+ .alt = Tämä moduuli ei ole allekirjoitettu
+third-party-icon-warning =
+ .title = { -brand-short-name } kaatui tämän moduulin koodissa
+ .alt = { -brand-short-name } kaatui tämän moduulin koodissa
+third-party-status-loaded = Ladattu
+third-party-status-blocked = Estetty
+third-party-status-redirected = Uudelleenohjattu
+third-party-button-copy-to-clipboard = Kopioi käsittelemätön data leikepöydälle
+third-party-loading-data =
+ .alt = Ladataan järjestelmätietoja…
+ .title = Ladataan järjestelmätietoja…
+third-party-button-reload = Lataa uudelleen järjestelmätietojen kanssa
+ .title = Lataa uudelleen järjestelmätietojen kanssa
+third-party-button-open =
+ .title = Avaa tiedoston sijainti…
+third-party-button-to-block =
+ .title = Estä tämä moduuli
+ .aria-label = Estä tämä moduuli
+third-party-button-to-unblock =
+ .title = Tällä hetkellä estetty. Napsauta poistaaksesi sen eston.
+ .aria-label = Tällä hetkellä estetty. Napsauta poistaaksesi sen eston.
+third-party-button-to-block-module = Estä tämä moduuli
+ .title = Estä tämä moduuli
+ .aria-label = Estä tämä moduuli
+third-party-button-to-unblock-module = Kumoa tämän moduulin esto
+ .title = Tällä hetkellä estetty. Napsauta kumotaksesi moduulin eston.
+ .aria-label = Tällä hetkellä estetty. Napsauta kumotaksesi moduulin eston.
+third-party-button-expand =
+ .title = Näytä yksityiskohtaiset tiedot
+third-party-button-collapse =
+ .title = Supista yksityiskohtaiset tiedot
+third-party-blocking-requires-restart = Kolmannen osapuolen moduulin estämiseksi { -brand-short-name } on käynnistettävä uudelleen.
+third-party-should-restart-title = Käynnistä { -brand-short-name } uudestaan
+third-party-restart-now = Käynnistä uudelleen
+third-party-restart-later = Käynnistä uudestaan myöhemmin
+third-party-blocked-by-builtin =
+ .title = { -brand-short-name }in estämä
+ .alt = { -brand-short-name }in estämä
diff --git a/l10n-fi/toolkit/toolkit/about/aboutWebauthn.ftl b/l10n-fi/toolkit/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..ed26fc1f24
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutWebauthn.ftl
@@ -0,0 +1,105 @@
+# 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 for about:webauthn, a security token management page
+
+# Page title
+# 'WebAuthn' is a protocol name and should not be translated
+about-webauthn-page-title = Tietoja WebAuthnista
+
+## Section titles
+
+about-webauthn-info-section-title = Laitetiedot
+about-webauthn-pin-section-title = PIN-koodin hallinta
+about-webauthn-credential-management-section-title = Hallitse kirjautumistietoja
+about-webauthn-pin-required-section-title = PIN vaaditaan
+about-webauthn-confirm-deletion-section-title = Vahvista poistaminen
+
+## Info field texts
+
+about-webauthn-text-connect-device = Yhdistä suojausavain.
+# If multiple devices are plugged in, they will blink and we are asking the user to select one by touching the device they want.
+about-webauthn-text-select-device = Valitse haluamasi suojausavain koskettamalla laitetta.
+# CTAP2 refers to Client to Authenticator Protocol version 2
+about-webauthn-text-non-ctap2-device = Vaihtoehtoja ei voi hallita, koska suojausavain ei tue CTAP2:ta.
+about-webauthn-text-not-available = Ei saatavilla tällä alustalla.
+
+## Results label
+
+about-webauthn-results-success = Onnistui!
+about-webauthn-results-general-error = Virhe!
+# Variables:
+# $retriesLeft (Number): number of tries left
+about-webauthn-results-pin-invalid-error =
+ { $retriesLeft ->
+ [0] Virhe: Väärä PIN-koodi. Yritä uudelleen.
+ [one] Virhe: Väärä PIN-koodi. Yritä uudelleen. Sinulla on yksi yritys jäljellä.
+ *[other] Virhe: Väärä PIN-koodi. Yritä uudelleen. Sinulla on { $retriesLeft } yritystä jäljellä.
+ }
+about-webauthn-results-pin-too-short-error = Virhe: Annettu PIN on liian lyhyt.
+about-webauthn-results-pin-too-long-error = Virhe: Annettu PIN on liian pitkä.
+about-webauthn-results-pin-auth-blocked-error = Virhe: epäonnistuneita yrityksiä oli liian monta peräkkäin ja PIN-todennus on väliaikaisesti estetty. Laitteesi tarvitsee virrankatkaisun (irrota laite ja aseta se uudelleen).
+about-webauthn-results-cancelled-by-user-error = Virhe: Käyttäjä on perunut toiminnon.
+
+## Labels
+
+about-webauthn-new-pin-label = Uusi PIN-koodi:
+about-webauthn-repeat-pin-label = Toista uusi PIN-koodi:
+about-webauthn-current-pin-label = Nykyinen PIN-koodi:
+about-webauthn-pin-required-label = Anna PIN-koodisi:
+about-webauthn-credential-list-subsection-title = Kirjautumistiedot:
+about-webauthn-credential-list-empty = Laitteelta ei löytynyt kirjautumistietoja.
+about-webauthn-confirm-deletion-label = Olet poistamassa:
+
+## Buttons
+
+about-webauthn-current-set-pin-button = Aseta PIN-koodi
+about-webauthn-current-change-pin-button = Vaihda PIN-koodi
+# List is a verb, as in "Show list of credentials"
+about-webauthn-list-credentials-button = Listaa kirjautumistiedot
+about-webauthn-cancel-button = Peruuta
+about-webauthn-send-pin-button = OK
+about-webauthn-delete-button = Poista
+
+## Authenticator options fields
+## Option fields correspond to the CTAP2 option IDs and definitions found in https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#option-id
+
+about-webauthn-auth-option-uv = Käyttäjän vahvistus
+about-webauthn-auth-option-up = Käyttäjän läsnäolo
+about-webauthn-auth-option-clientpin = Asiakkaan PIN-koodi
+# FIDO_2_1_PRE should not be translated.
+about-webauthn-auth-option-userverificationmgmtpreview = Biometrisen rekisteröinnin prototyyppi (FIDO_2_1_PRE)
+about-webauthn-auth-option-uvbioenroll = Biometrisen rekisteröinnin lupa
+about-webauthn-auth-option-setminpinlength = Aseta PIN-koodin vähimmäispituus
+# MakeCredential should not be translated.
+about-webauthn-auth-option-makecreduvnotrqd = MakeCredential ilman käyttäjän vahvistusta
+about-webauthn-auth-option-alwaysuv = Vaadi aina käyttäjän vahvistus
+# Shows when boolean value for an option is True. True should not be translated.
+about-webauthn-auth-option-true = True
+# Shows when boolean value of an option is False. False should not be translated.
+about-webauthn-auth-option-false = False
+# If the value is missing (null), it means a certain feature is not supported.
+about-webauthn-auth-option-null = Ei tuettu
+
+## Authenticator info fields
+## Info fields correspond to the CTAP2 authenticatorGetInfo field member name and definitions found in https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#authenticatorGetInfo
+
+about-webauthn-auth-info-firmware-version = Laiteohjelmiston versio
+about-webauthn-auth-info-min-pin-length = PIN-koodin vähimmäispituus
+about-webauthn-auth-info-force-pin-change = Pakota PIN-koodin vaihto
+about-webauthn-auth-info-max-ser-large-blob-array = Suuren blob-taulukon enimmäiskoko
+about-webauthn-auth-info-algorithms = Algoritmit
+about-webauthn-auth-info-transports = Kuljetustavat
+about-webauthn-auth-info-pin-protocols = PIN-protokollat
+about-webauthn-auth-info-max-msg-size = Viestin enimmäiskoko
+# AAGUID should not be translated.
+about-webauthn-auth-info-aaguid = AAGUID
+about-webauthn-auth-info-extensions = Laajennukset
+about-webauthn-auth-info-versions = Versiot
+# Shows when boolean value for an info field is True. True should not be translated.
+about-webauthn-auth-info-true = True
+# Shows when boolean value for an info field is False. False should not be translated.
+about-webauthn-auth-info-false = False
+about-webauthn-auth-info-null = Ei tuettu
diff --git a/l10n-fi/toolkit/toolkit/about/aboutWebrtc.ftl b/l10n-fi/toolkit/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..274f21bb25
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,312 @@
+# 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 for about:webrtc, a troubleshooting and diagnostic page
+### for WebRTC calls. See https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
+
+# The text "WebRTC" is a proper noun and should not be translated.
+about-webrtc-document-title = WebRTC-tiedot
+# "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+about-webrtc-save-page-dialog-title = tallenna about:webrtc nimellä
+
+## These labels are for a disclosure which contains the information for closed PeerConnection sections
+
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = AEC-lokitus
+about-webrtc-aec-logging-off-state-label = Käynnistä AEC-lokitus
+about-webrtc-aec-logging-on-state-label = Pysäytä AEC-lokitus
+about-webrtc-aec-logging-on-state-msg = AEC-lokitus päällä (keskustele soittajan kanssa muutama minuutti ja lopeta sen jälkeen kaappaus)
+about-webrtc-aec-logging-toggled-on-state-msg = AEC-lokitus päällä (keskustele soittajan kanssa muutama minuutti ja lopeta sen jälkeen kaappaus)
+about-webrtc-aec-logging-unavailable-sandbox = Ympäristömuuttuja MOZ_DISABLE_CONTENT_SANDBOX=1 vaaditaan AEC-lokien viemiseen. Aseta tämä muuttuja vain, jos ymmärrät mahdolliset riskit.
+# Variables:
+# $path (String) - The path to which the aec log file is saved.
+about-webrtc-aec-logging-toggled-off-state-msg = Kaapatut lokitiedostot kohteessa: { $path }
+
+##
+
+# The autorefresh checkbox causes a stats section to autorefresh its content when checked
+about-webrtc-auto-refresh-label = Automaattinen päivitys
+# Determines the default state of the Auto Refresh check boxes
+about-webrtc-auto-refresh-default-label = Automaattinen päivitys oletuksena
+# A button which forces a refresh of displayed statistics
+about-webrtc-force-refresh-button = Päivitä
+# "PeerConnection" is a proper noun associated with the WebRTC module. "ID" is
+# an abbreviation for Identifier. This string should not normally be translated
+# and is used as a data label.
+about-webrtc-peerconnection-id-label = PeerConnection-tunnus:
+# The number of DataChannels that a PeerConnection has opened
+about-webrtc-data-channels-opened-label = Avatut datakanavat:
+# The number of once open DataChannels that a PeerConnection has closed
+about-webrtc-data-channels-closed-label = Suljetut datakanavat:
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+about-webrtc-sdp-heading = SDP
+about-webrtc-local-sdp-heading = Paikallinen SDP
+about-webrtc-local-sdp-heading-offer = Paikallinen SDP (Tarjous)
+about-webrtc-local-sdp-heading-answer = Paikallinen SDP (Vastaus)
+about-webrtc-remote-sdp-heading = Etä-SDP
+about-webrtc-remote-sdp-heading-offer = Etä-SDP (Tarjous)
+about-webrtc-remote-sdp-heading-answer = Etä-SDP (Vastaus)
+about-webrtc-sdp-history-heading = SDP-historia
+about-webrtc-sdp-parsing-errors-heading = SDP-jäsennysvirheet
+
+##
+
+# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF
+# specification, and should not normally be translated. "Stats" is an
+# abbreviation for Statistics.
+about-webrtc-rtp-stats-heading = RTP-tiedot
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = ICE-tila
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = ICE-tilastot
+about-webrtc-ice-restart-count-label = ICE-uudelleenkäynnistykset:
+about-webrtc-ice-rollback-count-label = ICE-peruutukset:
+about-webrtc-ice-pair-bytes-sent = Tavuja lähetetty:
+about-webrtc-ice-pair-bytes-received = Tavuja vastaanotettu:
+about-webrtc-ice-component-id = Komponentin tunniste
+
+## These adjectives are used to label a line of statistics collected for a peer
+## connection. The data represents either the local or remote end of the
+## connection.
+
+about-webrtc-type-local = Paikallinen
+about-webrtc-type-remote = Etä
+
+##
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+about-webrtc-nominated = Nimetty
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+# This represents an attribute of an ICE candidate.
+about-webrtc-selected = Valittu
+about-webrtc-save-page-label = Tallenna sivu
+about-webrtc-debug-mode-msg-label = Virheenjäljitystila
+about-webrtc-debug-mode-off-state-label = Käynnistä virheenjäljitystila
+about-webrtc-debug-mode-on-state-label = Pysäytä virheenjäljitystila
+about-webrtc-stats-heading = Istunnon tilastot
+about-webrtc-stats-clear = Tyhjennä historia
+about-webrtc-log-heading = Yhteysloki
+about-webrtc-log-clear = Tyhjennä loki
+about-webrtc-log-show-msg = näytä loki
+ .title = laajenna napsauttamalla
+about-webrtc-log-hide-msg = piilota loki
+ .title = kutista napsauttamalla
+about-webrtc-log-section-show-msg = Näytä loki
+ .title = Laajenna napsauttamalla
+about-webrtc-log-section-hide-msg = Piilota loki
+ .title = Kutista napsauttamalla
+about-webrtc-copy-report-button = Kopioi raportti
+
+## These are used to display a header for a PeerConnection.
+## Variables:
+## $browser-id (Number) - A numeric id identifying the browser tab for the PeerConnection.
+## $id (String) - A globally unique identifier for the PeerConnection.
+## $url (String) - The url of the site which opened the PeerConnection.
+## $now (Date) - The JavaScript timestamp at the time the report was generated.
+
+about-webrtc-connection-open = [ { $browser-id } | { $id } ] { $url } { $now }
+about-webrtc-connection-closed = [ { $browser-id } | { $id } ] { $url } (suljettu) { $now }
+
+## These are used to indicate what direction media is flowing.
+## Variables:
+## $codecs - a list of media codecs
+
+about-webrtc-short-send-receive-direction = Lähetä / vastaanota: { $codecs }
+about-webrtc-short-send-direction = Lähetä: { $codecs }
+about-webrtc-short-receive-direction = Vastaanota: { $codecs }
+
+##
+
+about-webrtc-local-candidate = Paikallinen ehdokas
+about-webrtc-remote-candidate = Etäehdokas
+about-webrtc-raw-candidates-heading = Kaikki raa’at ehdokkaat
+about-webrtc-raw-local-candidate = Raa’at paikalliset ehdokkaat
+about-webrtc-raw-remote-candidate = Raa’at etäehdokkaat
+about-webrtc-raw-cand-show-msg = näytä raa’at ehdokkaat
+ .title = laajenna napsauttamalla
+about-webrtc-raw-cand-hide-msg = piilota raa’at ehdokkaat
+ .title = kutista napsauttamalla
+about-webrtc-raw-cand-section-show-msg = Näytä raa’at ehdokkaat
+ .title = Laajenna napsauttamalla
+about-webrtc-raw-cand-section-hide-msg = Piilota raa’at ehdokkaat
+ .title = Kutista napsauttamalla
+about-webrtc-priority = Prioriteetti
+about-webrtc-fold-show-msg = näytä tiedot
+ .title = laajenna napsauttamalla
+about-webrtc-fold-hide-msg = piilota tiedot
+ .title = kutista napsauttamalla
+about-webrtc-fold-default-show-msg = Näytä tiedot
+ .title = Laajenna napsauttamalla
+about-webrtc-fold-default-hide-msg = Piilota tiedot
+ .title = Kutista napsauttamalla
+about-webrtc-dropped-frames-label = Pudotetut kehykset:
+about-webrtc-discarded-packets-label = Hylätyt paketit:
+about-webrtc-decoder-label = Purkaja
+about-webrtc-encoder-label = Enkoodaaja
+about-webrtc-show-tab-label = Näytä välilehti
+about-webrtc-current-framerate-label = Kuvataajuus
+about-webrtc-width-px = Leveys (px)
+about-webrtc-height-px = Korkeus (px)
+about-webrtc-consecutive-frames = Peräkkäiset ruudut
+about-webrtc-time-elapsed = Kulunut aika (s)
+about-webrtc-estimated-framerate = Arvioitu ruudun päivitys
+about-webrtc-rotation-degrees = Kierto (asteina)
+about-webrtc-first-frame-timestamp = Ensimmäisen ruudun vastaanoton aikaleima
+about-webrtc-last-frame-timestamp = Viimeisen ruudun vastaanoton aikaleima
+
+## SSRCs are identifiers that represent endpoints in an RTP stream
+
+# This is an SSRC on the local side of the connection that is receiving RTP
+about-webrtc-local-receive-ssrc = Paikallinen vastaanottava SSRC
+# This is an SSRC on the remote side of the connection that is sending RTP
+about-webrtc-remote-send-ssrc = Lähettävä etä-SSRC
+
+## These are displayed on the button that shows or hides the
+## PeerConnection configuration disclosure
+
+about-webrtc-pc-configuration-show-msg = Näytä kokoonpano
+about-webrtc-pc-configuration-hide-msg = Piilota kokoonpano
+
+##
+
+# An option whose value will not be displayed but instead noted as having been
+# provided
+about-webrtc-configuration-element-provided = Annettu
+# An option whose value will not be displayed but instead noted as having not
+# been provided
+about-webrtc-configuration-element-not-provided = Ei annettu
+# The options set by the user in about:config that could impact a WebRTC call
+about-webrtc-custom-webrtc-configuration-heading = Käyttäjän asettamat WebRTC-asetukset
+# Section header for estimated bandwidths of WebRTC media flows
+about-webrtc-bandwidth-stats-heading = Arvioitu kaistanleveys
+# The ID of the MediaStreamTrack
+about-webrtc-track-identifier = Raidan tunniste
+# The estimated bandwidth available for sending WebRTC media in bytes per second
+about-webrtc-send-bandwidth-bytes-sec = Lähetyksen kaistanleveys (tavua/s)
+# The estimated bandwidth available for receiving WebRTC media in bytes per second
+about-webrtc-receive-bandwidth-bytes-sec = Vastaanottamisen kaistanleveys (tavua/s)
+# Maximum number of bytes per second that will be padding zeros at the ends of packets
+about-webrtc-max-padding-bytes-sec = Enimmäistäyte (tavua/s)
+# The amount of time inserted between packets to keep them spaced out
+about-webrtc-pacer-delay-ms = Pakettien välinen viive ms
+# The amount of time it takes for a packet to travel from the local machine to the remote machine,
+# and then have a packet return
+about-webrtc-round-trip-time-ms = RTT ms
+# This is a section heading for video frame statistics for a MediaStreamTrack.
+# see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack.
+# Variables:
+# $track-identifier (String) - The unique identifier for the MediaStreamTrack.
+about-webrtc-frame-stats-heading = Videon kehystilastot - MediaStreamTrack-tunniste: { $track-identifier }
+
+## These are paths used for saving the about:webrtc page or log files so
+## they can be attached to bug reports.
+## Variables:
+## $path (String) - The path to which the file is saved.
+
+about-webrtc-save-page-msg = sivu tallennettu kohteeseen: { $path }
+about-webrtc-debug-mode-off-state-msg = jäljitysloki kohteessa: { $path }
+about-webrtc-debug-mode-on-state-msg = virheenjäljitystila päällä, jäljitysloki kohteessa: { $path }
+about-webrtc-aec-logging-off-state-msg = kaapatut lokitiedostot kohteessa: { $path }
+# This path is used for saving the about:webrtc page so it can be attached to
+# bug reports.
+# Variables:
+# $path (String) - The path to which the file is saved.
+about-webrtc-save-page-complete-msg = Sivu tallennettu kohteeseen: { $path }
+# This is the total number of frames encoded or decoded over an RTP stream.
+# Variables:
+# $frames (Number) - The number of frames encoded or decoded.
+about-webrtc-frames =
+ { $frames ->
+ [one] { $frames } ruutu
+ *[other] { $frames } ruutua
+ }
+# This is the number of audio channels encoded or decoded over an RTP stream.
+# Variables:
+# $channels (Number) - The number of channels encoded or decoded.
+about-webrtc-channels =
+ { $channels ->
+ [one] { $channels } kanava
+ *[other] { $channels } kanavaa
+ }
+# This is the total number of packets received on the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets received.
+about-webrtc-received-label =
+ { $packets ->
+ [one] Vastaanotettu { $packets } paketti
+ *[other] Vastaanotettu { $packets } pakettia
+ }
+# This is the total number of packets lost by the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets lost.
+about-webrtc-lost-label =
+ { $packets ->
+ [one] Kadotettu { $packets } paketti
+ *[other] Kadotettu { $packets } pakettia
+ }
+# This is the total number of packets sent by the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets sent.
+about-webrtc-sent-label =
+ { $packets ->
+ [one] Lähetetty { $packets } paketti
+ *[other] Lähetetty { $packets } pakettia
+ }
+# Jitter is the variance in the arrival time of packets.
+# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter
+# Variables:
+# $jitter (Number) - The jitter.
+about-webrtc-jitter-label = Jitter { $jitter }
+# ICE candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background.
+about-webrtc-trickle-caption-msg = Vastauksen jälkeen saapuvat ehdokkaat (trickled) korostetaan sinisellä
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+# This is used as a header for local SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-local = Asetettiin Paikallinen SDP ajanhetkellä { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for remote SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-remote = Asetettiin Etä-SDP ajanhetkellä { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for an SDP section contained in two columns allowing for side-by-side comparisons.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+# $relative-timestamp (Number) - The timestamp relative to the timestamp of the earliest received SDP.
+about-webrtc-sdp-set-timestamp = Aikaleima { NUMBER($timestamp, useGrouping: "false") } (+ { $relative-timestamp } ms)
+
+## These are displayed on the button that shows or hides the SDP information disclosure
+
+about-webrtc-show-msg-sdp = Näytä SDP
+about-webrtc-hide-msg-sdp = Piilota SDP
+
+##
+
+
+## These are displayed on the button that shows or hides the Media Context information disclosure.
+## The Media Context is the set of preferences and detected capabilities that informs
+## the negotiated CODEC settings.
+
+about-webrtc-media-context-show-msg = Näytä mediakonteksti
+about-webrtc-media-context-hide-msg = Piilota mediakonteksti
+about-webrtc-media-context-heading = Median konteksti
+
+##
+
diff --git a/l10n-fi/toolkit/toolkit/about/aboutWindowsMessages.ftl b/l10n-fi/toolkit/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..0ed80bfb85
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/aboutWindowsMessages.ftl
@@ -0,0 +1,19 @@
+# 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 for the about:windows-messages page, which is only available
+### on the Windows operating system.
+### This page records and shows messages sent from the operating system to
+### individual browser windows. These messages can be useful in debugging
+### hard-to-reproduce issues with window sizing and position.
+
+# Windows refers to the operating system
+windows-messages-page-title = Windows-viestien tiedot
+windows-messages-intro =
+ Tällä sivulla näkyvät viimeisimmät Windowsin { -brand-short-name }in
+ selainikkunoille lähettämät viestit. Lihavoitu merkintä edustaa tätä
+ ikkunaa. Huomioi, että sivu näyttää viimeisimmät viestit sen
+ lataushetkellä, ja nähdäksesi uudet viestit, on sivu päivitettävä.
+windows-messages-copy-to-clipboard = Kopioi leikepöydälle
diff --git a/l10n-fi/toolkit/toolkit/about/abuseReports.ftl b/l10n-fi/toolkit/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..04aec2ed28
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/abuseReports.ftl
@@ -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/.
+
+# Localized string used as the dialog window title.
+# "Report" is a noun in this case, "Report for AddonName".
+#
+# Variables:
+# $addon-name (string) - Name of the add-on being reported
+abuse-report-dialog-title = Raportti lisäosasta { $addon-name }
+abuse-report-title-extension = Raportoi tämä laajennus { -vendor-short-name }lle
+abuse-report-title-theme = Raportoi tämä teema { -vendor-short-name }lle
+abuse-report-subtitle = Mikä on ongelmana?
+# Variables:
+# $author-name (string) - Name of the add-on author
+abuse-report-addon-authored-by = tekijä <a data-l10n-name="author-name">{ $author-name }</a>
+abuse-report-learnmore =
+ Oletko epävarma, mikä ongelmista tulee valita?
+ <a data-l10n-name="learnmore-link">Lue lisää laajennusten ja teemojen raportoinnista</a>
+abuse-report-learnmore-intro = Oletko epävarma, mikä ongelmista tulee valita?
+abuse-report-learnmore-link = Lue lisää laajennusten ja teemojen raportoinnista
+abuse-report-submit-description = Kuvaa ongelma (valinnainen)
+abuse-report-textarea =
+ .placeholder = Jos kerrot tarkemmin kohtaamastasi ongelmasta, pystymme helpommin paikantamaan sen. Kerro vapaamuotoisesti, mitä olet huomannut. Kiitos, kun autat meitä pitämään verkon turvallisena.
+abuse-report-submit-note =
+ Huomio: Älä kirjoita henkilökohtaisia tietoja, kuten nimiä, sähköpostiosoitteita, puhelinnumeroita tai postiosoitteita.
+ { -vendor-short-name } säilyttää raportit pysyvästi.
+
+## Panel buttons.
+
+abuse-report-cancel-button = Peruuta
+abuse-report-next-button = Seuraava
+abuse-report-goback-button = Takaisin
+abuse-report-submit-button = Lähetä
+
+## Message bars descriptions.
+##
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+abuse-report-messagebar-aborted = Raportti lisäosasta <span data-l10n-name="addon-name">{ $addon-name }</span> on peruttu.
+abuse-report-messagebar-submitting = Lähetetään raportti lisäosasta <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-submitted = Kiitos kun lähetit raportin. Haluatko poistaa lisäosan <span data-l10n-name="addon-name">{ $addon-name }</span>?
+abuse-report-messagebar-submitted-noremove = Kiitos kun lähetit raportin.
+abuse-report-messagebar-removed-extension = Kiitos kun lähetit raportin. Poistit laajennuksen <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-theme = Kiitos kun lähetit raportin. Poistit teeman <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error = Raportin lähettäminen lisäosasta <span data-l10n-name="addon-name">{ $addon-name }</span> epäonnistui.
+abuse-report-messagebar-error-recent-submit = Raporttia lisäosasta <span data-l10n-name="addon-name">{ $addon-name }</span> ei lähetetty, koska toinen raportti lähetettiin äskettäin.
+abuse-report-messagebar-aborted2 =
+ .message = Raportti lisäosasta { $addon-name } on peruttu.
+abuse-report-messagebar-submitting2 =
+ .message = Lähetetään raportti lisäosasta { $addon-name }.
+abuse-report-messagebar-submitted2 =
+ .message = Kiitos kun lähetit raportin. Haluatko poistaa lisäosan { $addon-name }?
+abuse-report-messagebar-submitted-noremove2 =
+ .message = Kiitos kun lähetit raportin.
+abuse-report-messagebar-removed-extension2 =
+ .message = Kiitos kun lähetit raportin. Poistit laajennuksen { $addon-name }.
+abuse-report-messagebar-removed-theme2 =
+ .message = Kiitos kun lähetit raportin. Poistit teeman { $addon-name }.
+abuse-report-messagebar-error2 =
+ .message = Raportin lähettäminen lisäosasta { $addon-name } epäonnistui.
+abuse-report-messagebar-error-recent-submit2 =
+ .message = Raporttia lisäosasta { $addon-name } ei lähetetty, koska toinen raportti lähetettiin äskettäin.
+
+## Message bars actions.
+
+abuse-report-messagebar-action-remove-extension = Kyllä, poista se
+abuse-report-messagebar-action-keep-extension = Ei, säilytä se
+abuse-report-messagebar-action-remove-sitepermission = Kyllä, poista se
+abuse-report-messagebar-action-keep-sitepermission = Ei, säilytä se
+abuse-report-messagebar-action-remove-theme = Kyllä, poista se
+abuse-report-messagebar-action-keep-theme = Ei, säilytä se
+abuse-report-messagebar-action-retry = Yritä uudelleen
+abuse-report-messagebar-action-cancel = Peruuta
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
+abuse-report-damage-reason-v2 = Se vahingoitti tietokonettani tai vaaransi tietoni
+abuse-report-damage-example = Esimerkki: syötti haittaohjelmia tai varasti tietoja
+abuse-report-spam-reason-v2 = Se sisältää roskapostia tai sisällyttää ei-haluttua mainontaa
+abuse-report-spam-example = Esimerkki: lisää mainoksia verkkosivuille
+abuse-report-settings-reason-v2 = Se muutti hakukoneeni, aloitussivuni tai uuden välilehden sisällön kertomatta minulle tai kysymättä minulta
+abuse-report-settings-suggestions = Ennen kuin raportoit laajennuksesta, voit yrittää muuttaa asetuksia:
+abuse-report-settings-suggestions-search = Muuta haun oletusasetuksia
+abuse-report-settings-suggestions-homepage = Muuta aloitussivua tai uutta välilehteä
+abuse-report-deceptive-reason-v2 = Se väittää olevansa jotain mitä se ei ole
+abuse-report-deceptive-example = Esimerkki: Harhaanjohtava kuvaus tai kuvitus
+abuse-report-broken-reason-extension-v2 = Se ei toimi, se rikkoo verkkosivustojen esitystavan tai se hidastaa { -brand-product-name }ia
+abuse-report-broken-reason-sitepermission-v2 = Se ei toimi, se rikkoo verkkosivustoja tai se hidastaa { -brand-product-name }ia
+abuse-report-broken-reason-theme-v2 = Se ei toimi tai se rikkoo selaimen esitystavan
+abuse-report-broken-example = Esimerkki: ominaisuudet ovat hitaita, vaikeakäyttöisiä tai eivät toimi; osa sivuista ei lataudu tai ne näyttävät kummallisilta
+abuse-report-broken-suggestions-extension =
+ Vaikuttaa siltä, että löysit ohjelmistovirheen. Tämän raportin lähettämisen lisäksi paras
+ tapa saada toiminnallisuusongelma selvitettyä on olla yhteydessä laajennuksen kehittäjään.
+ <a data-l10n-name="support-link">Käy laajennuksen sivulla</a> nähdäksesi kehittäjän tiedot.
+abuse-report-broken-suggestions-sitepermission =
+ Vaikuttaa siltä, että löysit ohjelmistovirheen. Tämän raportin lähettämisen lisäksi paras
+ tapa saada toiminnallisuusongelma selvitettyä on olla yhteydessä sivuston kehittäjään.
+ <a data-l10n-name="support-link">Käy sivustolla</a> nähdäksesi kehittäjän tiedot.
+abuse-report-broken-suggestions-theme =
+ Vaikuttaa siltä, että löysit ohjelmistovirheen. Tämän raportin lähettämisen lisäksi paras
+ tapa saada toiminnallisuusongelma selvitettyä on olla yhteydessä teeman kehittäjään.
+ <a data-l10n-name="support-link">Käy teeman sivulla</a> nähdäksesi kehittäjän tiedot.
+abuse-report-policy-reason-v2 = Se sisältää vihantäyteistä, väkivaltaista tai laitonta sisältöä
+abuse-report-policy-suggestions =
+ Huomio: Tekijänoikeus- ja tavaramerkkiongelmat tulee raportoida eri tavalla.
+ Raportoi ongelma <a data-l10n-name="report-infringement-link">näiden ohjeiden mukaisesti</a>.
+abuse-report-unwanted-reason-v2 = En koskaan halunnut sitä, enkä tiedä miten pääsen siitä eroon
+abuse-report-unwanted-example = Esimerkki: sovellus asensi sen ilman lupaani
+abuse-report-other-reason = Jotain muuta
diff --git a/l10n-fi/toolkit/toolkit/about/certviewer.ftl b/l10n-fi/toolkit/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..7a8dc564be
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/certviewer.ftl
@@ -0,0 +1,122 @@
+# 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/.
+
+certificate-viewer-certificate-section-title = Varmenne
+
+## Error messages
+
+certificate-viewer-error-message = Varmenteen tietoja ei löydy tai varmenne on viallinen. Yritä uudelleen.
+certificate-viewer-error-title = Jokin meni pieleen.
+
+## Certificate information labels
+
+certificate-viewer-algorithm = Algoritmi
+certificate-viewer-certificate-authority = Varmenteen myöntäjä
+certificate-viewer-cipher-suite = Salaaja
+certificate-viewer-common-name = Yleinen nimi
+certificate-viewer-email-address = Sähköpostiosoite
+# Variables:
+# $firstCertName (String) - Common Name for the displayed certificate
+certificate-viewer-tab-title = Varmenne { $firstCertName }
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-country = Perustusmaa
+certificate-viewer-country = Maa
+certificate-viewer-curve = Käyrä
+certificate-viewer-distribution-point = Jakelupiste
+certificate-viewer-dns-name = DNS-nimi
+certificate-viewer-ip-address = IP-osoite
+certificate-viewer-other-name = Muu nimi
+certificate-viewer-exponent = Eksponentti
+certificate-viewer-id = Tunniste
+certificate-viewer-key-exchange-group = Avainvaihtoryhmä
+certificate-viewer-key-id = Avaimen tunniste
+certificate-viewer-key-size = Avaimen koko
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-locality = Perustuspaikka
+certificate-viewer-locality = Sijainti
+certificate-viewer-location = Sijainti
+certificate-viewer-logid = Lokin tunnus
+certificate-viewer-method = Metodi
+certificate-viewer-modulus = Modulus
+certificate-viewer-name = Nimi
+certificate-viewer-not-after = Ei jälkeen
+certificate-viewer-not-before = Ei ennen
+certificate-viewer-organization = Organisaatio
+certificate-viewer-organizational-unit = Organisaatioyksikkö
+certificate-viewer-policy = Käytäntö
+certificate-viewer-protocol = Protokolla
+certificate-viewer-public-value = Julkinen arvo
+certificate-viewer-purposes = Käyttötarkoitukset
+certificate-viewer-qualifier = Tarkenne
+certificate-viewer-qualifiers = Tarkenteet
+certificate-viewer-required = Vaaditaan
+certificate-viewer-unsupported = &lt;ei tuettu&gt;
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-state-province = Perustuspaikkakunta
+certificate-viewer-state-province = Paikkakunta
+certificate-viewer-sha-1 = SHA-1
+certificate-viewer-sha-256 = SHA-256
+certificate-viewer-serial-number = Sarjanumero
+certificate-viewer-signature-algorithm = Allekirjoitusalgoritmi
+certificate-viewer-signature-scheme = Allekirjoitusjärjestelmä
+certificate-viewer-timestamp = Aikaleima
+certificate-viewer-value = Arvo
+certificate-viewer-version = Versio
+certificate-viewer-business-category = Liiketoimintaluokka
+certificate-viewer-subject-name = Kohteen nimi
+certificate-viewer-issuer-name = Myöntäjän nimi
+certificate-viewer-validity = Voimassaolo
+certificate-viewer-subject-alt-names = Kohteen Alt-nimet
+certificate-viewer-public-key-info = Julkisen avaimen tiedot
+certificate-viewer-miscellaneous = Sekalaista
+certificate-viewer-fingerprints = Sormenjäljet
+certificate-viewer-basic-constraints = Perusrajoitukset
+certificate-viewer-key-usages = Avaimen käyttö
+certificate-viewer-extended-key-usages = Laajennettu avaimen käyttö
+certificate-viewer-ocsp-stapling = OCSP-nidonta
+certificate-viewer-subject-key-id = Kohteen avaimen tunnus
+certificate-viewer-authority-key-id = Varmentajan avaimen tunnus
+certificate-viewer-authority-info-aia = Varmentajan tiedonsaanti (AIA)
+certificate-viewer-certificate-policies = Varmennekäytännöt
+certificate-viewer-embedded-scts = Upotetut SCT:t
+certificate-viewer-crl-endpoints = CRL-jakelupisteet
+
+# This message is used as a row header in the Miscellaneous section.
+# The associated data cell contains links to download the certificate.
+certificate-viewer-download = Lataa
+# This message is used to replace boolean values (true/false) in several certificate fields, e.g. Certificate Authority
+# Variables:
+# $boolean (String) - true/false value for the specific field
+certificate-viewer-boolean =
+ { $boolean ->
+ [true] Kyllä
+ *[false] Ei
+ }
+
+## Variables:
+## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed.
+
+certificate-viewer-download-pem = PEM (varmenne)
+ .download = { $fileName }.pem
+certificate-viewer-download-pem-chain = PEM (varmenneketju)
+ .download = { $fileName }-chain.pem
+
+# The title attribute for Critical Extension icon
+certificate-viewer-critical-extension =
+ .title = Tämä laajennus on merkitty kriittiseksi; se tarkoittaa, että asiakasohjelmien on hylättävä varmenne, jos ne eivät ymmärrä sitä.
+certificate-viewer-export = Vie
+ .download = { $fileName }.pem
+
+##
+
+# Label for a tab where we haven't found a better label:
+certificate-viewer-unknown-group-label = (tuntematon)
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
+certificate-viewer-tab-mine = Omat varmenteet
+certificate-viewer-tab-people = Ihmiset
+certificate-viewer-tab-servers = Palvelimet
+certificate-viewer-tab-ca = Varmentajat
+certificate-viewer-tab-unkonwn = Tuntematon
diff --git a/l10n-fi/toolkit/toolkit/about/config.ftl b/l10n-fi/toolkit/toolkit/about/config.ftl
new file mode 100644
index 0000000000..494fe383c1
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/config.ftl
@@ -0,0 +1,55 @@
+# 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/.
+
+
+## These strings appear on the warning you see when first visiting about:config.
+
+about-config-intro-warning-title = Jatka varoen
+about-config-intro-warning-text = Lisäasetusten muuttaminen voi vaikuttaa { -brand-short-name }in suorituskykyyn tai tietoturvaan.
+about-config-intro-warning-checkbox = Varoita, kun yritän avata nämä asetukset
+about-config-intro-warning-button = Hyväksy riski ja jatka
+
+##
+
+# This is shown on the page before searching but after the warning is accepted.
+about-config-caution-text = Näiden asetusten muuttaminen voi vaikuttaa { -brand-short-name }in suorituskykyyn tai turvallisuuteen.
+
+about-config-page-title = Lisäasetukset
+
+about-config-search-input1 =
+ .placeholder = Etsi asetuksen nimellä
+about-config-show-all = Näytä kaikki
+
+about-config-show-only-modified = Näytä vain muokatut asetukset
+
+about-config-pref-add-button =
+ .title = Lisää
+about-config-pref-toggle-button =
+ .title = Vaihda tilaa
+about-config-pref-edit-button =
+ .title = Muokkaa
+about-config-pref-save-button =
+ .title = Tallenna
+about-config-pref-reset-button =
+ .title = Nollaa
+about-config-pref-delete-button =
+ .title = Poista
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = Totuusarvo
+about-config-pref-add-type-number = Luku
+about-config-pref-add-type-string = Merkkijono
+
+## Preferences with a non-default value are differentiated visually, and at the
+## same time the state is made accessible to screen readers using an aria-label
+## that won't be visible or copied to the clipboard.
+##
+## Variables:
+## $value (String): The full value of the preference.
+
+about-config-pref-accessible-value-default =
+ .aria-label = { $value } (oletus)
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value } (muutettu)
diff --git a/l10n-fi/toolkit/toolkit/about/url-classifier.ftl b/l10n-fi/toolkit/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..5d518142f3
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/about/url-classifier.ftl
@@ -0,0 +1,58 @@
+# 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/.
+
+url-classifier-title = URL Classifier Information
+url-classifier-search-title = Search
+url-classifier-search-result-title = Results
+url-classifier-search-result-uri = URI: { $uri }
+url-classifier-search-result-list = List of tables: { $list }
+url-classifier-search-input = URL
+url-classifier-search-error-invalid-url = Invalid URL
+url-classifier-search-error-no-features = No features selected
+url-classifier-search-btn = Start searching
+url-classifier-search-features = Features
+url-classifier-search-listType = List type
+url-classifier-provider-title = Provider
+url-classifier-provider = Provider
+url-classifier-provider-last-update-time = Last update time
+url-classifier-provider-next-update-time = Next update time
+url-classifier-provider-back-off-time = Back-off time
+url-classifier-provider-last-update-status = Last update status
+url-classifier-provider-update-btn = Update
+url-classifier-cache-title = Cache
+url-classifier-cache-refresh-btn = Refresh
+url-classifier-cache-clear-btn = Clear
+url-classifier-cache-table-name = Table name
+url-classifier-cache-ncache-entries = Number of negative cache entries
+url-classifier-cache-pcache-entries = Number of positive cache entries
+url-classifier-cache-show-entries = Show entries
+url-classifier-cache-entries = Cache Entries
+url-classifier-cache-prefix = Prefix
+url-classifier-cache-ncache-expiry = Negative cache expiry
+url-classifier-cache-fullhash = Full hash
+url-classifier-cache-pcache-expiry = Positive cache expiry
+url-classifier-debug-title = Debug
+url-classifier-debug-module-btn = Set Log Modules
+url-classifier-debug-file-btn = Set Log File
+url-classifier-debug-js-log-chk = Set JS Log
+url-classifier-debug-sb-modules = Safe Browsing log modules
+url-classifier-debug-modules = Current log modules
+url-classifier-debug-sbjs-modules = Safe Browsing JS log
+url-classifier-debug-file = Current log file
+
+url-classifier-trigger-update = Trigger Update
+url-classifier-not-available = N/A
+url-classifier-disable-sbjs-log = Disable Safe Browsing JS Log
+url-classifier-enable-sbjs-log = Enable Safe Browsing JS Log
+url-classifier-enabled = Enabled
+url-classifier-disabled = Disabled
+url-classifier-updating = updating
+url-classifier-cannot-update = cannot update
+url-classifier-success = success
+
+## Variables
+## $error (string) - Error message
+
+url-classifier-update-error = update error ({ $error })
+url-classifier-download-error = download error ({ $error })
diff --git a/l10n-fi/toolkit/toolkit/branding/accounts.ftl b/l10n-fi/toolkit/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..0e2ef74147
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/branding/accounts.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name =
+ { $case ->
+ [ablative] Firefox-tililtä
+ [adessive] Firefox-tilillä
+ [allative] Firefox-tilille
+ [genitive] Firefox-tilin
+ [illative] Firefox-tiliin
+ [partitive] Firefox-tiliä
+ *[nominative] Firefox-tili
+ }
diff --git a/l10n-fi/toolkit/toolkit/branding/brandings.ftl b/l10n-fi/toolkit/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..d4143f42ce
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/branding/brandings.ftl
@@ -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/.
+
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-lockwise-brand-short-name = Lockwise
+-monitor-brand-name = Firefox Monitor
+-monitor-brand-short-name = Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
+-screenshots-brand-name = Firefox Screenshots
+-mozilla-vpn-brand-name = Mozilla VPN
+-profiler-brand-name = Firefox Profiler
+-translations-brand-name = Firefox Translations
+-focus-brand-name = Firefox Focus
+-relay-brand-name = Firefox Relay
+-relay-brand-short-name = Relay
+-fakespot-brand-name = Fakespot
+# Note the name of the website is capitalized.
+-fakespot-website-name = Fakespot.com
+# The particle "by" can be localized, "Fakespot" and "Mozilla" should not be localized or transliterated.
+-fakespot-brand-full-name = Fakespot Mozillalta
+# “Suggest” can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-suggest-brand-name = Firefox-ehdotukset
+# ”Home" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-home-brand-name = Firefoxin aloitussivu
+# View" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefoxview-brand-name = Firefox-näkymä
diff --git a/l10n-fi/toolkit/toolkit/contentanalysis/contentanalysis.ftl b/l10n-fi/toolkit/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..e18c7eef28
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/contentanalysis/contentanalysis.ftl
@@ -0,0 +1,25 @@
+# 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/.
+
+contentanalysis-alert-title = Sisällön analyysi
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-slow-agent-notification = Sisältöanalyysityökalulta kestää kauan vastata resurssille "{ $content }"
+contentanalysis-slow-agent-dialog-title = Sisältöanalyysi käynnissä
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-slow-agent-dialog-body = Sisältöanalyysi analysoi resurssia "{ $content }"
+contentanalysis-operationtype-clipboard = leikepöytä
+contentanalysis-operationtype-dropped-text = pudotettu teksti
+contentanalysis-notification-title = Sisällön analyysi
+# Variables:
+# $content - Description of the content being reported, such as "clipboard" or "aFile.txt"
+# $response - The response received from the content analysis agent, such as "REPORT_ONLY"
+contentanalysis-genericresponse-message = Sisältöanalyysi vastasi { $response } resurssille: { $content }
+# Variables:
+# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
+contentanalysis-block-message = Organisaatiosi käyttää tietojen menetyksen esto-ohjelmistoa, joka on estänyt tämän sisällön: { $content }.
+# Variables:
+# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
+contentanalysis-error-message = Tietojen menetyksen esto-ohjelmiston kanssa kommunikoinnissa tapahtui virhe. Siirto evätty resurssille: { $content }.
diff --git a/l10n-fi/toolkit/toolkit/downloads/downloadUI.ftl b/l10n-fi/toolkit/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..659f86d87d
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/downloads/downloadUI.ftl
@@ -0,0 +1,51 @@
+# 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/.
+
+download-ui-confirm-title = Peruutetaanko kaikki lataukset?
+
+## Variables:
+## $downloadsCount (Number): The current downloads count.
+
+download-ui-confirm-quit-cancel-downloads =
+ { $downloadsCount ->
+ [1] Jos lopetat nyt, yksi lataus peruutetaan. Lopetetaanko?
+ *[other] Jos lopetat nyt, { $downloadsCount } tiedoston lataus peruutetaan. Lopetetaanko?
+ }
+download-ui-confirm-quit-cancel-downloads-mac =
+ { $downloadsCount ->
+ [1] Jos lopetat nyt, yksi lataus peruutetaan. Lopetetaanko?
+ *[other] Jos lopetat nyt, { $downloadsCount } tiedoston lataus peruutetaan. Lopetetaanko?
+ }
+download-ui-dont-quit-button =
+ { PLATFORM() ->
+ [mac] Älä lopeta
+ *[other] Älä lopeta
+ }
+
+download-ui-confirm-offline-cancel-downloads =
+ { $downloadsCount ->
+ [1] Jos nyt siirryt yhteydettömään tilaan, yhden tiedoston lataus peruutetaan. Siirrytäänkö yhteydettömään tilaan?
+ *[other] Jos nyt siirryt yhteydettömään tilaan, { $downloadsCount } tiedoston lataus peruutetaan. Siirrytäänkö yhteydettömään tilaan?
+ }
+download-ui-dont-go-offline-button = Pysy yhteystilassa
+
+download-ui-confirm-leave-private-browsing-windows-cancel-downloads =
+ { $downloadsCount ->
+ [1] Jos suljet kaikki yksityisen selaustilan ikkunat, 1 lataus peruutetaan. Suljetaanko yksityisen selaustilan ikkunat?
+ *[other] Jos suljet kaikki yksityisen selaustilan ikkunat, { $downloadsCount } latausta peruutetaan. Suljetaanko yksityisen selaustilan ikkunat?
+ }
+download-ui-dont-leave-private-browsing-button = Pysy yksityisessä selaustilassa
+
+download-ui-cancel-downloads-ok =
+ { $downloadsCount ->
+ [1] Peruuta lataus
+ *[other] Peruuta { $downloadsCount } latausta
+ }
+
+##
+
+download-ui-file-executable-security-warning-title = Suoritetaanko ohjelmatiedosto?
+# Variables:
+# $executable (String): The executable file to be opened.
+download-ui-file-executable-security-warning = ”{ $executable }” on suoritettava ohjelmatiedosto. Ohjelmatiedostot voivat sisältää viruksia tai muita haittaohjelmia, jotka voivat vahingoittaa tietokonettasi. Vain luotettuja tiedostoja tulisi suorittaa. Suoritetaanko tiedosto ”{ $executable }”?
diff --git a/l10n-fi/toolkit/toolkit/downloads/downloadUtils.ftl b/l10n-fi/toolkit/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..be15712e9e
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/downloads/downloadUtils.ftl
@@ -0,0 +1,106 @@
+# 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/.
+
+## Variables:
+## $timeValue (number) - Number of units of time
+
+# Short form for seconds
+download-utils-short-seconds =
+ { $timeValue ->
+ [one] s
+ *[other] s
+ }
+# Short form for minutes
+download-utils-short-minutes =
+ { $timeValue ->
+ [one] min
+ *[other] min
+ }
+# Short form for hours
+download-utils-short-hours =
+ { $timeValue ->
+ [one] h
+ *[other] h
+ }
+# Short form for days
+download-utils-short-days =
+ { $timeValue ->
+ [one] vrk
+ *[other] vrk
+ }
+
+##
+
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+# $rate (String): rate number.
+# $unit (String): rate unit.
+download-utils-status = { $timeLeft } — { $transfer } ({ $rate } { $unit }/s)
+# If download speed is a JavaScript Infinity value, this phrase is used
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (Really fast)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-infinite-rate = { $timeLeft } — { $transfer } (Todella nopea)
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-no-rate = { $timeLeft } — { $transfer }
+
+download-utils-bytes = tavua
+download-utils-kilobyte = kt
+download-utils-megabyte = Mt
+download-utils-gigabyte = Gt
+
+# example: 1.1 of 333 MB
+# Variables:
+# $progress (String): progress number.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-same-units = { $progress } / { $total } { $totalUnits }
+# example: 11.1 MB of 3.3 GB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): progress unit.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-diff-units = { $progress } { $progressUnits } / { $total } { $totalUnits }
+# example: 111 KB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): unit.
+download-utils-transfer-no-total = { $progress } { $progressUnits }
+
+# examples: 1m; 11h
+# Variables:
+# $time (String): time number.
+# $unit (String): time unit.
+download-utils-time-pair = { $time } { $unit }
+# examples: 1m left; 11h left
+# Variables:
+# $time (String): time left, including a unit
+download-utils-time-left-single = { $time } jäljellä
+# examples: 11h 2m left; 1d 22h left
+# Variables:
+# $time1 (String): time left, including a unit
+# $time2 (String): smaller measure of time left, including a unit
+download-utils-time-left-double = { $time1 } { $time2 } jäljellä
+download-utils-time-few-seconds = Muutama sekunti jäljellä
+download-utils-time-unknown = Tuntematon aika jäljellä
+
+# Variables:
+# $scheme (String): URI scheme like data: jar: about:
+download-utils-done-scheme = { $scheme }-resurssi
+# Special case of done-scheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+download-utils-done-file-scheme = paikallinen tiedosto
+
+# Displayed time for files finished yesterday
+download-utils-yesterday = eilen
diff --git a/l10n-fi/toolkit/toolkit/featuregates/features.ftl b/l10n-fi/toolkit/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..199eb9aa1f
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/featuregates/features.ftl
@@ -0,0 +1,58 @@
+# 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/.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-css-masonry2 =
+ .label = CSS: Masonry Layout
+experimental-features-css-masonry-description = Ottaa käyttöön tuen kokeelliselle CSS Masonry Layout -ominaisuudelle. Yleiskuvauksen ominaisuudesta saa englanniksi <a data-l10n-name="explainer">tästä selostuksesta</a>. Palautetta voi antaa englanniksi kommentoimalla <a data-l10n-name="w3c-issue">tähän GitHub-issueen</a> tai <a data-l10n-name="bug">tähän bugiraporttiin</a>.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-gpu2 =
+ .label = Web API: WebGPU
+experimental-features-web-gpu-description3 = <a data-l10n-name="wikipedia-webgpu">WebGPU-rajapinta</a> tarjoaa matalan tason tuen laskentaan ja grafiikan renderöintiin tietokoneen tai laitteen <a data-l10n-name="wikipedia-gpu">näytönohjainta (GPU)</a> käyttäen. <a data-l10n-name="spec">Määrittelyn</a> ensimmäinen versio on valmistumassa. Katso <a data-l10n-name="bugzilla">bugi 1616739</a> saadaksesi lisätietoja.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-media-jxl =
+ .label = Media: JPEG XL
+experimental-features-media-jxl-description = Kun tämä ominaisuus on käytössä, { -brand-short-name } tukee JPEG XL (JXL) -muotoa. Kyseessä on paranneltu kuvatiedostomuoto, joka tukee häviötöntä siirtymää perinteisistä JPEG-tiedostoista. Katso <a data-l10n-name="bugzilla">bug 1539075 -kuvaus</a> saadaksesi lisätietoja.
+
+experimental-features-devtools-compatibility-panel =
+ .label = Web-työkalut: Compatibility-paneeli
+experimental-features-devtools-compatibility-panel-description = Sivupaneeli sivun Inspector-työkalulle. Näyttää tietoja sovelluksen selainyhteensopivuudesta. Lisätietoja on <a data-l10n-name="bugzilla">bugissa 1584464</a>.
+
+
+# Do not translate 'SameSite', 'Lax' and 'None'.
+experimental-features-cookie-samesite-none-requires-secure2 =
+ .label = Evästeet: SameSite=None vaatii secure-attribuutin
+experimental-features-cookie-samesite-none-requires-secure2-description = Attribuutin ”SameSite=None” sisältävät evästeet vaativat secure-attribuutin. Tämä ominaisuus vaatii ominaisuuden ”Evästeet: SameSite=Lax oletusarvoisesti”.
+
+# about:home should be kept in English, as it refers to the the URI for
+# the internal default home page.
+experimental-features-abouthome-startup-cache =
+ .label = about:home-sivun käynnistyksen välimuisti
+experimental-features-abouthome-startup-cache-description = Käynnistyksessä oletuksena ladattavan about:home-sivun välimuisti. Sen tarkoitus on parantaa käynnistymisen suorituskykyä.
+
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support =
+ .label = Web-työkalut: Service Worker -vianjäljitys
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support-description = Ottaa käyttöön kokeellisen Service Worker -tuen Debugger-paneelissa. Tämä voi hidastaa web-työkaluja ja lisätä muistinkulutusta.
+
+# WebRTC global mute toggle controls
+experimental-features-webrtc-global-mute-toggles =
+ .label = WebRTC:n globaalit vaimennusohjaimet
+experimental-features-webrtc-global-mute-toggles-description = Lisää ohjaimet WebRTC:n globaaliin jakamisilmaisimeen. Ohjaimet mahdollistavat mikrofonin ja kameran vaimentamisen globaalisti.
+
+# JS JIT Warp project
+experimental-features-js-warp =
+ .label = JavaScript JIT: Warp
+experimental-features-js-warp-description = Ota käyttöön Warp, projekti javaScript-kielen suorituskyvyn ja muistinkäytön parantamiseksi.
+
+# Search during IME
+experimental-features-ime-search =
+ .label = Osoitepalkki: näytä tulokset IME-koostamisen aikana
+experimental-features-ime-search-description = IME (Input Method Editor, kirjoitustapaeditori) on työkalu, jonka avulla voit kirjoittaa tavallisella näppäimistöllä monimutkaisia symboleja, kuten itäaasialaisia tai intialaisia symboleja. Tämän kokeilun ottaminen käyttöön pitää osoitepalkin auki näyttäen hakutulokset ja -ehdotukset samalla, kun käytät tekstinsyöttöä IME:n avulla. Huomaa, että IME saattaa näyttää paneelin, peittäen osoitepalkin hakutulokset. Siksi tätä asetusta suositellaan vain, kun IME ei käytä tämäntyyppistä paneelia.
diff --git a/l10n-fi/toolkit/toolkit/formautofill/formAutofill.ftl b/l10n-fi/toolkit/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..d0c2392da2
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/formautofill/formAutofill.ftl
@@ -0,0 +1,26 @@
+# 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/.
+
+
+## OS Prompt Dialog
+
+# The macos string is preceded by the operating system (macOS) with "Firefox is trying to ",
+# and has a period added to its end. Make sure to test in your locale.
+autofill-use-payment-method-os-prompt-macos = käyttää tallennettuja maksutapatietoja
+autofill-use-payment-method-os-prompt-windows = { -brand-short-name } yrittää käyttää tallennettuja maksutapatietoja. Vahvista pääsy tälle Windows-tilille alapuolella.
+autofill-use-payment-method-os-prompt-other = { -brand-short-name } yrittää käyttää tallennettuja maksutapatietoja.
+# In macOS, this string is preceded by the operating system with "Firefox is trying to ",
+# and has a period added to its end. Make sure to test in your locale.
+autofill-edit-payment-method-os-prompt-macos = näyttää tallennettuja maksutapatietoja
+autofill-edit-payment-method-os-prompt-windows = { -brand-short-name } yrittää näyttää tallennettuja maksutapatietoja. Vahvista pääsy tälle Windows-tilille alapuolella.
+autofill-edit-payment-method-os-prompt-other = { -brand-short-name } yrittää näyttää tallennettuja maksutapatietoja.
+# The links lead users to Form Autofill browser preferences.
+autofill-options-link = Lomakkeiden automaattitäytön asetukset
+autofill-options-link-osx = Lomakkeiden automaattitäytön asetukset
+
+## The credit card capture doorhanger
+
+
+# Used on the doorhanger when an credit card change is detected.
+
diff --git a/l10n-fi/toolkit/toolkit/global/alert.ftl b/l10n-fi/toolkit/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..e693cce948
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/alert.ftl
@@ -0,0 +1,12 @@
+# 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/.
+
+alert-close =
+ .tooltiptext = Sulje tämä ilmoitus
+alert-settings-title =
+ .tooltiptext = Asetukset
+
+## Reminder Notifications
+
+notification-default-dismiss = Hylkää
diff --git a/l10n-fi/toolkit/toolkit/global/appPicker.ftl b/l10n-fi/toolkit/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..9d38940e45
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/appPicker.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+app-picker-browse-button =
+ .buttonlabelextra2 = Selaa…
+app-picker-send-msg =
+ .value = Lähetä kohteeseen:
+app-picker-no-app-found =
+ .value = Ei löytynyt yhtäkään ohjelmaa tälle tiedostotyypille.
diff --git a/l10n-fi/toolkit/toolkit/global/browser-utils.ftl b/l10n-fi/toolkit/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..ca2b0b7788
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/browser-utils.ftl
@@ -0,0 +1,11 @@
+# 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/.
+
+# Used for data: URLs where we don't have any useful origin information
+browser-utils-url-data = (data)
+
+# Used for extension URLs
+# Variables:
+# $extension (string) - Name of the extension that generated the URL
+browser-utils-url-extension = Laajennus ({ $extension })
diff --git a/l10n-fi/toolkit/toolkit/global/commonDialog.ftl b/l10n-fi/toolkit/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..55f1d5162e
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/commonDialog.ftl
@@ -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/.
+
+common-dialog-title-null = Tämä sivu sanoo
+common-dialog-title-system = { -brand-short-name }
+# Title displayed when the origin of a web dialog is unknown.
+common-dialog-title-unknown = Tuntematon
+# An indicator showing that Firefox is waiting for an operation to finish
+common-dialog-spinner =
+ .alt = Varattu
+common-dialog-username =
+ .value = Käyttäjätunnus
+common-dialog-password =
+ .value = Salasana
+common-dialog-copy-cmd =
+ .label = Kopioi
+ .accesskey = K
+common-dialog-select-all-cmd =
+ .label = Valitse kaikki
+ .accesskey = V
diff --git a/l10n-fi/toolkit/toolkit/global/contextual-identity.ftl b/l10n-fi/toolkit/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..3a81633f17
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/contextual-identity.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+
+## Names of the default containers in Firefox.
+## See https://support.mozilla.org/kb/how-use-firefox-containers
+
+user-context-personal =
+ .label = Omat
+ .accesskey = O
+user-context-work =
+ .label = Työ
+ .accesskey = T
+user-context-banking =
+ .label = Raha
+ .accesskey = R
+user-context-shopping =
+ .label = Kaupat
+ .accesskey = K
+
+##
+
+user-context-none =
+ .label = Eristämätön
+ .accesskey = E
+user-context-manage-containers =
+ .label = Muokkaa eristystiloja
+ .accesskey = M
diff --git a/l10n-fi/toolkit/toolkit/global/cookieBannerHandling.ftl b/l10n-fi/toolkit/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..ced83eb0b1
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/cookieBannerHandling.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/.
+
+cookie-banner-handled-webconsole = { -brand-shorter-name } käsitteli evästeilmoituksen käyttäjän puolesta.
diff --git a/l10n-fi/toolkit/toolkit/global/createProfileWizard.ftl b/l10n-fi/toolkit/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..2902efed43
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/createProfileWizard.ftl
@@ -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/.
+
+create-profile-window2 =
+ .title = Ohjattu profiilin luonti
+ .style = min-width: 45em; min-height: 32em;
+
+## First wizard page
+
+create-profile-first-page-header2 =
+ { PLATFORM() ->
+ [macos] Esittely
+ *[other] Tervetuloa
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } tallentaa asetuksesi ja muut tiedot henkilökohtaiseen profiilisi.
+
+profile-creation-explanation-2 = Jos samaa { -brand-short-name }ia käyttää useampi henkilö, voit pitää jokaisen käyttäjän tiedot erillään luomalla heille nimikkoprofiilit.
+
+profile-creation-explanation-3 = Vaikka olisit tämän { -brand-short-name }in ainoa käyttäjä, ainakin yhden profiilin täytyy silti olla luotuna. Halutessasi voit luoda useita profiileja erilaisia käyttötilanteita varten. Voit esimerkiksi luoda omat profiilit työ- ja vapaa-ajan käyttöön.
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] Aloita profiilin luominen valitsemalla Seuraava.
+ *[other] Aloita profiilin luominen valitsemalla Seuraava.
+ }
+
+## Second wizard page
+
+create-profile-last-page-header2 =
+ { PLATFORM() ->
+ [macos] Viimeistely
+ *[other] Viimeistely
+ }
+
+profile-creation-intro = Jos luot useita profiileja, voit erotella ne nimen perusteella. Voit käyttää annettua nimeä tai keksiä oman.
+
+profile-prompt = Anna uuden profiilin nimi:
+ .accesskey = A
+
+profile-default-name =
+ .value = Oletuskäyttäjä
+
+profile-directory-explanation = Asetukset ja muut käyttäjäkohtaiset tiedot tallennetaan kansioon:
+
+create-profile-choose-folder =
+ .label = Valitse kansio…
+ .accesskey = V
+
+create-profile-use-default =
+ .label = Käytä oletuskansiota
+ .accesskey = O
diff --git a/l10n-fi/toolkit/toolkit/global/cspErrors.ftl b/l10n-fi/toolkit/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..7509113033
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/cspErrors.ftl
@@ -0,0 +1,32 @@
+# 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/.
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+csp-error-missing-directive = Policy is missing a required '{ $directive }' directive
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $keyword (String): the name of a CSP keyword, usually 'unsafe-inline'.
+csp-error-illegal-keyword = '{ $directive }' directive contains a forbidden { $keyword } keyword
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-protocol = '{ $directive }' directive contains a forbidden { $scheme }: protocol source
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-missing-host = { $scheme }: protocol requires a host in '{ $directive }' directives
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $source (String): the name of a CSP source, usually 'self'.
+csp-error-missing-source = '{ $directive }' must include the source { $source }
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-host-wildcard = { $scheme }: wildcard sources in '{ $directive }' directives must include at least one non-generic sub-domain (e.g., *.example.com rather than *.com)
diff --git a/l10n-fi/toolkit/toolkit/global/datepicker.ftl b/l10n-fi/toolkit/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..084bb89521
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/datepicker.ftl
@@ -0,0 +1,50 @@
+# 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/.
+
+
+### Datepicker - Dialog for default HTML's <input type="date">
+
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of a date picker calendar and a month-year selection
+## spinner dialogs for HTML's <input type="date">
+
+date-picker-label =
+ .aria-label = Valitse päivä
+date-spinner-label =
+ .aria-label = Valitse kuukausi ja vuosi
+
+## Text of the clear button
+
+date-picker-clear-button = Tyhjennä
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of buttons that leaf through months of a calendar
+
+date-picker-previous =
+ .aria-label = Edellinen kuukausi
+date-picker-next =
+ .aria-label = Seuraava kuukausi
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the type of a value/unit that is being selected within a
+## Month/Year date spinner dialogs on a datepicker calendar dialog
+
+date-spinner-month =
+ .aria-label = Kuukausi
+date-spinner-year =
+ .aria-label = Vuosi
+
+## These labels are used by screenreaders and other assistive technology
+## to indicate the purpose of buttons that leaf through either months
+## or years of a Month/Year date spinner on a datepicker calendar dialog
+
+date-spinner-month-previous =
+ .aria-label = Edellinen kuukausi
+date-spinner-month-next =
+ .aria-label = Seuraava kuukausi
+date-spinner-year-previous =
+ .aria-label = Edellinen vuosi
+date-spinner-year-next =
+ .aria-label = Seuraava vuosi
diff --git a/l10n-fi/toolkit/toolkit/global/datetimebox.ftl b/l10n-fi/toolkit/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..58d87be3b5
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/datetimebox.ftl
@@ -0,0 +1,42 @@
+# 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/.
+
+## Placeholders for date and time inputs
+
+datetime-year-placeholder = vvvv
+datetime-month-placeholder = kk
+datetime-day-placeholder = pp
+datetime-time-placeholder = --
+
+## Field labels for input type=date
+
+datetime-year =
+ .aria-label = Vuosi
+datetime-month =
+ .aria-label = Kuukausi
+datetime-day =
+ .aria-label = Päivä
+
+## Field labels for input type=time
+
+datetime-hour =
+ .aria-label = Tunnit
+datetime-minute =
+ .aria-label = Minuutit
+datetime-second =
+ .aria-label = Sekunnit
+datetime-millisecond =
+ .aria-label = Millisekunnit
+datetime-dayperiod =
+ .aria-label = Aamupäivä/iltapäivä
+
+## Calendar button for input type=date
+
+
+# This label is used by screenreaders and other assistive technology
+# to indicate the purpose of a toggle button inside of the <input type="date">
+# field that opens/closes a date picker calendar dialog
+
+datetime-calendar =
+ .aria-label = Kalenteri
diff --git a/l10n-fi/toolkit/toolkit/global/extensionPermissions.ftl b/l10n-fi/toolkit/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..9ef74e7ae1
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/extensionPermissions.ftl
@@ -0,0 +1,33 @@
+# 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/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-bookmarks = Lue ja muokkaa kirjanmerkkejä
+webext-perms-description-browserSettings = Lue ja muokkaa selaimen asetuksia
+webext-perms-description-browsingData = Tyhjennä viimeaikainen historia, evästeet ja liittyvät tiedot
+webext-perms-description-clipboardRead = Lue tietoja leikepöydältä
+webext-perms-description-clipboardWrite = Kirjoita tietoja leikepöydälle
+webext-perms-description-declarativeNetRequest = Estä sisältö millä tahansa sivulla
+webext-perms-description-declarativeNetRequestFeedback = Lue selaushistoriaasi
+webext-perms-description-devtools = Laajenna web-työkaluita käyttämään avoimissa välilehdissä olevia tietoja
+webext-perms-description-downloads = Lataa tiedostoja sekä lue ja muokkaa selaimen lataushistoriaa
+webext-perms-description-downloads-open = Avaa tietokoneellesi ladattuja tiedostoja
+webext-perms-description-find = Lue kaikkien avointen välilehtien tekstiä
+webext-perms-description-geolocation = Käytä sijaintiasi
+webext-perms-description-history = Käytä selaushistoriaa
+webext-perms-description-management = Tarkkaile laajennusten käyttöä ja hallitse teemoja
+webext-perms-description-nativeMessaging = Vaihda viestejä muidenkin ohjelmien kuin { -brand-short-name }in kanssa
+webext-perms-description-notifications = Näytä ilmoituksia sinulle
+webext-perms-description-pkcs11 = Tarjoa kryptografisia autentikointipalveluita
+webext-perms-description-privacy = Lue ja muokkaa tietosuoja-asetuksia
+webext-perms-description-proxy = Hallitse selaimen välityspalvelinasetuksia
+webext-perms-description-sessions = Käytä viimeksi suljettuja välilehtiä
+webext-perms-description-tabs = Käytä selaimen välilehtiä
+webext-perms-description-tabHide = Piilota ja näytä selaimen välilehtiä
+webext-perms-description-topSites = Käytä selaushistoriaa
+webext-perms-description-webNavigation = Tarkkaile selaimen toimintaa siirryttäessä sivulta toiselle
diff --git a/l10n-fi/toolkit/toolkit/global/extensions.ftl b/l10n-fi/toolkit/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..6bbe7a3ddb
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/extensions.ftl
@@ -0,0 +1,105 @@
+# 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/.
+
+
+## Headers used in the webextension permissions dialog,
+## See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612
+## for an example of the full dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension.
+
+webext-perms-header = Lisätäänkö { $extension }?
+webext-perms-header-with-perms = Lisätäänkö { $extension }? Tällä laajennuksella on seuraavat oikeudet:
+webext-perms-header-unsigned = Lisätäänkö { $extension }? Tämä laajennus on varmentamaton. Haitalliset laajennukset voivat varastaa yksityisiä tietoja tai vaarantaa tietokoneesi turvallisuuden. Lisää se vain, jos luotat lähteeseen.
+webext-perms-header-unsigned-with-perms = Lisätäänkö { $extension }? Tämä laajennus on varmentamaton. Haitalliset laajennukset voivat varastaa yksityisiä tietoja tai vaarantaa tietokoneesi turvallisuuden. Lisää se vain, jos luotat lähteeseen. Tällä laajennuksella on seuraavat oikeudet:
+webext-perms-sideload-header = { $extension } lisätty
+webext-perms-optional-perms-header = { $extension } pyytää lisäoikeuksia.
+
+##
+
+webext-perms-add =
+ .label = Lisää
+ .accesskey = L
+webext-perms-cancel =
+ .label = Peruuta
+ .accesskey = P
+webext-perms-sideload-text = Ohjelma tietokoneellasi asensi lisäosan, joka voi vaikuttaa selaimeesi. Tarkasta lisäosan pyytämät oikeudet ja valitse Ota käyttöön tai Peruuta (pitääksesi sen poissa käytöstä).
+webext-perms-sideload-text-no-perms = Ohjelma tietokoneellasi asensi lisäosan, joka voi vaikuttaa selaimeesi. Valitse Ota käyttöön tai Peruuta (pitääksesi sen poissa käytöstä).
+webext-perms-sideload-enable =
+ .label = Ota käyttöön
+ .accesskey = O
+webext-perms-sideload-cancel =
+ .label = Peruuta
+ .accesskey = P
+# Variables:
+# $extension (String): replaced with the localized name of the extension.
+webext-perms-update-text = { $extension } on päivitetty. Sinun täytyy hyväksyä uudet oikeudet ennen kuin uusi versio asennetaan. Jos valitset ”Peruuta”, laajennuksen nykyinen versio säilytetään. Tämän laajennuksen uudet oikeudet ovat:
+webext-perms-update-accept =
+ .label = Päivitä
+ .accesskey = i
+webext-perms-optional-perms-list-intro = Se haluaa:
+webext-perms-optional-perms-allow =
+ .label = Salli
+ .accesskey = S
+webext-perms-optional-perms-deny =
+ .label = Estä
+ .accesskey = E
+webext-perms-host-description-all-urls = Käytä dataasi kaikilta sivustoilta
+# Variables:
+# $domain (String): will be replaced by the DNS domain for which a webextension is requesting access (e.g., mozilla.org)
+webext-perms-host-description-wildcard = Käytä dataasi { $domain }-verkkotunnuksen sivustoilta
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-wildcards =
+ { $domainCount ->
+ [one] Käytä dataasi { $domainCount } muulta verkkotunnukselta
+ *[other] Käytä dataasi { $domainCount } muulta verkkotunnukselta
+ }
+# Variables:
+# $domain (String): will be replaced by the DNS host name for which a webextension is requesting access (e.g., www.mozilla.org)
+webext-perms-host-description-one-site = Käytä dataasi { $domain }-verkkotunnukselta
+# Variables:
+# $domainCount (Number): Integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webext-perms-host-description-too-many-sites =
+ { $domainCount ->
+ [one] Käytä dataasi { $domainCount } muulta sivustolta
+ *[other] Käytä dataasi { $domainCount } muulta sivustolta
+ }
+
+## Headers used in the webextension permissions dialog for synthetic add-ons.
+## The part of the string describing what privileges the extension gives should be consistent
+## with the value of webext-site-perms-description-gated-perms-{sitePermission}.
+## Note, this string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $hostname (String): the hostname of the site the add-on is being installed from.
+
+webext-site-perms-header-with-gated-perms-midi = Tämä lisäosa antaa sivustolle { $hostname } pääsyn MIDI-laitteisiisi.
+webext-site-perms-header-with-gated-perms-midi-sysex = Tämä lisäosa antaa sivustolle { $hostname } pääsyn MIDI-laitteisiisi (SysEx-tuella).
+
+##
+
+# This string is used as description in the webextension permissions dialog for synthetic add-ons.
+# Note, the empty line is used to create a line break between the two sections.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webext-site-perms-description-gated-perms-midi =
+ Nämä ovat yleensä plug-in-laitteita, kuten äänisyntetisaattoreita, mutta ne voivat myös olla sisäänrakennettuja tietokoneeseesi.
+
+ Verkkosivustot eivät yleensä saa käyttää MIDI-laitteita. Vääränlainen käyttö voi aiheuttaa vahinkoa tai vaarantaa turvallisuuden.
+
+## Headers used in the webextension permissions dialog.
+## Note: This string will be used as raw markup. Avoid characters like <, >, &
+## Variables:
+## $extension (String): replaced with the localized name of the extension being installed.
+## $hostname (String): will be replaced by the DNS host name for which a webextension enables permissions.
+
+webext-site-perms-header-with-perms = Lisätäänkö { $extension }? Tämä laajennus antaa seuraavat ominaisuudet kohteelle { $hostname }:
+webext-site-perms-header-unsigned-with-perms = Lisätäänkö { $extension }? Tämä laajennus on varmentamaton. Haitalliset laajennukset voivat varastaa yksityisiä tietoja tai vaarantaa tietokoneen turvallisuuden. Lisää se vain, jos luotat lähteeseen. Tämä laajennus antaa seuraavat ominaisuudet kohteelle { $hostname }:
+
+## These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
+webext-site-perms-midi = Käytä MIDI-laitteita
+webext-site-perms-midi-sysex = Käytä MIDI-laitteita SysEx-tuella
diff --git a/l10n-fi/toolkit/toolkit/global/handlerDialog.ftl b/l10n-fi/toolkit/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..13aa16b0c1
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/handlerDialog.ftl
@@ -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/.
+
+
+## Permission Dialog
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+## $appName (string) - Name of the application that will be opened.
+## $extension (string) - Name of extension that initiated the request
+
+permission-dialog-description = Saako tämä sivusto avata { $scheme }-linkin?
+permission-dialog-description-file = Saako tämä tiedosto avata { $scheme }-linkin?
+permission-dialog-description-host = Saako sivusto { $host } avata { $scheme }-linkin?
+permission-dialog-description-extension = Haluatko sallia laajennuksen { $extension } avata { $scheme }-linkin?
+permission-dialog-description-app = Saako tämä sivusto avata { $scheme }-linkin sovelluksella { $appName }?
+permission-dialog-description-host-app = Saako sivusto { $host } avata { $scheme }-linkin sovelluksella { $appName }?
+permission-dialog-description-file-app = Saako tämä tiedosto avata { $scheme }-linkin sovelluksella { $appName }?
+permission-dialog-description-extension-app = Haluatko sallia laajennuksen { $extension } avata { $scheme }-linkin sovelluksella { $appName }?
+permission-dialog-description-system-app = Avaa { $scheme }-linkki sovelluksella { $appName }?
+permission-dialog-description-system-noapp = Avataanko { $scheme }-linkki?
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+
+permission-dialog-remember = Salli aina sivuston <strong>{ $host }</strong> avata <strong>{ $scheme }</strong>-linkit
+permission-dialog-remember-file = Salli aina tämän tiedoston avata <strong>{ $scheme }</strong>-linkit
+permission-dialog-remember-extension = Salli tämän laajennuksen avata aina <strong>{ $scheme }</strong>-linkit
+
+##
+
+permission-dialog-btn-open-link =
+ .label = Avaa linkki
+ .accessKey = A
+permission-dialog-btn-choose-app =
+ .label = Valitse ohjelma
+ .accessKey = V
+permission-dialog-unset-description = Sinun on valittava ohjelma.
+permission-dialog-set-change-app-link = Valitse eri ohjelma.
+
+## Chooser dialog
+## Variables:
+## $scheme (string) - The type of link that's being opened.
+
+chooser-window =
+ .title = Valitse ohjelma
+ .style = min-width: 26em; min-height: 26em;
+chooser-dialog =
+ .buttonlabelaccept = Avaa linkki
+ .buttonaccesskeyaccept = A
+chooser-dialog-description = Valitse sovellus, jolla { $scheme }-linkki avataan.
+# Please keep the emphasis around the scheme (ie the `<strong>` HTML tags).
+chooser-dialog-remember = Käytä aina tätä sovellusta avaamaan <strong>{ $scheme }</strong>-linkit
+chooser-dialog-remember-extra =
+ { PLATFORM() ->
+ [windows] Tämän voi vaihtaa { -brand-short-name }in asetuksista.
+ *[other] Tämän voi vaihtaa { -brand-short-name }in asetuksista.
+ }
+choose-other-app-description = Valitse toinen ohjelma
+choose-app-btn =
+ .label = Valitse…
+ .accessKey = V
+choose-other-app-window-title = Vaihda ohjelmaa…
+# Displayed under the name of a protocol handler in the Launch Application dialog.
+choose-dialog-privatebrowsing-disabled = Poistettu käytöstä yksityisissä ikkunoissa
diff --git a/l10n-fi/toolkit/toolkit/global/htmlForm.ftl b/l10n-fi/toolkit/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..ba4a43248d
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/htmlForm.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This string is shown at the end of the tooltip text for
+# <input type='file' multiple> when there are more than 21 files selected
+# (when we will only list the first 20, plus an "and X more" line).
+# Variables:
+# $fileCount (Number): The number of remaining files.
+input-file-and-more-files =
+ { $fileCount ->
+ [one] ja yksi muu
+ *[other] ja { $fileCount } muuta
+ }
diff --git a/l10n-fi/toolkit/toolkit/global/mozCard.ftl b/l10n-fi/toolkit/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/mozCard.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-fi/toolkit/toolkit/global/mozFiveStar.ftl b/l10n-fi/toolkit/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..3f373f2c03
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/mozFiveStar.ftl
@@ -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/.
+
+# The rating out of 5 stars.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+moz-five-star-rating =
+ .title = Arvostelu { NUMBER($rating, maximumFractionDigits: 1) }/5
diff --git a/l10n-fi/toolkit/toolkit/global/mozMessageBar.ftl b/l10n-fi/toolkit/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..86f562bc65
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/mozMessageBar.ftl
@@ -0,0 +1,7 @@
+# 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/.
+
+moz-message-bar-close-button =
+ .aria-label = Sulje
+ .title = Sulje
diff --git a/l10n-fi/toolkit/toolkit/global/mozSupportLink.ftl b/l10n-fi/toolkit/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..9613a886c7
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/mozSupportLink.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/.
+
+moz-support-link-text = Lue lisää
diff --git a/l10n-fi/toolkit/toolkit/global/notification.ftl b/l10n-fi/toolkit/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..38e3910e1d
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/notification.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+notification-learnmore-default-label =
+ .value = Lue lisää
+
+# This label is read by screen readers when focusing the close button for an
+# "infobar" (message shown when for example a popup is blocked),
+# and shown when hovering over the button
+notification-close-button =
+ .aria-label = Sulje
+ .title = Sulje
+
+close-notification-message =
+ .tooltiptext = Sulje tämä viesti
diff --git a/l10n-fi/toolkit/toolkit/global/popupnotification.ftl b/l10n-fi/toolkit/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..4c9dbd5e89
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/popupnotification.ftl
@@ -0,0 +1,10 @@
+# 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/.
+
+popup-notification-learn-more = Lue lisää
+popup-notification-more-actions-button =
+ .aria-label = Lisää toimintoja
+popup-notification-default-button =
+ .label = OK
+ .accesskey = O
diff --git a/l10n-fi/toolkit/toolkit/global/processTypes.ftl b/l10n-fi/toolkit/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..9aec9f814a
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/processTypes.ftl
@@ -0,0 +1,61 @@
+# 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 for remote types defined in RemoteType.h
+##
+
+process-type-web = Verkkosisältö
+
+# process used to run privileged about pages,
+# such as about:home
+process-type-privilegedabout = Etuoikeutettu about-sivu
+
+# process used to run privileged mozilla pages,
+# such as accounts.firefox.com
+process-type-privilegedmozilla = Etuoikeutettu Mozilla-sisältö
+
+process-type-extension = Laajennus
+
+# process used to open file:// URLs
+process-type-file = Paikallinen tiedosto
+
+# process used to isolate a webpage from other web pages
+# to improve security
+process-type-webisolated = Eristetty verkkosisältö
+
+# process used to isolate a ServiceWorker to improve
+# performance
+process-type-webserviceworker = Eristetty Service Worker
+
+# process preallocated; may change to other types
+process-type-prealloc = Esijaettu
+
+##
+## Localization for Gecko process types defined in GeckoProcessTypes.h
+##
+
+process-type-default = Pääprosessi
+process-type-tab = Välilehti
+
+# process used to communicate with the GPU for
+# graphics acceleration
+process-type-gpu = GPU
+
+# process used to perform network operations
+process-type-socket = Pistoke
+
+# process used to decode media
+process-type-rdd = RDD
+
+# process used to run some IPC actor in their own sandbox
+process-type-utility = Eristetty IPC-toimija
+
+##
+## Other
+##
+
+# fallback
+process-type-unknown = Tuntematon
diff --git a/l10n-fi/toolkit/toolkit/global/profileDowngrade.ftl b/l10n-fi/toolkit/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..99bc4d91da
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/profileDowngrade.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profiledowngrade-window2 =
+ .title = Olet käynnistänyt vanhan { -brand-product-name }-version
+ .style = min-width: 490px;
+profiledowngrade-window-create =
+ .label = Luo uusi profiili
+profiledowngrade-sync = Vanhan { -brand-product-name }-version käyttäminen voi vioittaa nykyiseen { -brand-product-name }-profiiliin tallennetut kirjanmerkit ja selaushistorian. Suojellaksesi tietojasi, luo uusi profiili tätä { -brand-short-name }-asennusta varten. Voit aina kirjautua sisään { -fxaccount-brand-name }llä ja synkronoida kirjanmerkit sekä selaushistorian profiilien välillä.
+profiledowngrade-sync2 = Vanhan { -brand-product-name }-version käyttäminen voi vioittaa nykyiseen { -brand-product-name }-profiiliin tallennetut kirjanmerkit ja selaushistorian. Suojataksesi tietosi, luo uusi profiili tätä { -brand-short-name }-asennusta varten. Voit aina kirjautua sisään tilillä ja synkronoida kirjanmerkit sekä selaushistorian profiilien välillä.
+profiledowngrade-nosync = Vanhan { -brand-product-name }-version käyttäminen voi vioittaa nykyiseen { -brand-product-name }-profiiliin tallennetut kirjanmerkit ja selaushistorian. Suojellaksesi tietojasi, luo uusi profiili tätä { -brand-short-name }-asennusta varten.
+profiledowngrade-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Sulje
+ *[other] Sulje
+ }
diff --git a/l10n-fi/toolkit/toolkit/global/profileSelection.ftl b/l10n-fi/toolkit/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..d0a7fbdbf5
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/profileSelection.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profile-selection-window =
+ .title = { -brand-short-name } - Valitse käyttäjäprofiili
+
+profile-selection-button-accept =
+ .label = Käynnistä { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = Lopeta
+
+profile-selection-new-button =
+ .label = Luo profiili…
+ .accesskey = L
+
+profile-selection-rename-button =
+ .label = Muuta nimeä…
+ .accesskey = M
+
+profile-selection-delete-button =
+ .label = Poista profiili…
+ .accesskey = o
+
+profile-selection-conflict-message = Toinen { -brand-product-name }-kopio on tehnyt muutoksia profiileihin. { -brand-short-name } täytyy käynnistää uudestaan ennen lisämuutosten tekemistä.
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } säilyttää asetuksesi ja muut tiedot käyttäjäprofiilissasi.
+
+profile-manager-work-offline =
+ .label = Yhteydetön tila
+ .accesskey = Y
+
+profile-manager-use-selected =
+ .label = Käytä valittua profiilia aina käynnistettäessä
+ .accesskey = K
diff --git a/l10n-fi/toolkit/toolkit/global/resetProfile.ftl b/l10n-fi/toolkit/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..c95d283be1
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/resetProfile.ftl
@@ -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/.
+
+refresh-profile-dialog-title = Palautetaanko { -brand-short-name } oletusasetuksiin?
+refresh-profile-dialog-button =
+ .label = Palauta { -brand-short-name } uudenveroiseksi
+refresh-profile-dialog-description = Aloita puhtaalta pöydältä korjataksesi suorituskykyyn liittyvät ongelmat. Tämä poistaa laajennukset ja mukautukset. Et menetä oleellisia tietoja kuten kirjanmerkkejä ja salasanoja.
+refresh-profile = Viritä { -brand-short-name }
+refresh-profile-button = Palauta { -brand-short-name } uudenveroiseksi…
+refresh-profile-learn-more = Lue lisää
+
+refresh-profile-progress =
+ .title = Palauta { -brand-short-name } uudeksi
+refresh-profile-progress-description = Melkein valmista…
diff --git a/l10n-fi/toolkit/toolkit/global/resistFingerPrinting.ftl b/l10n-fi/toolkit/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..6b771de02c
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/resistFingerPrinting.ftl
@@ -0,0 +1,6 @@
+# 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/.
+
+# Spoof Accept-Language prompt
+privacy-spoof-english = Kieliasetusten vaihtaminen englantiin tekee sinun yksilöimisestä vaikeampaa ja parantaa yksityisyyttäsi. Haluatko pyytää verkkosivuista englanninkieliset versiot?
diff --git a/l10n-fi/toolkit/toolkit/global/run-from-dmg.ftl b/l10n-fi/toolkit/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..270ab24ba8
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/run-from-dmg.ftl
@@ -0,0 +1,28 @@
+# 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/.
+
+
+## Strings for a dialog that may open on macOS before the app's main window
+## opens. The dialog prompts the user to allow the app to install itself in an
+## appropriate location before relaunching itself from that location if the
+## user accepts.
+
+prompt-to-install-title = Viimeistelläänkö { -brand-short-name }in asennus?
+prompt-to-install-message = Suorita tämä yhden vaiheen asennus pitääksesi { -brand-short-name } ajan tasalla ja estääksesi tietojen häviäminen. { -brand-short-name } lisätään Sovellukset-kansioosi ja Dockiin.
+prompt-to-install-yes-button = Asenna
+prompt-to-install-no-button = Älä asenna
+
+## Strings for a dialog that opens if the installation failed.
+
+install-failed-title = { -brand-short-name }in asennus epäonnistui.
+install-failed-message = { -brand-short-name }in asennus epäonnistui, mutta se pysyy käynnissä.
+
+## Strings for a dialog that recommends to the user to start an existing
+## installation of the app in the Applications directory if one is detected,
+## rather than the app that was double-clicked in a .dmg.
+
+prompt-to-launch-existing-app-title = Avataanko olemassa oleva { -brand-short-name }-sovellus?
+prompt-to-launch-existing-app-message = Sinulla on jo { -brand-short-name } asennettuna. Käytä asennettuna olevaa sovellusta pysyäksesi ajan tasalla ja estääksesi tietojen häviäminen.
+prompt-to-launch-existing-app-yes-button = Avaa olemassa oleva
+prompt-to-launch-existing-app-no-button = Ei kiitos
diff --git a/l10n-fi/toolkit/toolkit/global/tabprompts.ftl b/l10n-fi/toolkit/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..7541de6fc4
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/tabprompts.ftl
@@ -0,0 +1,13 @@
+# 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/.
+
+tabmodalprompt-username =
+ .value = Käyttäjätunnus:
+tabmodalprompt-password =
+ .value = Salasana:
+
+tabmodalprompt-ok-button =
+ .label = OK
+tabmodalprompt-cancel-button =
+ .label = Peruuta
diff --git a/l10n-fi/toolkit/toolkit/global/textActions.ftl b/l10n-fi/toolkit/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..d2ee4b74cb
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/textActions.ftl
@@ -0,0 +1,64 @@
+# 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/.
+
+text-action-undo =
+ .label = Kumoa
+ .accesskey = m
+text-action-undo-shortcut =
+ .key = Z
+text-action-redo =
+ .label = Tee uudelleen
+ .accesskey = T
+text-action-redo-shortcut =
+ .key = Y
+text-action-cut =
+ .label = Leikkaa
+ .accesskey = L
+text-action-cut-shortcut =
+ .key = X
+text-action-copy =
+ .label = Kopioi
+ .accesskey = K
+text-action-copy-shortcut =
+ .key = C
+# This command copies the link, removing additional
+# query parameters used to track users across sites.
+text-action-strip-on-share =
+ .label = Kopioi ilman sivustoseurantaa
+ .accesskey = n
+text-action-paste =
+ .label = Liitä
+ .accesskey = i
+text-action-paste-no-formatting =
+ .label = Liitä ilman muotoilua
+ .accesskey = i
+text-action-paste-shortcut =
+ .key = V
+text-action-delete =
+ .label = Poista
+ .accesskey = o
+text-action-select-all =
+ .label = Valitse kaikki
+ .accesskey = V
+text-action-select-all-shortcut =
+ .key = A
+text-action-spell-no-suggestions =
+ .label = Ei oikeinkirjoituksen ehdotuksia
+text-action-spell-add-to-dictionary =
+ .label = Lisää sanastoon
+ .accesskey = L
+text-action-spell-undo-add-to-dictionary =
+ .label = Kumoa sanastoon lisääminen
+ .accesskey = K
+text-action-spell-check-toggle =
+ .label = Oikolue
+ .accesskey = O
+text-action-spell-add-dictionaries =
+ .label = Lisää sanastoja…
+ .accesskey = ä
+text-action-spell-dictionaries =
+ .label = Kielet
+ .accesskey = K
+text-action-search-text-box-clear =
+ .title = Tyhjennä
diff --git a/l10n-fi/toolkit/toolkit/global/timepicker.ftl b/l10n-fi/toolkit/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/timepicker.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-fi/toolkit/toolkit/global/tree.ftl b/l10n-fi/toolkit/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..e73365bf83
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/tree.ftl
@@ -0,0 +1,6 @@
+# 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/.
+
+tree-columnpicker-restore-order =
+ .label = Palauta sarakkeiden järjestys
diff --git a/l10n-fi/toolkit/toolkit/global/unknownContentType.ftl b/l10n-fi/toolkit/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..30d65ca4ee
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/unknownContentType.ftl
@@ -0,0 +1,42 @@
+# 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/.
+
+unknowncontenttype-handleinternally =
+ .label = Avaa { -brand-short-name(case: "inessive") }
+ .accesskey = v
+
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] Asetuksia voi muuttaa { -brand-short-name }in asetuksista.
+ *[other] Asetuksia voi muuttaa { -brand-short-name }in asetuksista.
+ }
+
+unknowncontenttype-intro = Olet avaamassa tiedostoa:
+unknowncontenttype-which-is = Tiedosto on tyyppiä:
+unknowncontenttype-from = osoitteesta:
+unknowncontenttype-prompt = Tallennetaanko tiedosto?
+unknowncontenttype-action-question = Mitä tiedostolle tehdään?
+unknowncontenttype-open-with =
+ .label = Avaa ohjelmalla
+ .accesskey = A
+unknowncontenttype-other =
+ .label = Muu…
+unknowncontenttype-choose-handler =
+ .label =
+ { PLATFORM() ->
+ [macos] Valitse…
+ *[other] Selaa…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] V
+ *[other] S
+ }
+unknowncontenttype-save-file =
+ .label = Tallenna tiedosto
+ .accesskey = T
+unknowncontenttype-remember-choice =
+ .label = Tee näin oletuksena tämäntyyppisille tiedostoille.
+ .accesskey = n
diff --git a/l10n-fi/toolkit/toolkit/global/videocontrols.ftl b/l10n-fi/toolkit/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..8f73141006
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/videocontrols.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This label is used by screenreaders and other assistive technology to indicate
+# to users how much of the video has been loaded from the network. It will be
+# followed by the percentage of the video that has loaded (e.g. "Loading: 13%").
+videocontrols-buffer-bar-label = Ladataan:
+videocontrols-volume-control =
+ .aria-label = Äänenvoimakkuus
+videocontrols-closed-caption-button =
+ .aria-label = Tekstitys
+
+videocontrols-play-button =
+ .aria-label = Toista
+videocontrols-pause-button =
+ .aria-label = Pysäytä
+videocontrols-mute-button =
+ .aria-label = Vaimenna ääni
+videocontrols-unmute-button =
+ .aria-label = Palauta ääni
+videocontrols-enterfullscreen-button =
+ .aria-label = Koko näytön tila
+videocontrols-exitfullscreen-button =
+ .aria-label = Poistu koko näytön tilasta
+videocontrols-casting-button-label =
+ .aria-label = Lähetä ruudulle
+videocontrols-closed-caption-off =
+ .offlabel = Pois käytöstä
+
+# This string is used as part of the Picture-in-Picture video toggle button when
+# the mouse is hovering it.
+videocontrols-picture-in-picture-label = Kuva kuvassa
+
+# This string is used as the label for a variation of the Picture-in-Picture video
+# toggle button when the mouse is hovering over the video.
+videocontrols-picture-in-picture-toggle-label2 = Ponnahduta ulos tämä video
+
+videocontrols-picture-in-picture-explainer3 = Useampi näyttö tekee kaikesta hauskempaa. Toista tämä video, kun teet muita asioita samanaikaisesti.
+
+videocontrols-error-aborted = Videon lataaminen pysähtynyt.
+videocontrols-error-network = Videon toisto keskeytynyt verkkovirheen vuoksi.
+videocontrols-error-decode = Videota ei voida toistaa, koska tiedosto on vioittunut.
+videocontrols-error-src-not-supported = Videon tiedostomuoto tai MIME-tyyppi ei ole tuettu.
+videocontrols-error-no-source = Ei löytynyt videota tuetussa tiedostomuodossa ja MIME-tyypissä.
+videocontrols-error-generic = Videon toisto keskeytynyt tuntemattoman virheen vuoksi.
+videocontrols-status-picture-in-picture = Tätä videota toistetaan kuva kuvassa -tilassa.
+
+# This message shows the current position and total video duration
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+#
+# For example, when at the 5 minute mark in a 6 hour long video,
+# $position would be "5:00" and $duration would be "6:00:00", result
+# string would be "5:00 / 6:00:00". Note that $duration is not always
+# available. For example, when at the 5 minute mark in an unknown
+# duration video, $position would be "5:00" and the string which is
+# surrounded by <span> would be deleted, result string would be "5:00".
+videocontrols-position-and-duration-labels = { $position }<span data-l10n-name="position-duration-format"> / { $duration }</span>
+
+# This is a plain text version of the videocontrols-position-and-duration-labels
+# string, used by screenreaders.
+#
+# Variables:
+# $position (String): The current media position
+# $duration (String): The total video duration
+videocontrols-scrubber-position-and-duration =
+ .aria-label = Sijainti
+ .aria-valuetext = { $position } / { $duration }
diff --git a/l10n-fi/toolkit/toolkit/global/wizard.ftl b/l10n-fi/toolkit/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..0d142f27a9
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/global/wizard.ftl
@@ -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/.
+
+wizard-macos-button-back =
+ .label = Edellinen
+ .accesskey = E
+wizard-linux-button-back =
+ .label = Takaisin
+ .accesskey = T
+wizard-win-button-back =
+ .label = < Edellinen
+ .accesskey = E
+
+wizard-macos-button-next =
+ .label = Jatka
+ .accesskey = J
+wizard-linux-button-next =
+ .label = Seuraava
+ .accesskey = S
+wizard-win-button-next =
+ .label = Seuraava >
+ .accesskey = S
+
+wizard-macos-button-finish =
+ .label = Valmis
+wizard-linux-button-finish =
+ .label = Valmis
+wizard-win-button-finish =
+ .label = Valmis
+
+wizard-macos-button-cancel =
+ .label = Peru
+wizard-linux-button-cancel =
+ .label = Peru
+wizard-win-button-cancel =
+ .label = Peruuta
diff --git a/l10n-fi/toolkit/toolkit/intl/languageNames.ftl b/l10n-fi/toolkit/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..8df35d64e1
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/intl/languageNames.ftl
@@ -0,0 +1,215 @@
+# 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/.
+
+language-name-aa = afar
+language-name-ab = abhaasi
+language-name-ach = atšoli
+language-name-ae = avesta
+language-name-af = afrikaans
+language-name-ak = akan
+language-name-am = amhara
+language-name-an = aragonia
+language-name-ar = arabia
+language-name-as = assami
+language-name-ast = asturia
+language-name-av = avaari
+language-name-ay = aimara
+language-name-az = azeri
+language-name-ba = baškiiri
+language-name-be = valkovenäjä
+language-name-bg = bulgaria
+language-name-bh = bihari
+language-name-bi = bislama
+language-name-bm = bambara
+language-name-bn = bengali
+language-name-bo = tiibet
+language-name-br = bretoni
+language-name-bs = bosnia
+language-name-ca = katalaani
+language-name-cak = kaqchikel
+language-name-ce = tšetšeeni
+language-name-ch = tšamorro
+language-name-co = korsika
+language-name-cr = cree
+language-name-crh = krimintataari
+language-name-cs = tšekki
+language-name-csb = kašubi
+language-name-cu = kirkkoslaavi
+language-name-cv = tšuvassi
+language-name-cy = kymri
+language-name-da = tanska
+language-name-de = saksa
+language-name-dsb = alasorbi
+language-name-dv = divehi
+language-name-dz = dzongkha
+language-name-ee = ewe
+language-name-el = kreikka
+language-name-en = englanti
+language-name-eo = esperanto
+language-name-es = espanja
+language-name-et = viro
+language-name-eu = baski
+language-name-fa = persia
+language-name-ff = fulani
+language-name-fi = suomi
+language-name-fj = fidži
+language-name-fo = fääri
+language-name-fr = ranska
+language-name-fur = friuli
+language-name-fy = friisi
+language-name-ga = iiri
+language-name-gd = gaeli
+language-name-gl = galicia
+language-name-gn = guarani
+language-name-gu = gudžarati
+language-name-gv = manksi
+language-name-ha = hausa
+language-name-haw = havaiji
+language-name-he = heprea
+language-name-hi = hindi
+language-name-hil = hiligaino
+language-name-ho = hiri-motu
+language-name-hr = kroatia
+language-name-hsb = yläsorbi
+language-name-ht = haiti
+language-name-hu = unkari
+language-name-hy = armenia
+language-name-hz = herero
+language-name-ia = interlingua
+language-name-id = indonesia
+language-name-ie = interlingue
+language-name-ig = igbo
+language-name-ii = sichuanin-yi
+language-name-ik = inupiaq
+language-name-io = ido
+language-name-is = islanti
+language-name-it = italia
+language-name-iu = inuktitut
+language-name-ja = japani
+language-name-jv = jaava
+language-name-ka = georgia
+language-name-kab = kabyyli
+language-name-kg = kongo
+language-name-ki = kikuju
+language-name-kj = kuanjama
+language-name-kk = kazakki
+language-name-kl = grönlanti
+language-name-km = khmer
+language-name-kn = kannada
+language-name-ko = korea
+language-name-kok = konkani
+language-name-kr = kanuri
+language-name-ks = kašmiri
+language-name-ku = kurdi
+language-name-kv = komi
+language-name-kw = korni
+language-name-ky = kirgiisi
+language-name-la = latina
+language-name-lb = luxemburg
+language-name-lg = ganda
+language-name-li = limburg
+language-name-lij = liguuri
+language-name-ln = lingala
+language-name-lo = lao
+language-name-lt = liettua
+language-name-ltg = latgalli
+language-name-lu = luba
+language-name-lv = latvia
+language-name-mai = maithili
+language-name-meh = lounaistlaxiaconmisteekki
+language-name-mg = malagassi
+language-name-mh = marshall
+language-name-mi = maori
+language-name-mix = mixtepecinmisteekki
+language-name-mk = makedonia
+language-name-ml = malajalam
+language-name-mn = mongoli
+language-name-mr = marathi
+language-name-ms = malaiji
+language-name-mt = malta
+language-name-my = burma
+language-name-na = nauru
+language-name-nb = norjan bokmål
+language-name-nd = pohjois-ndebele
+language-name-ne = nepali
+language-name-ng = ndonga
+language-name-nl = hollanti
+language-name-nn = norjan nynorsk
+language-name-no = norja
+language-name-nr = etelä-ndebele
+language-name-nso = pohjoissotho
+language-name-nv = navajo
+language-name-ny = njandža
+language-name-oc = oksitaani
+language-name-oj = odžibwa
+language-name-om = oromo
+language-name-or = orija
+language-name-os = osseetti
+language-name-pa = pandžabi
+language-name-pi = paali
+language-name-pl = puola
+language-name-ps = paštu
+language-name-pt = portugali
+language-name-qu = ketšua
+language-name-rm = retoromaani
+language-name-rn = rundi
+language-name-ro = romania
+language-name-ru = venäjä
+language-name-rw = ruanda
+language-name-sa = sanskrit
+language-name-sat = santali
+language-name-sc = sardi
+language-name-sco = skotti
+language-name-sd = sindhi
+language-name-se = pohjoissaame
+language-name-sg = sango
+language-name-si = sinhala
+language-name-sk = slovakki
+language-name-sl = sloveeni
+language-name-sm = samoa
+language-name-sn = šona
+language-name-so = somali
+language-name-son = songhai
+language-name-sq = albania
+language-name-sr = serbia
+language-name-ss = swazi
+language-name-st = eteläsotho
+language-name-su = sunda
+language-name-sv = ruotsi
+language-name-sw = swahili
+language-name-szl = sleesia
+language-name-ta = tamili
+language-name-te = telugu
+language-name-tg = tadžikki
+language-name-th = thai
+language-name-ti = tigrinja
+language-name-tig = tigre
+language-name-tk = turkmeeni
+language-name-tl = tagalog
+language-name-tlh = klingon
+language-name-tn = tswana
+language-name-to = tonga
+language-name-tr = turkki
+language-name-trs = triqui
+language-name-ts = tsonga
+language-name-tt = tataari
+language-name-tw = twi
+language-name-ty = tahiti
+language-name-ug = uiguuri
+language-name-uk = ukraina
+language-name-ur = urdu
+language-name-uz = uzbekki
+language-name-ve = venda
+language-name-vi = vietnam
+language-name-vo = volapük
+language-name-wa = valloni
+language-name-wen = sorbi
+language-name-wo = wolof
+language-name-xh = xhosa
+language-name-yi = jiddiš
+language-name-yo = joruba
+language-name-za = zhuang
+language-name-zam = miahuatlánzapoteekki
+language-name-zh = kiina
+language-name-zu = zulu
diff --git a/l10n-fi/toolkit/toolkit/intl/regionNames.ftl b/l10n-fi/toolkit/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..ca65237677
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/intl/regionNames.ftl
@@ -0,0 +1,280 @@
+# 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/.
+
+
+### Notice: If you're updating this list, you should also
+### update the list in mozIntl.js.
+
+region-name-ad = Andorra
+region-name-ae = Arabiemiirikunnat
+region-name-af = Afganistan
+region-name-ag = Antigua ja Barbuda
+region-name-ai = Anguilla
+region-name-al = Albania
+region-name-am = Armenia
+region-name-ao = Angola
+region-name-aq = Antarktis
+region-name-ar = Argentiina
+region-name-as = Amerikan Samoa
+region-name-at = Itävalta
+region-name-au = Australia
+region-name-aw = Aruba
+region-name-az = Azerbaidžan
+region-name-ba = Bosnia ja Hertsegovina
+region-name-bb = Barbados
+region-name-bd = Bangladesh
+region-name-be = Belgia
+region-name-bf = Burkina Faso
+region-name-bg = Bulgaria
+region-name-bh = Bahrain
+region-name-bi = Burundi
+region-name-bj = Benin
+region-name-bl = Saint-Barthélemy
+region-name-bm = Bermuda
+region-name-bn = Brunei
+region-name-bo = Bolivia
+region-name-bq-2018 = Alankomaiden Karibia
+region-name-br = Brasilia
+region-name-bs = Bahama
+region-name-bt = Bhutan
+region-name-bv = Bouvet'nsaari
+region-name-bw = Botswana
+region-name-by = Valko-Venäjä
+region-name-bz = Belize
+region-name-ca = Kanada
+region-name-cc = Kookossaaret
+region-name-cd = Kongon demokraattinen tasavalta
+region-name-cf = Keski-Afrikan tasavalta
+region-name-cg = Kongon tasavalta
+region-name-ch = Sveitsi
+region-name-ci = Norsunluurannikko
+region-name-ck = Cookinsaaret
+region-name-cl = Chile
+region-name-cm = Kamerun
+region-name-cn = Kiina
+region-name-co = Kolumbia
+region-name-cp = Clippertoninsaari
+region-name-cr = Costa Rica
+region-name-cu = Kuuba
+region-name-cv-2020 = Kap Verde
+region-name-cw = Curaçao
+region-name-cx = Joulusaari
+region-name-cy = Kypros
+region-name-cz-2019 = Tšekin tasavalta
+region-name-de = Saksa
+region-name-dg = Diego Garcia
+region-name-dj = Djibouti
+region-name-dk = Tanska
+region-name-dm = Dominica
+region-name-do = Dominikaaninen tasavalta
+region-name-dz = Algeria
+region-name-ec = Ecuador
+region-name-ee = Viro
+region-name-eg = Egypti
+region-name-eh = Länsi-Sahara
+region-name-er = Eritrea
+region-name-es = Espanja
+region-name-et = Etiopia
+region-name-fi = Suomi
+region-name-fj = Fidži
+region-name-fk = Falklandinsaaret (Malvinassaaret)
+region-name-fm = Mikronesia
+region-name-fo = Färsaaret
+region-name-fr = Ranska
+region-name-ga = Gabon
+region-name-gb = Yhdistynyt kuningaskunta
+region-name-gd = Grenada
+region-name-ge = Georgia
+region-name-gf = Ranskan Guayana
+region-name-gg = Guernsey
+region-name-gh = Ghana
+region-name-gi = Gibraltar
+region-name-gl = Grönlanti
+region-name-gm = Gambia
+region-name-gn = Guinea
+region-name-gp = Guadeloupe
+region-name-gq = Päiväntasaajan Guinea
+region-name-gr = Kreikka
+region-name-gs = Etelä-Georgia ja Eteläiset Sandwichsaaret
+region-name-gt = Guatemala
+region-name-gu = Guam
+region-name-gw = Guinea-Bissau
+region-name-gy = Guyana
+region-name-hk = Hongkong
+region-name-hm = Heard ja McDonaldinsaaret
+region-name-hn = Honduras
+region-name-hr = Kroatia
+region-name-ht = Haiti
+region-name-hu = Unkari
+region-name-id = Indonesia
+region-name-ie = Irlanti
+region-name-il = Israel
+region-name-im = Mansaari
+region-name-in = Intia
+region-name-io = Brittiläinen Intian valtameren alue
+region-name-iq = Irak
+region-name-ir = Iran
+region-name-is = Islanti
+region-name-it = Italia
+region-name-je = Jersey
+region-name-jm = Jamaika
+region-name-jo = Jordania
+region-name-jp = Japani
+region-name-ke = Kenia
+region-name-kg = Kirgisia
+region-name-kh = Kambodža
+region-name-ki = Kiribati
+region-name-km = Komorit
+region-name-kn = Saint Kitts ja Nevis
+region-name-kp = Pohjois-Korea
+region-name-kr = Etelä-Korea
+region-name-kw = Kuwait
+region-name-ky = Caymansaaret
+region-name-kz = Kazakstan
+region-name-la = Laos
+region-name-lb = Libanon
+region-name-lc = Saint Lucia
+region-name-li = Liechtenstein
+region-name-lk = Sri Lanka
+region-name-lr = Liberia
+region-name-ls = Lesotho
+region-name-lt = Liettua
+region-name-lu = Luxemburg
+region-name-lv = Latvia
+region-name-ly = Libya
+region-name-ma = Marokko
+region-name-mc = Monaco
+region-name-md = Moldovan tasavalta
+region-name-me = Montenegro
+region-name-mf = Saint-Martin
+region-name-mg = Madagaskar
+region-name-mh = Marshallinsaaret
+region-name-mk-2019 = Pohjois-Makedonia
+region-name-ml = Mali
+region-name-mm = Myanmar
+region-name-mn = Mongolia
+region-name-mo = Macao
+region-name-mp = Pohjois-Mariaanit
+region-name-mq = Martinique
+region-name-mr = Mauritania
+region-name-ms = Montserrat
+region-name-mt = Malta
+region-name-mu = Mauritius
+region-name-mv = Malediivit
+region-name-mw = Malawi
+region-name-mx = Meksiko
+region-name-my = Malesia
+region-name-mz = Mosambik
+region-name-na = Namibia
+region-name-nc = Uusi-Kaledonia
+region-name-ne = Niger
+region-name-nf = Norfolkinsaari
+region-name-ng = Nigeria
+region-name-ni = Nicaragua
+region-name-nl = Alankomaat
+region-name-no = Norja
+region-name-np = Nepal
+region-name-nr = Nauru
+region-name-nu = Niue
+region-name-nz = Uusi-Seelanti
+region-name-om = Oman
+region-name-pa = Panama
+region-name-pe = Peru
+region-name-pf = Ranskan Polynesia
+region-name-pg = Papua-Uusi-Guinea
+region-name-ph = Filippiinit
+region-name-pk = Pakistan
+region-name-pl = Puola
+region-name-pm = Saint-Pierre ja Miquelon
+region-name-pn = Pitcairn
+region-name-pr = Puerto Rico
+region-name-pt = Portugali
+region-name-pw = Palau
+region-name-py = Paraguay
+region-name-qa = Qatar
+region-name-qm = Midwaysaaret
+region-name-qs = Bassas da India
+region-name-qu = Juan de Nova
+region-name-qw = Wake
+region-name-qx = Gloriososaaret
+region-name-qz = Akrotiri
+region-name-re = Réunion
+region-name-ro = Romania
+region-name-rs = Serbia
+region-name-ru = Venäjä
+region-name-rw = Ruanda
+region-name-sa = Saudi-Arabia
+region-name-sb = Salomonsaaret
+region-name-sc = Seychellit
+region-name-sd = Sudan
+region-name-se = Ruotsi
+region-name-sg = Singapore
+region-name-sh = Saint Helena
+region-name-si = Slovenia
+region-name-sk = Slovakia
+region-name-sl = Sierra Leone
+region-name-sm = San Marino
+region-name-sn = Senegal
+region-name-so = Somalia
+region-name-sr = Suriname
+region-name-ss = Etelä-Sudan
+region-name-st = São Tomé ja Príncipe
+region-name-sv = El Salvador
+region-name-sx = Sint Maarten
+region-name-sy = Syyria
+region-name-sz-2019 = Eswatini
+region-name-tc = Turks- ja Caicossaaret
+region-name-td = Tšad
+region-name-tf = Ranskan eteläiset alueet
+region-name-tg = Togo
+region-name-th = Thaimaa
+region-name-tj = Tadžikistan
+region-name-tk = Tokelau
+region-name-tl = Itä-Timor
+region-name-tm = Turkmenistan
+region-name-tn = Tunisia
+region-name-to = Tonga
+region-name-tr = Turkki
+region-name-tt = Trinidad ja Tobago
+region-name-tv = Tuvalu
+region-name-tw = Taiwan
+region-name-tz = Tansania
+region-name-ua = Ukraina
+region-name-ug = Uganda
+region-name-us = Yhdysvallat
+region-name-uy = Uruguay
+region-name-uz = Uzbekistan
+region-name-va = Vatikaani
+region-name-vc = Saint Vincent ja Grenadiinit
+region-name-ve = Venezuela
+region-name-vg = Brittiläiset Neitsytsaaret
+region-name-vi = Yhdysvaltain Neitsytsaaret
+region-name-vn = Vietnam
+region-name-vu = Vanuatu
+region-name-wf = Wallis ja Futuna
+region-name-ws = Samoa
+region-name-xa = Ashmore- ja Cartiersaaret
+region-name-xb = Baker
+region-name-xc = Korallimeren saarten territorio
+region-name-xd = Dhekelia
+region-name-xe = Europasaari
+region-name-xg = Gazan kaista
+region-name-xh = Howlandsaari
+region-name-xj = Jan Mayen
+region-name-xk = Kosovo
+region-name-xl = Palmyran atolli
+region-name-xm = Kingmanin riutta
+region-name-xp = Paracelsaaret
+region-name-xq = Jarvis-saari
+region-name-xr = Huippuvuoret
+region-name-xs = Spratlysaaret
+region-name-xt = Tromelinsaari
+region-name-xu = Johnstonin atolli
+region-name-xv = Navassasaari
+region-name-xw = Länsiranta
+region-name-ye = Jemen
+region-name-yt = Mayotte
+region-name-za = Etelä-Afrikka
+region-name-zm = Sambia
+region-name-zw = Zimbabwe
diff --git a/l10n-fi/toolkit/toolkit/main-window/autocomplete.ftl b/l10n-fi/toolkit/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..88a7d78436
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/main-window/autocomplete.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Import Logins Autocomplete
+
+## Variables:
+## $host (String) - Host name of the current site.
+
+autocomplete-import-logins-chrome =
+ <div data-l10n-name="line1">Tuo kirjautumistietosi Google Chromesta</div>
+ <div data-l10n-name="line2">sivustoa { $host } ja muita sivustoja varten</div>
+autocomplete-import-logins-chromium =
+ <div data-l10n-name="line1">Tuo kirjautumistietosi Chromiumista</div>
+ <div data-l10n-name="line2">sivustoa { $host } ja muita sivustoja varten</div>
+autocomplete-import-logins-chromium-edge =
+ <div data-l10n-name="line1">Tuo kirjautumistietosi Microsoft Edgestä</div>
+ <div data-l10n-name="line2">sivustoa { $host } ja muita sivustoja varten</div>
+
+##
+
+autocomplete-import-learn-more = Lue lisää
diff --git a/l10n-fi/toolkit/toolkit/main-window/findbar.ftl b/l10n-fi/toolkit/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..34aa09f5ec
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/main-window/findbar.ftl
@@ -0,0 +1,76 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### This file contains the entities needed to use the Find Bar.
+
+findbar-next =
+ .tooltiptext = Etsi seuraava osuma
+findbar-previous =
+ .tooltiptext = Etsi edellinen osuma
+
+findbar-find-button-close =
+ .tooltiptext = Sulje etsintäpalkki
+
+findbar-highlight-all2 =
+ .label = Korosta kaikki
+ .accesskey =
+ { PLATFORM() ->
+ [macos] K
+ *[other] K
+ }
+ .tooltiptext = Korosta tekstin kaikki esiintymät
+
+findbar-case-sensitive =
+ .label = Huomioi kirjainkoko
+ .accesskey = H
+ .tooltiptext = Etsi osumia huomioiden kirjainkoko
+
+findbar-match-diacritics =
+ .label = Erota tarkkeet
+ .accesskey = t
+ .tooltiptext = Erota ääkköset ja muut tarkkeelliset kirjaimet sekä niiden perusmerkit toisistaan (esimerkiksi etsittäessä ”sää” ei löydetä myös sanaa ”saa” ja etsittäessä ”resume” ei löydetä myös sanaa ”résumé”)
+
+findbar-entire-word =
+ .label = Kokonaiset sanat
+ .accesskey = s
+ .tooltiptext = Etsi vain kokonaisia sanoja
+
+findbar-not-found = Ei osumia
+
+findbar-wrapped-to-top = Päästiin sivun loppuun, jatketaan alusta
+findbar-wrapped-to-bottom = Päästiin sivun alkuun, jatketaan lopusta
+
+findbar-normal-find =
+ .placeholder = Etsi sivulta
+findbar-fast-find =
+ .placeholder = Pikahaku
+findbar-fast-find-links =
+ .placeholder = Pikahaku (vain linkit)
+
+findbar-case-sensitive-status =
+ .value = (Kirjainkoko huomioidaan)
+findbar-match-diacritics-status =
+ .value = (Erotetaan tarkkeet)
+findbar-entire-word-status =
+ .value = (Vain kokonaiset sanat)
+
+# Variables:
+# $current (Number): Index of the currently selected match
+# $total (Number): Total count of matches
+findbar-found-matches =
+ .value =
+ { $total ->
+ [one] { $current } / { $total } osuma
+ *[other] { $current } / { $total } osumaa
+ }
+
+# Variables:
+# $limit (Number): Total count of matches allowed before counting stops
+findbar-found-matches-count-limit =
+ .value =
+ { $limit ->
+ [one] Yli { $limit } osuma
+ *[other] Yli { $limit } osumaa
+ }
diff --git a/l10n-fi/toolkit/toolkit/neterror/certError.ftl b/l10n-fi/toolkit/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..5686e27c4c
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/neterror/certError.ftl
@@ -0,0 +1,141 @@
+# 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/.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-intro = Sivuston { $hostname } tietoturvavarmenne ei ole kelvollinen.
+
+cert-error-mitm-intro = Sivustot todistavat identiteettinsä varmenteella, ja varmenteen myöntää varmentaja.
+
+cert-error-mitm-mozilla = { -brand-short-name }in tukena on voittoa tavoittelematon Mozilla, joka hallinnoi täysin avointa varmentajien (CA) säilöä. Varmentajasäilö auttaa varmistamaan, että varmentajat noudattavat käyttäjien tietoturvaan liittyviä hyviä käytäntöjä.
+
+cert-error-mitm-connection = { -brand-short-name } käyttää Mozillan varmentajasäilöä varmentamaan yhteyden turvallisuuden, käyttöjärjestelmään asennettujen varmenteiden sijasta. Siispä jos virustorjuntaohjelma tai verkko kaappaa yhteyden käyttäen varmennetta, jonka varmentaja ei ole Mozillan varmentajasäilössä, yhteyttä pidetään epäturvallisena.
+
+cert-error-trust-unknown-issuer-intro = Joku saattaa yrittää tekeytyä täksi sivustoksi eikä sivustolle siirtymistä siksi tulisi jatkaa.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = Sivustot todistavat identiteettinsä varmenteella. { -brand-short-name } ei luota palvelimeen { $hostname }, koska sen varmenteen myöntäjä on tuntematon, varmenne on allekirjoitettu itsellään tai palvelin ei lähetä oikeita välivarmenteita.
+
+cert-error-trust-cert-invalid = Varmenteeseen ei luoteta, koska sen varmentajan varmenne ei ole kelvollinen.
+
+cert-error-trust-untrusted-issuer = Varmenteeseen ei luoteta, koska sen myöntäjän varmenteeseen ei luoteta.
+
+cert-error-trust-signature-algorithm-disabled = Varmenteeseen ei luoteta, koska se on allekirjoitettu allekirjoitusalgoritmilla, joka ei ole turvallinen.
+
+cert-error-trust-expired-issuer = Varmenteeseen ei luoteta, koska sen myöntäjän varmenne on vanhentunut.
+
+cert-error-trust-self-signed = Varmenteeseen ei luoteta, koska se on allekirjoitettu itsellään.
+
+cert-error-trust-symantec = Varmenteisiin, joiden myöntäjänä on GeoTrust, RapidSSL, Symantec, Thawte tai VeriSign, ei enää luoteta, koska nämä varmenteiden myöntäjät eivät noudattaneet tietoturvakäytäntöjä.
+
+cert-error-untrusted-default = Varmenteen lähde ei ole luotettu.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-domain-mismatch = Sivustot todistavat identiteettinsä varmenteella. { -brand-short-name } ei luota tähän sivustoon, koska sen käyttämä varmenne ei ole kelvollinen palvelimelle { $hostname }.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $alt-name (string) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single = Sivustot todistavat identiteettinsä varmenteella. { -brand-short-name } ei luota tähän sivustoon, koska sen käyttämä varmenne ei ole kelvollinen palvelimelle { $hostname }. Varmenne on kelvollinen vain kohteelle <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a>.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $alt-name (string) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single-nolink = Sivustot todistavat identiteettinsä varmenteella. { -brand-short-name } ei luota tähän sivustoon, koska sen käyttämä varmenne ei ole kelvollinen palvelimelle { $hostname }. Varmenne on kelvollinen vain kohteelle { $alt-name }.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $subject-alt-names (string) - Alternate domain names for which the cert is valid.
+cert-error-domain-mismatch-multiple = Sivustot todistavat identiteettinsä varmenteella. { -brand-short-name } ei luota tähän sivustoon, koska sen käyttämä varmenne ei ole kelvollinen palvelimelle { $hostname }. Varmenne on kelvollinen vain palvelimille: { $subject-alt-names }
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $not-after-local-time (Date) - Certificate is not valid after this time.
+cert-error-expired-now = Sivustot todistavat identiteettinsä varmenteella, joka on voimassa määräajan. Varmenne sivustolle { $hostname } vanheni { $not-after-local-time }.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $not-before-local-time (Date) - Certificate is not valid before this time.
+cert-error-not-yet-valid-now = Sivustot todistavat identiteettinsä varmenteella, joka on voimassa määräajan. Varmenne sivustolle { $hostname } on voimassa vasta { $not-before-local-time }.
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix = Virhekoodi: { $error }
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix-link = Virhekoodi: <a data-l10n-name="error-code-link">{ $error }</a>
+
+# Variables:
+# $hostname (string) - Hostname of the website with SSL error.
+# $errorMessage (string) - Error message corresponding to the type of error we are experiencing.
+cert-error-ssl-connection-error = Tapahtui virhe oltaessa yhteydessä osoitteeseen { $hostname }. { $errorMessage }
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = Sivustot todistavat identiteettinsä varmenteella, jonka myöntää varmentaja. Useimmat selaimet eivät enää luota varmenteisiin, joiden varmentaja on GeoTrust, RapidSSL, Symantec, Thawte tai VeriSign. { $hostname } käyttää varmennetta, jonka on myöntänyt jokin ennalta mainituista varmentajista. Sivuston identiteettiä ei siksi voida todistaa.
+
+cert-error-symantec-distrust-admin = Voit ilmoittaa tästä ongelmasta sivuston ylläpitäjälle.
+
+cert-error-old-tls-version = Tämä sivusto ei välttämättä tue TLS 1.2 -protokollaa, joka on pienin { -brand-short-name }in tukema versio protokollasta.
+
+# Variables:
+# $hasHSTS (Boolean) - Indicates whether HSTS header is present.
+cert-error-details-hsts-label = HTTP Strict Transport Security: { $hasHSTS }
+
+# Variables:
+# $hasHPKP (Boolean) - Indicates whether HPKP header is present.
+cert-error-details-key-pinning-label = HTTP Public Key Pinning: { $hasHPKP }
+
+cert-error-details-cert-chain-label = Certificate chain:
+
+open-in-new-window-for-csp-or-xfo-error = Avaa sivusto uuteen ikkunaan
+
+# Variables:
+# $hostname (string) - Hostname of the website blocked by csp or xfo error.
+csp-xfo-blocked-long-desc = Turvallisuutesi suojaamiseksi { $hostname } ei salli, että { -brand-short-name } näyttää sivun, jos se on upotettu toiselle sivulle. Jotta voit nähdä tämän sivun, sinun tulee avata se uudessa ikkunassa.
+
+## Messages used for certificate error titles
+
+connectionFailure-title = Yhdistäminen epäonnistui
+deniedPortAccess-title = Osoitteen käyttö on rajoitettu
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+dnsNotFound-title = Hmm. Sivua ei löydy.
+
+dns-not-found-trr-only-title2 = Mahdollinen tietoturvariski tätä verkkotunnusta etsittäessä
+dns-not-found-native-fallback-title2 = Mahdollinen tietoturvariski tätä verkkotunnusta etsittäessä
+
+fileNotFound-title = Tiedostoa ei löytynyt
+fileAccessDenied-title = Tiedoston käyttö estettiin
+generic-title = Verkkopyyntöä ei kyetä toteuttamaan
+captivePortal-title = Kirjaudu verkkoon
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+malformedURI-title = Hmm. Tuo osoite ei näytä oikealta.
+netInterrupt-title = Tiedonsiirto keskeytyi
+notCached-title = Dokumentti on vanhentunut
+netOffline-title = Yhteydettömässä tilassa
+contentEncodingError-title = Sisällön koodausvirhe
+unsafeContentType-title = Vaarallinen tiedostotyyppi
+netReset-title = Yhteys keskeytyi
+netTimeout-title = Yhteyden aikakatkaisu
+unknownProtocolFound-title = Osoitetta ei ymmärretty
+proxyConnectFailure-title = Välityspalvelin kieltäytyy yhteydestä
+proxyResolveFailure-title = Välityspalvelinta ei löytynyt
+redirectLoop-title = Sivusto ei uudelleenohjaudu asianmukaisesti
+unknownSocketType-title = Odottamaton vastaus palvelimelta
+nssFailure2-title = Suojatun yhteyden muodostaminen epäonnistui
+csp-xfo-error-title = { -brand-short-name } ei voi avata tätä sivua
+corruptedContentError-title = Sisältö vioittunut -virhe
+sslv3Used-title = Ei voitu muodostaa suojattua yhteyttä
+inadequateSecurityError-title = Yhteys ei ole suojattu
+blockedByPolicy-title = Estetty sivu
+clockSkewError-title = Tietokoneen kello on väärässä ajassa
+networkProtocolError-title = Verkkoyhteyskäytännön virhe
+nssBadCert-title = Varoitus: mahdollinen tietoturvariski
+nssBadCert-sts-title = Ei yhdistetty: mahdollinen turvallisuusongelma
+certerror-mitm-title = Ohjelmisto estää { -brand-short-name }ia yhdistämästä turvallisesti tähän sivustoon
diff --git a/l10n-fi/toolkit/toolkit/neterror/netError.ftl b/l10n-fi/toolkit/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..0e9047a291
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/neterror/netError.ftl
@@ -0,0 +1,147 @@
+# 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/.
+
+
+## Error page titles
+
+neterror-page-title = Sivun lataamisvirhe
+certerror-page-title = Varoitus: mahdollinen tietoturvariski
+certerror-sts-page-title = Ei yhdistetty: mahdollinen turvallisuusongelma
+neterror-blocked-by-policy-page-title = Estetty sivu
+neterror-captive-portal-page-title = Kirjaudu verkkoon
+neterror-dns-not-found-title = Palvelinta ei löytynyt
+neterror-malformed-uri-page-title = Virheellinen osoite
+
+## Error page actions
+
+neterror-advanced-button = Lisätietoja…
+neterror-copy-to-clipboard-button = Kopioi teksti leikepöydälle
+neterror-learn-more-link = Lue lisää…
+neterror-open-portal-login-page-button = Avaa verkon kirjautumissivu
+neterror-override-exception-button = Ota riski ja jatka
+neterror-pref-reset-button = Palauta oletusasetukset
+neterror-return-to-previous-page-button = Palaa
+neterror-return-to-previous-page-recommended-button = Palaa (suositellaan)
+neterror-try-again-button = Yritä uudestaan
+neterror-add-exception-button = Jatka aina tälle sivustolle
+neterror-settings-button = Muuta DNS-asetuksia
+neterror-view-certificate-link = Näytä varmenne
+neterror-trr-continue-this-time = Jatka tällä kertaa
+neterror-disable-native-feedback-warning = Jatka aina
+
+##
+
+neterror-pref-reset = Vaikuttaa siltä, että verkon turvallisuusasetukset aiheuttavat tämän. Haluatko palauttaa oletusasetukset?
+neterror-error-reporting-automatic = Auta { -vendor-short-name }a tunnistamaan ja estämään haitallisia sivustoja ilmoittamalla tällaisista virheistä
+
+## Specific error messages
+
+neterror-generic-error = { -brand-short-name } ei kykene lataamaan sivua jostain syystä.
+neterror-load-error-try-again = Sivusto voi olla väliaikaisesti saavuttamattomissa tai kovan rasituksen alaisena. Yritä hetken kuluttua uudestaan.
+neterror-load-error-connection = Jos mitkään sivustot eivät toimi, tarkista tietokoneen verkkoasetukset.
+neterror-load-error-firewall = Jos tietokone tai verkko on suojattu palomuurilla tai välityspalvelin on käytössä, tarkista että { -brand-short-name }in verkkoyhteyttä ei estetä.
+neterror-captive-portal = Tähän verkkoon täytyy kirjautua ennen internetin käyttämistä.
+# Variables:
+# $hostAndPath (String) - a suggested site (e.g. "www.example.com") that the user may have meant instead.
+neterror-dns-not-found-with-suggestion = Oliko tarkoituksesi vierailla <a data-l10n-name="website">{ $hostAndPath }</a>?
+neterror-dns-not-found-hint-header = <strong>Jos kirjoitit osoitteen oikein, voit:</strong>
+neterror-dns-not-found-hint-try-again = Yrittää myöhemmin uudelleen
+neterror-dns-not-found-hint-check-network = Tarkistaa verkkoyhteytesi
+neterror-dns-not-found-hint-firewall = Tarkistaa, että { -brand-short-name }illa on lupa asioida verkkoon (saatat olla yhteydessä, mutta palomuurin takana)
+
+## TRR-only specific messages
+## Variables:
+## $hostname (String) - Hostname of the website to which the user was trying to connect.
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+neterror-dns-not-found-trr-only-reason = { -brand-short-name } ei voi suojata tämän sivuston osoitepyyntöäsi luotettavan DNS-selvittäjän kautta. Tässä syy:
+neterror-dns-not-found-trr-third-party-warning2 = Voit jatkaa oletusarvoisella DNS-selvittimellä. Kolmas osapuoli saattaa kuitenkin nähdä, millä verkkosivustoilla vierailet.
+neterror-dns-not-found-trr-only-could-not-connect = { -brand-short-name } ei voinut muodostaa yhteyttä verkkotunnukseen { $trrDomain }.
+neterror-dns-not-found-trr-only-timeout = Yhteys verkkotunnukseen { $trrDomain } kesti odotettua kauemmin.
+neterror-dns-not-found-trr-offline = Et ole yhteydessä Internetiin.
+neterror-dns-not-found-trr-unknown-host2 = { $trrDomain } ei löytänyt tätä verkkosivustoa.
+neterror-dns-not-found-trr-server-problem = Verkkotunnuksen { $trrDomain } kanssa ilmeni ongelma.
+neterror-dns-not-found-bad-trr-url = Virheellinen osoite.
+neterror-dns-not-found-trr-unknown-problem = Odottamaton ongelma.
+
+## Native fallback specific messages
+## Variables:
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+neterror-dns-not-found-native-fallback-reason = { -brand-short-name } ei voi suojata pyyntöäsi tämän sivuston osoitteelle luotettavan DNS-selvittimen kautta. Tässä syy:
+neterror-dns-not-found-native-fallback-heuristic = DNS HTTPS:n välityksellä on poistettu käytöstä verkossasi.
+neterror-dns-not-found-native-fallback-not-confirmed2 = { -brand-short-name } ei voinut muodostaa yhteyttä verkkotunnukseen { $trrDomain }.
+
+##
+
+neterror-file-not-found-filename = Tarkista, että tiedostonimi on kirjoitettu virheettömästi ja oikealla kirjainkoolla.
+neterror-file-not-found-moved = Tarkista, ettei tiedostoa ole poistettu, siirretty tai nimetty uudelleen.
+neterror-access-denied = Tiedosto on voitu poistaa tai siirtää, tai ehkä siihen ei ole käyttöoikeutta.
+neterror-unknown-protocol = Osoitteen avaaminen voi vaatia uuden ohjelman asentamista.
+neterror-redirect-loop = Tämä virhe johtuu joskus siitä, että evästeiden asettamista ei ole sallittu tai että se on erityisesti estetty tältä sivustolta.
+neterror-unknown-socket-type-psm-installed = Tarkista, että tietokoneelle on asennettu Mozillan Personal Security Manager.
+neterror-unknown-socket-type-server-config = Virhe voi johtua palvelimen epästandardeista asetuksista.
+neterror-not-cached-intro = Pyydettyä dokumenttia ei ole tallennettu { -brand-short-name }in väliaikaistiedostoihin.
+neterror-not-cached-sensitive = Turvallisuusvarotoimena { -brand-short-name } ei automaattisesti lataa uudelleen luottamuksellisia dokumentteja.
+neterror-not-cached-try-again = Napsauta alta Yritä uudestaan ladataksesi dokumentin sivustolta uudestaan.
+neterror-net-offline = Siirry yhteystilaan ja lataa sivu uudestaan valitsemalla “Yritä uudelleen".
+neterror-proxy-resolve-failure-settings = Tarkista, että välityspalvelinasetukset ovat oikein.
+neterror-proxy-resolve-failure-connection = Varmista, että tietokoneesi verkkoyhteys on toimintakunnossa.
+neterror-proxy-resolve-failure-firewall = Jos tietokone tai verkko on suojattu palomuurilla tai välityspalvelin on käytössä, tarkista että { -brand-short-name }in verkkoyhteyttä ei estetä.
+neterror-proxy-connect-failure-settings = Tarkista, että välityspalvelinasetukset ovat oikein.
+neterror-proxy-connect-failure-contact-admin = Varmista verkon ylläpidolta, että välityspalvelin on toimintakunnossa.
+neterror-content-encoding-error = Ilmoita sivuston omistajalle tästä ongelmasta.
+neterror-unsafe-content-type = Ilmoita sivuston omistajalle tästä ongelmasta.
+neterror-nss-failure-not-verified = Avattavaa sivua ei voida näyttää, koska vastaanotetun datan alkuperää ei kyetty varmentamaan.
+neterror-nss-failure-contact-website = Ilmoitathan ongelmasta sivuston omistajalle.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-intro = { -brand-short-name } havaitsi mahdollisen turvallisuusuhan, eikä jatkanut sivustolle <b>{ $hostname }</b>. Jos käyt tällä sivustolla, henkilökohtaisia tietojasi kuten salasanoja, sähköpostiviestejä tai luottokorttitietoja saatetaan yrittää varastaa.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-sts-intro = { -brand-short-name } havaitsi mahdollisen turvallisuusuhan, eikä jatkanut sivustolle <b>{ $hostname }</b>, koska tämä sivusto vaatii salatun yhteyden.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-expired-cert-intro = { -brand-short-name } havaitsi ongelman, eikä jatkanut sivustolle <b>{ $hostname }</b>. Sivuston asetukset on määritetty väärin tai tietokoneesi kello on asetettu väärään aikaan.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm = <b>{ $hostname }</b> on mitä luultavimmin turvallinen sivusto, mutta salattua yhteyttä ei voitu muodostaa. Tämän ongelman aiheuttaa <b>{ $mitm }</b>, mikä on ohjelmisto tietokoneellasi tai verkossasi.
+neterror-corrupted-content-intro = Avattavaa sivua ei voida näyttää, koska tiedonsiirrossa tapahtui virhe.
+neterror-corrupted-content-contact-website = Ilmoitathan ongelmasta sivuston omistajalle.
+# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION".
+neterror-sslv3-used = Lisätiedot: SSL_ERROR_UNSUPPORTED_VERSION
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+neterror-inadequate-security-intro = <b>{ $hostname }</b> käyttää suojaustekniikkaa, joka on vanhentunut ja haavoittuvainen hyökkäyksille. Hyökkääjä voisi helposti lukea tietoja, joiden luulit olevan suojattuja. Sivuston ylläpitäjän täytyy korjata tämä ongelma ennen kuin voit käydä sivustolla.
+# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY".
+neterror-inadequate-security-code = Virhekoodi: NS_ERROR_NET_INADEQUATE_SECURITY
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+neterror-clock-skew-error = Tietokoneesi mukaan nyt on { DATETIME($now, dateStyle: "medium") }, minkä takia { -brand-short-name } ei voi muodostaa suojattua yhteyttä. Jotta voit siirtyä sivustolle <b>{ $hostname }</b>, avaa järjestelmäasetukset ja päivitä sieltä tietokoneen kello nykyiseen päivään, aikaan ja aikavyöhykkeeseen. Lopuksi lataa <b>{ $hostname }</b> uudestaan.
+neterror-network-protocol-error-intro = Avattavaa sivua ei voida näyttää, koska verkkoyhteyskäytännössä havaittiin virhe.
+neterror-network-protocol-error-contact-website = Ilmoitathan ongelmasta sivuston omistajalle.
+certerror-expired-cert-second-para = On todennäköistä, että verkkosivuston varmenne on vanhentunut, mikä estää { -brand-short-name }ia muodostamasta suojattua yhteyttä. Jos vierailet tällä sivustolla, hyökkääjät voivat yrittää varastaa esimerkiksi salasanoja, sähköposteja tai luottokorttitietoja.
+certerror-expired-cert-sts-second-para = On todennäköistä, että verkkosivuston varmenne on vanhentunut, mikä estää { -brand-short-name }ia muodostamasta suojattua yhteyttä.
+certerror-what-can-you-do-about-it-title = Mitä voit tehdä?
+certerror-unknown-issuer-what-can-you-do-about-it-website = Ongelma johtuu todennäköisesti sivustosta, etkä voi korjata sitä itse.
+certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = Jos olet yritysverkossa tai käytät virustorjuntaohjelmaa, voit ottaa yhteyttä tukeen. Voit myös ilmoittaa ongelmasta sivuston ylläpitäjälle.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+certerror-expired-cert-what-can-you-do-about-it-clock = Tietokoneesi mukaan nyt on { DATETIME($now, dateStyle: "medium") }. Tarkista asetuksista, että tietokoneesi päivämäärä, kellonaika ja aikavyöhyke ovat oikeat, ja lataa sitten <b>{ $hostname }</b> uudestaan.
+certerror-expired-cert-what-can-you-do-about-it-contact-website = Jos kello on jo oikeassa ajassa, vika on luultavasti sivustossa etkä voi korjata ongelmaa itse. Voit ilmoittaa ongelmasta sivuston ylläpitäjälle.
+certerror-bad-cert-domain-what-can-you-do-about-it = Ongelma johtuu todennäköisesti sivustosta, etkä voi korjata sitä itse. Voit ilmoittaa ongelmasta sivuston ylläpitäjälle.
+certerror-mitm-what-can-you-do-about-it-antivirus = Jos käyttämäsi virustorjuntaohjelma skannaa salattuja yhteyksiä (kutsutaan usein ”verkon skannaukseksi”, ”web-skannaukseksi” tai ”HTTPS-skannaukseksi”), voit poistaa kyseisen ominaisuuden käytöstä. Jos se ei auta, voit poistaa virustorjunnan ja asentaa sen uudestaan.
+certerror-mitm-what-can-you-do-about-it-corporate = Jos käytät työnantajasi verkkoyhteyttä, voit olla yhteydessä IT-tukeen.
+# Variables:
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm-what-can-you-do-about-it-attack = Jos et tunne <b>{ $mitm }</b>-ohjelmaa, kyseessä voi olla huijaus eikä sivustolle tulisi jatkaa.
+# Variables:
+# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”)
+certerror-mitm-what-can-you-do-about-it-attack-sts = Jos et tunne <b>{ $mitm }</b>-ohjelmaa, kyseessä voi olla hyökkäys etkä voi tehdä mitään.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-what-should-i-do-bad-sts-cert-explanation = Sivusto <b>{ $hostname }</b> noudattaa tietoturvakäytäntöä nimeltään HTTP Strict Transport Security (HSTS), mikä tarkoittaa, että { -brand-short-name } voi muodostaa siihen vain suojatun yhteyden. Tälle sivustolle siirtymistä varten ei voi lisätä poikkeusta.
diff --git a/l10n-fi/toolkit/toolkit/neterror/nsserrors.ftl b/l10n-fi/toolkit/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..c1b34eeef4
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/neterror/nsserrors.ftl
@@ -0,0 +1,349 @@
+# 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/.
+
+# DO NOT ADD THINGS OTHER THAN ERROR MESSAGES HERE.
+# This file gets parsed into a JS dictionary of all known error message ids in
+# gen_aboutneterror_codes.py . If we end up needing fluent attributes or
+# refactoring them in some way, the script will need updating.
+
+psmerr-ssl-disabled = Suojatun yhteyden muodostaminen ei onnistu, koska SSL-yhteiskäytäntö on otettu pois käytöstä.
+psmerr-ssl2-disabled = Suojatun yhteyden muodostaminen ei onnistu, koska sivusto käyttää vanhempaa, heikkoa versiota SSL-yhteiskäytännöstä.
+
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ Vastaanotettiin epäkäypä varmenne. Ota yhteys palvelimen ylläpitoon ja välitä heille seuraava virheilmoitus:
+
+ Your certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number.
+
+ssl-error-export-only-server = Ei voida kommunikoida suojatusti. Toinen osapuoli ei tue korkeatasoista salausta.
+ssl-error-us-only-server = Ei voida kommunikoida suojatusti. Toinen osapuoli vaatii korkeatasoista salaustyyppiä, jota ei tueta.
+ssl-error-no-cypher-overlap = Ei voida kommunikoida suojatusti: ei yhteisiä salausalgoritmeja toisen osapuolen kanssa.
+ssl-error-no-certificate = Todennukseen tarvittavaa varmennetta tai avainta ei löydetty.
+ssl-error-bad-certificate = Ei voida kommunikoida suojatusti: toisen osapuolen varmenne hylättiin.
+ssl-error-bad-client = Palvelin sai virheellistä dataa asiakkaalta.
+ssl-error-bad-server = Asiakas sai virheellistä dataa palvelimelta.
+ssl-error-unsupported-certificate-type = Varmennetyyppi, jota ei tueta.
+ssl-error-unsupported-version = Toinen osapuoli käyttää turvallisuuskäytännön versiota, jota ei tueta.
+ssl-error-wrong-certificate = Asiakkaan todennus epäonnistui: tietokannassa oleva yksityinen avain ei sovi varmennetietokannan julkiseen avaimeen.
+ssl-error-bad-cert-domain = Ei voida kommunikoida suojatusti: pyydetyn verkkoalueen nimi ei vastaa palvelimen varmennetta.
+ssl-error-post-warning = Tunnistamaton SSL-virhekoodi.
+ssl-error-ssl2-disabled = Toinen osapuoli tukee vain SSL versio 2:a, jonka käyttö on paikallisesti estetty.
+ssl-error-bad-mac-read = SSL vastaanotti paketin, jolla oli väärä viestin todennuskoodi (MAC).
+ssl-error-bad-mac-alert = SSL-yhteyden toinen osapuoli ilmoittaa väärästä viestin todennuskoodista (MAC).
+ssl-error-bad-cert-alert = SSL-yhteyden toinen osapuoli ei voi tarkistaa varmennettasi.
+ssl-error-revoked-cert-alert = SSL-yhteyden toinen osapuoli hylkäsi varmenteesi mitätöitynä.
+ssl-error-expired-cert-alert = SSL-yhteyden toinen osapuoli hylkäsi varmenteesi vanhentuneena.
+ssl-error-ssl-disabled = Ei voida muodostaa yhteyttä: SSL on otettu pois käytöstä.
+ssl-error-fortezza-pqg = Ei voida muodostaa yhteyttä: SSL-yhteyden toinen osapuoli kuuluu eri FORTEZZA-alueeseen.
+ssl-error-unknown-cipher-suite = Pyydettiin tuntematonta SSL-salaajaa.
+ssl-error-no-ciphers-supported = Yhtäkään salaajaa ei ole olemassa ja käytössä tässä ohjelmassa.
+ssl-error-bad-block-padding = SSL vastaanotti virheellisesti täytetyn paketin.
+ssl-error-rx-record-too-long = SSL vastaanotti suurimman sallitun pituuden ylittävän paketin.
+ssl-error-tx-record-too-long = SSL yritti lähettää pakettia, joka ylitti suurimman sallitun pituuden.
+ssl-error-rx-malformed-hello-request = SSL vastaanotti virheellisesti muotoillun Hello-kättelyviestin.
+ssl-error-rx-malformed-client-hello = SSL vastaanotti virheellisesti muotoillun Client Hello -kättelyviestin.
+ssl-error-rx-malformed-server-hello = SSL vastaanotti virheellisesti muotoillun Server Hello -kättelyviestin.
+ssl-error-rx-malformed-certificate = SSL vastaanotti virheellisesti muotoillun Certificate-kättelyviestin.
+ssl-error-rx-malformed-server-key-exch = SSL vastaanotti virheellisesti muotoillun Server Key Exchange -kättelyviestin.
+ssl-error-rx-malformed-cert-request = SSL vastaanotti virheellisesti muotoillun Certificate Request -kättelyviestin.
+ssl-error-rx-malformed-hello-done = SSL vastaanotti virheellisesti muotoillun Server Hello Done -kättelyviestin.
+ssl-error-rx-malformed-cert-verify = SSL vastaanotti virheellisesti muotoillun Certificate Verify -kättelyviestin.
+ssl-error-rx-malformed-client-key-exch = SSL vastaanotti virheellisesti muotoillun Client Key Exchange -kättelyviestin.
+ssl-error-rx-malformed-finished = SSL vastaanotti virheellisesti muotoillun Finished-kättelyviestin.
+ssl-error-rx-malformed-change-cipher = SSL vastaanotti virheellisesti muotoillun Change Cipher Spec -paketin.
+ssl-error-rx-malformed-alert = SSL vastaanotti virheellisesti muotoillun Alert-paketin.
+ssl-error-rx-malformed-handshake = SSL vastaanotti virheellisesti muotoillun Handshake-paketin.
+ssl-error-rx-malformed-application-data = SSL vastaanotti virheellisesti muotoillun Application Data -paketin.
+ssl-error-rx-unexpected-hello-request = SSL vastaanotti odottamattoman Hello Request -kättelyviestin.
+ssl-error-rx-unexpected-client-hello = SSL vastaanotti odottamattoman Client Hello -kättelyviestin.
+ssl-error-rx-unexpected-server-hello = SSL vastaanotti odottamattoman Server Hello -kättelyviestin.
+ssl-error-rx-unexpected-certificate = SSL vastaanotti odottamattoman Certificate-kättelyviestin.
+ssl-error-rx-unexpected-server-key-exch = SSL vastaanotti odottamattoman Server Key Exchange -kättelyviestin.
+ssl-error-rx-unexpected-cert-request = SSL vastaanotti odottamattoman Certificate Request -kättelyviestin.
+ssl-error-rx-unexpected-hello-done = SSL vastaanotti odottamattoman Server Hello Done -kättelyviestin.
+ssl-error-rx-unexpected-cert-verify = SSL vastaanotti odottamattoman Certificate Verify -kättelyviestin.
+ssl-error-rx-unexpected-client-key-exch = SSL vastaanotti odottamattoman Client Key Exchange -kättelyviestin.
+ssl-error-rx-unexpected-finished = SSL vastaanotti odottamattoman Finished-kättelyviestin.
+ssl-error-rx-unexpected-change-cipher = SSL vastaanotti odottamattoman Change Cipher Spec -paketin.
+ssl-error-rx-unexpected-alert = SSL vastaanotti odottamattoman Alert-paketin.
+ssl-error-rx-unexpected-handshake = SSL vastaanotti odottamattoman Handshake-paketin.
+ssl-error-rx-unexpected-application-data = SSL vastaanotti odottamattoman Application Data -paketin.
+ssl-error-rx-unknown-record-type = SSL vastaanotti paketin, jonka sisältötyyppi on tuntematon.
+ssl-error-rx-unknown-handshake = SSL vastaanotti kättelyviestin, jonka viestityyppi on tuntematon.
+ssl-error-rx-unknown-alert = SSL vastaanotti alert-paketin, jonka hälytyskuvausta ei tunnistettu.
+ssl-error-close-notify-alert = SSL-yhteyden toinen osapuoli päätti yhteyden.
+ssl-error-handshake-unexpected-alert = SSL-yhteyden toinen osapuoli ei odottanut vastaanottamaansa kättelyviestiä.
+ssl-error-decompression-failure-alert = SSL-yhteyden toinen osapuoli ei onnistunut purkamaan vastaanottamaansa SSL-pakettia.
+ssl-error-handshake-failure-alert = SSL-yhteyden toinen osapuoli ei onnistunut neuvottelemaan hyväksyttäviä turvallisuusparametrejä.
+ssl-error-illegal-parameter-alert = SSL-yhteyden toinen osapuoli hylkäsi kättelyviestin sen sisällön vuoksi.
+ssl-error-unsupported-cert-alert = SSL-yhteyden toinen osapuoli ei tue vastaanottamansa varmenteen tyyppisiä varmenteita.
+ssl-error-certificate-unknown-alert = SSL-yhteyden toisella osapuolella oli jokin määrittelemätön ongelma vastaanottamansa varmenteen kanssa.
+ssl-error-generate-random-failure = SSL:n satunnaislukugeneraattorissa tapahtui virhe.
+ssl-error-sign-hashes-failure = Varmenteesi kelpuuttamiseen tarvittavan datan digitaalinen allekirjoitus ei onnistunut.
+ssl-error-extract-public-key-failure = SSL ei kyennyt hakemaan toisen osapuolen julkista avainta sen varmenteesta.
+ssl-error-server-key-exchange-failure = Määrittelemätön virhe käsiteltäessä SSL:n Server Key Exchange -kättelyä.
+ssl-error-client-key-exchange-failure = Määrittelemätön virhe käsiteltäessä SSL:n Client Key Exchange -kättelyä.
+ssl-error-encryption-failure = Valitun salaajan datan salausalgoritmi kohtasi virheen.
+ssl-error-decryption-failure = Valitun salaajan datan salausalgoritmi kohtasi virheen.
+ssl-error-socket-write-failure = Yritys kirjoittaa salattua dataa edeltävään pistokkeeseen epäonnistui.
+ssl-error-md5-digest-failure = MD5 tiivistefunktio epäonnistui.
+ssl-error-sha-digest-failure = SHA-1 tiivistefunktio epäonnistui.
+ssl-error-mac-computation-failure = MAC:n laskenta epäonnistui.
+ssl-error-sym-key-context-failure = Symmetrisen avaimen kontekstin luonti epäonnistui.
+ssl-error-sym-key-unwrap-failure = Symmetrisen avaimen purku Client Key Exchange -viestistä epäonnistui.
+ssl-error-pub-key-size-limit-exceeded = SSL-palvelin yritti käyttää kotimaisen vahvuuden julkista avainta vientivahvuuden salaajan kanssa.
+ssl-error-iv-param-failure = PKCS11-koodi ei onnistunut muuttamaan IV:sta param:ksi.
+ssl-error-init-cipher-suite-failure = Valitun salaajan alustus epäonnistui.
+ssl-error-session-key-gen-failure = Asiakas ei onnistunut luomaan istuntoavaimia SSL-istunnolle.
+ssl-error-no-server-key-for-alg = Palvelimella ei ole avainta yritetylle avaimenvaihtoalgoritmille.
+ssl-error-token-insertion-removal = PKCS#11-poletti lisättiin tai poistettiin kesken toiminnon.
+ssl-error-token-slot-not-found = PKCS#11-polettia tarvittavan toiminnon tekemiseen ei löytynyt.
+ssl-error-no-compression-overlap = Ei voida kommunikoida suojatusti: ei yhteisiä pakkausalgoritmeja.
+ssl-error-handshake-not-completed = Ei voida aloittaa uutta SSL-kättelyä ennen kuin meneillään oleva kättely on suoritettu.
+ssl-error-bad-handshake-hash-value = Vastaanotettiin toiselta osapuolelta virheelliset kättelyjen tiivisteluvut.
+ssl-error-cert-kea-mismatch = Annettua varmennetta ei voida käyttää valitun avaimenvaihtoalgoritmin kanssa.
+ssl-error-no-trusted-ssl-client-ca = Yksikään varmentaja ei ole luotettu SSL-asiakkaan todentaja.
+ssl-error-session-not-found = Asiakkaan SSL-istunnon tunnusta ei löytynyt palvelimen istuntovälimuistista.
+ssl-error-decryption-failed-alert = Toinen osapuoli ei onnistunut purkamaan SSL-pakettia, jonka se vastaanotti.
+ssl-error-record-overflow-alert = Toinen osapuoli vastaanotti SSL-paketin, joka oli sallittua pidempi.
+ssl-error-unknown-ca-alert = Toinen osapuoli ei tunnista ja luota varmenteesi varmentajaan.
+ssl-error-access-denied-alert = Toinen osapuoli vastaanotti kelvollisen varmenteen, mutta pääsy estettiin.
+ssl-error-decode-error-alert = Toinen osapuoli ei pystynyt purkamaan SSL-kättelyviestiä.
+ssl-error-decrypt-error-alert = Toinen osapuoli ilmoitti allekirjoituksen todennuksen tai avainvaihdon epäonnistuneen.
+ssl-error-export-restriction-alert = Toinen osapuoli ilmoitti neuvottelun rikkovan vientisääntöjä.
+ssl-error-protocol-version-alert = Toinen osapuoli ilmoitti yhteyskäytäntöversion olevan epäyhteensopiva tai ei tuettu.
+ssl-error-insufficient-security-alert = Palvelin vaatii vahvempia salauksia kuin asiakkaan tukemat algoritmit.
+ssl-error-internal-error-alert = Toinen osapuoli ilmoitti kohdanneensa sisäisen virheen.
+ssl-error-user-canceled-alert = Toinen osapuoli peruutti kättelyn.
+ssl-error-no-renegotiation-alert = Toinen osapuoli ei salli SSL-turvaparametrien uudelleenneuvottelua.
+ssl-error-server-cache-not-configured = SSL-palvelinvälimuistia ei ole asetettu, eikä otettu pois käytöstä tälle pistokkeelle.
+ssl-error-unsupported-extension-alert = SSL-osapuoli ei tue pyydettyä TLS hello-tarkenninta.
+ssl-error-certificate-unobtainable-alert = SSL-osapuoli ei saanut varmennettasi annetusta osoitteesta.
+ssl-error-unrecognized-name-alert = SSL-osapuolella ei ole varmennetta pyydetylle DNS-nimelle.
+ssl-error-bad-cert-status-response-alert = SSL-osapuolella ei saanut OCSP-vastausta varmenteelleen.
+ssl-error-bad-cert-hash-value-alert = SSL-osapuoli ilmoitti varmenteen tiivistearvon olevan virheellinen.
+ssl-error-rx-unexpected-new-session-ticket = SSL vastaanotti odottamattoman New Session Ticket -kättelyviestin.
+ssl-error-rx-malformed-new-session-ticket = SSL vastaanotti virheellisesti muotoillun New Session Ticket -kättelyviestin.
+ssl-error-decompression-failure = SSL vastaanotti tiivistetyn paketin, jota ei onnistuttu purkamaan.
+ssl-error-renegotiation-not-allowed = Uudelleenneuvottelu ei ole sallittu tässä SSL-pistokkeessa.
+ssl-error-unsafe-negotiation = Toinen osapuoli yritti kätellä vanhanaikaisesti (mahdollisesti tietoturvariski).
+ssl-error-rx-unexpected-uncompressed-record = SSL vastaanotti odottamattoman tiivistetyn paketin.
+ssl-error-weak-server-ephemeral-dh-key = SSL-vastaanotti heikon ephemeral Diffie-Hellman -avaimen palvelimen avaimensiirron kättelyviestissä.
+ssl-error-next-protocol-data-invalid = SSL-vastaanotti virheellisen NPN-laajennustiedon.
+ssl-error-feature-not-supported-for-ssl2 = SSL-ominaisuutta ei tueta SSL 2.0 -yhteyksille.
+ssl-error-feature-not-supported-for-servers = SSL-ominaisuutta ei tueta palvelimelle.
+ssl-error-feature-not-supported-for-clients = SSL-ominaisuutta ei tueta asiakkaille.
+ssl-error-invalid-version-range = SSL-versiorajaus ei ole kelvollinen.
+ssl-error-cipher-disallowed-for-version = SSL-osapuoli valitsi salakirjoitusperheen, joka ei ole sallittu yhteyskäytännön valitulla versiolla.
+ssl-error-rx-malformed-hello-verify-request = SSL vastaanotti virheellisesti muotoillut "Hello Verify Request" -kättelyviestin.
+ssl-error-rx-unexpected-hello-verify-request = SSL vastaanotti odottamattoman "Hello Verify Request" -kättelyviestin.
+ssl-error-feature-not-supported-for-version = SSL ominaisuutta ei tueta yhteyskäytännön valitulla versiolla.
+ssl-error-rx-unexpected-cert-status = SSL vastaanotti odottamattoman "Certificate Status" -kättelyviestin.
+ssl-error-unsupported-hash-algorithm = TLS-osapuoli käytti ei-tuettua tiivistealgoritmia.
+ssl-error-digest-failure = Yhteenvetofunktio ei toiminut.
+ssl-error-incorrect-signature-algorithm = Käytetty virheellistä allekirjoitusalgoritmia sähköisesti allekirjoitetussa elementissä.
+ssl-error-next-protocol-no-callback = Seuraavan yhteyskäytännön kättelylaajennus otettiin käyttöön, mutta kutsu peruttiin ennen kuin laajennusta käytettiin.
+ssl-error-next-protocol-no-protocol = Palvelin ei tue yhtäkään yhteyskäytäntöä, jota asiakas tukee ALPN-laajennuksessa.
+ssl-error-inappropriate-fallback-alert = Palvelin hylkäsi kättelyn, koska asiakas siirtyi heikompaan TLS-salaukseen kuin palvelin tukee.
+ssl-error-weak-server-cert-key = Palvelinvarmenne sisälsi julkisen avaimen, joka oli liian heikko.
+ssl-error-rx-short-dtls-read = DTLS-tietueelle ei ole riittävästi tilaa puskurissa.
+ssl-error-no-supported-signature-algorithm = Mitään tuettua TLS-allekirjoitusalgoritmia ei ollut määritetty.
+ssl-error-unsupported-signature-algorithm = Osapuoli käytti ei-tuettua allekirjoitus- ja tiivistealgoritmin yhdistelmää.
+ssl-error-missing-extended-master-secret = Osapuoli yritti jatkaa ilman oikeaa extended_master_secret-laajennusta.
+ssl-error-unexpected-extended-master-secret = Osapuoli yritti jatkaa odottamattoman extended_master_secret-laajennuksen kanssa.
+
+sec-error-io = Tietoturvatodennuksen aikana tapahtui I/O-virhe.
+sec-error-library-failure = tietoturvakirjaston virhe.
+sec-error-bad-data = tietoturvakirjasto: vastaanotettiin virheellistä dataa.
+sec-error-output-len = tietoturvakirjasto: tulosteen pituuden virhe.
+sec-error-input-len = tietoturvakirjastolle tapahtui syötepituusvirhe.
+sec-error-invalid-args = tietoturvakirjasto: virheellinen valinta.
+sec-error-invalid-algorithm = tietoturvakirjasto: virheellinen algoritmi.
+sec-error-invalid-ava = tietoturvakirjasto: virheellinen AVA.
+sec-error-invalid-time = Virheellisesti muotoiltu aikamerkkijono.
+sec-error-bad-der = tietoturvakirjasto: virheellisesti muotoiltu DER-salattu viesti.
+sec-error-bad-signature = Toisen osapuolen varmenteen allekirjoitus ei ole kelvollinen.
+sec-error-expired-certificate = Toisen osapuolen varmenne on vanhentunut.
+sec-error-revoked-certificate = Toisen osapuolen varmenne on mitätöity.
+sec-error-unknown-issuer = Toisen osapuolen varmenteen myöntäjää ei tunnistettu.
+sec-error-bad-key = Toisen osapuolen julkinen avain on virheellinen.
+sec-error-bad-password = Annettu tietoturvasalasana on väärä.
+sec-error-retry-password = Uusi salasana annettu virheellisesti. Yritä uudestaan.
+sec-error-no-nodelock = tietoturvakirjasto: ei solmulukkoa.
+sec-error-bad-database = tietoturvakirjasto: virheellinen tietokanta.
+sec-error-no-memory = tietoturvakirjasto: muistin osoitus epäonnistui.
+sec-error-untrusted-issuer = Käyttäjä on merkinnyt toisen osapuolen varmenteen myöntäjän ei luotetuksi.
+sec-error-untrusted-cert = Käyttäjä on merkinnyt toisen osapuolen varmenteen ei luotetuksi.
+sec-error-duplicate-cert = Varmenne on jo tietokannassa.
+sec-error-duplicate-cert-name = Ladatun varmenteen nimi on sama kuin jo tietokannassa olevan varmenteen.
+sec-error-adding-cert = Virhe lisättäessä varmennetta tietokantaan.
+sec-error-filing-key = Virhe arkistoitaessa uudelleen tämän varmenteen avainta.
+sec-error-no-key = Tämän varmenteen salaista avainta ei löydy avaintietokannasta
+sec-error-cert-valid = Varmenne on kelvollinen.
+sec-error-cert-not-valid = Varmenne ei ole kelvollinen.
+sec-error-cert-no-response = Varmennekirjasto: ei vastausta
+sec-error-expired-issuer-certificate = Varmenteen myöntäjän varmenne on vanhentunut. Tarkista järjestelmän kellonaika ja päivämäärä.
+sec-error-crl-expired = Varmenteen myöntäjän sulkulista on vanhentunut. Päivitä sulkulista tai tarkista järjestelmän kellonaika ja päivämäärä.
+sec-error-crl-bad-signature = Varmenteen myöntäjä sulkulistan allekirjoitus on virheellinen.
+sec-error-crl-invalid = Uusi sulkulista on virheellisesti muotoiltu.
+sec-error-extension-value-invalid = Varmenteen tarkenteen arvo on virheellinen.
+sec-error-extension-not-found = Varmenteen tarkennetta ei löytynyt.
+sec-error-ca-cert-invalid = Myöntäjän varmenne on virheellinen.
+sec-error-path-len-constraint-invalid = Varmenteen polunpituusrajoitus on virheellinen.
+sec-error-cert-usages-invalid = Varmenteen käyttökentät ovat virheellisiä.
+sec-internal-only = **Ainoastaan sisäinen moduuli**
+sec-error-invalid-key = Avain ei tue pyydettyä toimintoa.
+sec-error-unknown-critical-extension = Varmenne sisältää tuntemattoman, kriittisen tarkentimen.
+sec-error-old-crl = Uusi sulkulista ei ole nykyistä myöhäisempi.
+sec-error-no-email-cert = Ei salattu tai allekirjoitettu: sinulla ei vielä ole sähköpostivarmennetta.
+sec-error-no-recipient-certs-query = Ei salattu: sinulla ei ole jokaisen vastaanottajan varmennetta.
+sec-error-not-a-recipient = Ei voida purkaa: et ole vastaanottaja, tai vastaavaa varmennetta tai salaista avainta ei löytynyt.
+sec-error-pkcs7-keyalg-mismatch = Ei voida purkaa: avaimen salausalgoritmi ei vastaa varmennettasi.
+sec-error-pkcs7-bad-signature = Allekirjoituksen todennus epäonnistui: allekirjoittajaa ei löytynyt, allekirjoittajia löytyi liian monta, tai data oli virheellistä tai vioittunutta.
+sec-error-unsupported-keyalg = Ei tuettu tai tuntematon avainalgoritmi.
+sec-error-decryption-disallowed = Ei voida purkaa: salaus on tehty kielletyllä algoritmilla tai avainkoolla.
+sec-error-no-krl = Sivuston varmenteelle ei löytynyt KRL:ää.
+sec-error-krl-expired = Sivuston varmenteen KRL on vanhentunut.
+sec-error-krl-bad-signature = Sivuston varmenteen KRL:n allekirjoitus on virheellinen.
+sec-error-revoked-key = Sivuston varmenteen avain on mitätöity.
+sec-error-krl-invalid = Uusi KRL on virheellisesti muotoiltu.
+sec-error-need-random = tietoturvakirjasto: tarvitaan satunnaisdataa.
+sec-error-no-module = tietoturvakirjasto: yksikään tietoturvamoduuli ei voi suorittaa pyydettyä toimintoa.
+sec-error-no-token = Tietoturvakorttia tai -polettia ei ole olemassa, täytyy alustaa tai on poistettu.
+sec-error-read-only = tietoturvakirjasto: tietokanta, johon on vain lukuoikeus.
+sec-error-no-slot-selected = Yhtäkään paikkaa tai polettia ei ole valittu.
+sec-error-cert-nickname-collision = Varmenne, jolla on sama kutsumanimi on jo olemassa.
+sec-error-key-nickname-collision = Avain, jolla on sama kutsumanimi on jo olemassa.
+sec-error-safe-not-created = virhe luotaessa turvallista oliota
+sec-error-baggage-not-created = virhe luotaessa laukkuoliota
+sec-error-bad-export-algorithm = Vaadittu algoritmi ei ole sallittu.
+sec-error-exporting-certificates = Virhe yritettäessä viedä varmenteita.
+sec-error-importing-certificates = Virhe yritettäessä tuoda varmenteita.
+sec-error-pkcs12-decoding-pfx = Ei voida tuoda. Salauksen purkuvirhe. Tiedosto ei kelvollinen.
+sec-error-pkcs12-invalid-mac = Ei voida tuoda. Virheellinen MAC. Virheellinen salasana tai vioittunut tiedosto.
+sec-error-pkcs12-unsupported-mac-algorithm = Ei voida tuoda. MAC-algoritmia ei tueta.
+sec-error-pkcs12-unsupported-transport-mode = Ei voida tuoda. Tuetaan vain salasanan oikeellisuus- ja tietosuojatiloja.
+sec-error-pkcs12-corrupt-pfx-structure = Ei voida tuoda. Tiedostorakenne on vioittunut.
+sec-error-pkcs12-unsupported-pbe-algorithm = Ei voida tuoda. Salausalgoritmia ei tueta.
+sec-error-pkcs12-unsupported-version = Ei voida tuoda. Tiedostoversiota ei tueta.
+sec-error-pkcs12-privacy-password-incorrect = Ei voida tuoda. Väärä tietosuojasalasana.
+sec-error-pkcs12-cert-collision = Ei voida tuoda. Sama kutsumanimi on jo käytössä tietokannassa.
+sec-error-user-cancelled = Käyttäjä peruutti.
+sec-error-pkcs12-duplicate-data = Ei tuotu, jo tietokannassa.
+sec-error-message-send-aborted = Viestiä ei lähetetty.
+sec-error-inadequate-key-usage = Varmenneavaimen käyttö riittämätöntä yritetylle toiminnolle.
+sec-error-inadequate-cert-type = Varmennetyyppi ei ole hyväksytty ohjelmalle.
+sec-error-cert-addr-mismatch = Allekirjoitusvarmenteen osoite ei vastaa viestiotsakkeissa olevaa osoitetta.
+sec-error-pkcs12-unable-to-import-key = Ei voida tuoda. Virhe yritettäessä tuoda salaista avainta.
+sec-error-pkcs12-importing-cert-chain = Ei voida tuoda. Virhe yritettäessä tuoda varmenneketjua.
+sec-error-pkcs12-unable-to-locate-object-by-name = Ei voida viedä. Avainta tai varmennetta ei löytynyt kutsumanimen perusteella.
+sec-error-pkcs12-unable-to-export-key = Ei voida viedä. Salaista avainta ei löytynyt, eikä sitä voida viedä.
+sec-error-pkcs12-unable-to-write = Ei voida viedä. Vietävään tiedostoon ei voida kirjoittaa.
+sec-error-pkcs12-unable-to-read = Ei voida tuoda. Tuotavaa tiedostoa ei voida lukea.
+sec-error-pkcs12-key-database-not-initialized = Ei voida viedä. Avaintietokanta on vioittunut tai poistettu.
+sec-error-keygen-fail = Ei voitu luoda julkisen ja salaisen avaimen paria.
+sec-error-invalid-password = Annettu salasana on virheellinen. Valitse toinen salasana.
+sec-error-retry-old-password = Vanha salasana annettiin virheellisesti. Yritä uudestaan.
+sec-error-bad-nickname = Varmenteen kutsumanimi jo käytössä.
+sec-error-not-fortezza-issuer = Toisella FORTEZZA-ketjulla on ei-FORTEZZA varmenne.
+sec-error-cannot-move-sensitive-key = Arkaluontoista avainta ei voida siirtää paikkaan, jossa sitä tarvitaan.
+sec-error-js-invalid-module-name = Virheellinen moduulin nimi.
+sec-error-js-invalid-dll = Virheellinen moduulin polku tai tiedostonimi
+sec-error-js-add-mod-failure = Ei voida lisätä moduulia
+sec-error-js-del-mod-failure = Ei voida poistaa moduulia
+sec-error-old-krl = Uusi KRL ei ole nykyistä myöhäisempi.
+sec-error-ckl-conflict = Uudella CKL:lla on eri myöntäjä kuin nykyisellä CKL:lla. Poista nykyinen CKL.
+sec-error-cert-not-in-name-space = Tämän varmenteen varmentajalla ei ole lupaa myöntää tämän nimistä varmennetta.
+sec-error-krl-not-yet-valid = Tämän varmenteen avaimen mitätöinti- tai sulkulista ei ole vielä voimassa.
+sec-error-crl-not-yet-valid = Tämän varmenteen sulkulista ei ole vielä voimassa.
+sec-error-unknown-cert = Pyydettyä varmennetta ei löytynyt.
+sec-error-unknown-signer = Allekirjoittajan varmennetta ei löytynyt.
+sec-error-cert-bad-access-location = Varmenteen tilapalvelimen osoite on virheellisesti muotoiltu.
+sec-error-ocsp-unknown-response-type = OCSP-palvelimen vastausta ei ymmärretty kokonaisuudessaan. Se on tuntematonta tyyppiä.
+sec-error-ocsp-bad-http-response = OCSP-palvelimen vastaus oli odottamatonta tai virheellistä HTTP-dataa.
+sec-error-ocsp-malformed-request = OCSP-palvelimen mukaan pyyntö oli vioittunut tai virheellisesti muotoiltu.
+sec-error-ocsp-server-error = OCSP-palvelimelle tapahtui sisäinen virhe.
+sec-error-ocsp-try-server-later = OCSP-palvelin ehdottaa yrittämään myöhemmin uudestaan.
+sec-error-ocsp-request-needs-sig = OCSP-palvelin vaatii allekirjoituksen pyyntöön.
+sec-error-ocsp-unauthorized-request = OCSP-palvelin hylkäsi pyynnön luvan puuttumisen takia.
+sec-error-ocsp-unknown-response-status = OCSP-palvelin vastasi tuntemattomalla tilalla.
+sec-error-ocsp-unknown-cert = OCSP-palvelimella ei ole tämän varmenteen tilaa.
+sec-error-ocsp-not-enabled = OCSP täytyy ottaa käyttöön ennen tätä toimintoa.
+sec-error-ocsp-no-default-responder = Ennen toiminnon käyttämistä tulee asettaa oletus OCSP-vastaaja.
+sec-error-ocsp-malformed-response = OCSP-palvelimen vastaus oli vioittunut tai virheellisesti muotoiltu.
+sec-error-ocsp-unauthorized-response = OCSP-vastauksen allekirjoittajalla ei ole lupaa kertoa varmenteen tilaa.
+sec-error-ocsp-future-response = OCSP-vastaus ei ole vielä kelvollinen (vastauksen päivämäärä on tulevaisuudessa).
+sec-error-ocsp-old-response = OCSP-vastaus sisältää vanhentunutta tietoa.
+sec-error-digest-not-found = CMS tai PKCS #7 -tiivistettä ei löytynyt allekirjoitetusta viestistä.
+sec-error-unsupported-message-type = CMS tai PKCS #7 -viestityyppiä ei tueta.
+sec-error-module-stuck = PKCS #11 -moduulia ei voitu poistaa, koska se on edelleen käytössä.
+sec-error-bad-template = Ei voitu purkaa ASN.1-dataa. Määritelty pohja oli virheellinen.
+sec-error-crl-not-found = Vastaavaa sulkulistaa ei löytynyt.
+sec-error-reused-issuer-and-serial = Olet tuomassa varmennetta, jonka myöntäjä tai sarjanumero on sama kuin olemassa olevalla varmenteella, mutta tuotava varmenne on kuitenkiin uusi varmenne.
+sec-error-busy = NSS ei voinut sulkeutua. Objektit ovat edelleen käytössä.
+sec-error-extra-input = DER-salattu viesti sisältää ylimääräistä käyttämätöntä dataa.
+sec-error-unsupported-elliptic-curve = Ei tuettu elliptinen käyrä.
+sec-error-unsupported-ec-point-form = Ei tuettu elliptinen käyräpistemuoto.
+sec-error-unrecognized-oid = Ei tunnistettu objektin tunniste.
+sec-error-ocsp-invalid-signing-cert = Virheellinen OCSP-allekirjoitusvarmenne OCSP-vastauksessa.
+sec-error-revoked-certificate-crl = Varmenne on mitätöity varmenteen myöntäjän sulkulistalla.
+sec-error-revoked-certificate-ocsp = Varmenteen myöntäjän OCSP-vastaaja ilmoittaa, että varmenne on mitätöity.
+sec-error-crl-invalid-version = Varmenteen myöntäjän sulkulistan versionumero on tuntematon.
+sec-error-crl-v1-critical-extension = Varmenteen myöntäjän V1 sulkulistalla on kriittinen tarkenne.
+sec-error-crl-unknown-critical-extension = Varmenteen myöntäjän V2 sulkulistalla on tuntematon kriittinen tarkenne.
+sec-error-unknown-object-type = Tuntematon objektityyppi annettiin.
+sec-error-incompatible-pkcs11 = PKCS #11 -ajuri on määritelmän vastainen epäyhteensopivalla tavalla.
+sec-error-no-event = Yksikään uusi paikkatapahtuma ei ole mahdollinen tällä hetkellä.
+sec-error-crl-already-exists = Sulkulista on jo olemassa.
+sec-error-not-initialized = NSS ei ole alustettu.
+sec-error-token-not-logged-in = Toiminto epäonnistui, koska PKCS#11-vuoromerkki ei ole kirjautunut sisään.
+sec-error-ocsp-responder-cert-invalid = Määritellyn OCSP-palvelimen varmenne on virheellinen.
+sec-error-ocsp-bad-signature = OCSP-vastauksen allekirjoitus on virheellinen.
+sec-error-out-of-search-limits = Varmenteen todentamisen etsiminen ei ole mahdollista
+sec-error-invalid-policy-mapping = Käytäntörajaus sisältää anypolicy:n
+sec-error-policy-validation-failed = Varmenneketju ei läpäise käytännön todennusta
+sec-error-unknown-aia-location-type = Tuntematon sijaintityyppi varmenteen AIA-laajennuksessa
+sec-error-bad-http-response = Palvelin lähetti virheellisen HTTP-vastauksen
+sec-error-bad-ldap-response = Palvelin lähetti virheellisen LDAP-vastauksen
+sec-error-failed-to-encode-data = Datan salaus ASN1-salaajalla ei onnistunut
+sec-error-bad-info-access-location = Virheellinen tiedonsaantiosoite varmenteen laajennuksessa
+sec-error-libpkix-internal = Libpkix:n sisäinen virhe varmennetta todennettaessa.
+sec-error-pkcs11-general-error = PKCS #11 -moduuli palautti CKR_GENERAL_ERROR -viestin merkkinä tapahtuneesta virheestä, josta ei voida toipua.
+sec-error-pkcs11-function-failed = PKCS #11 -moduuli palautti CKR_FUNCTION_FAILED -viestin merkkinä siitä, että pyydettyä toimintoa ei voitu suorittaa. Saman toiminnon yrittäminen uudestaan saattaa onnistua.
+sec-error-pkcs11-device-error = PKCS #11 -moduuli palautti CKR_DEVICE_ERROR -viestin merkkinä tapahtuneesta virheestä vuoromerkissä tai paikassa.
+sec-error-bad-info-access-method = Tuntematon tiedonsaantitapa varmenteen laajennuksessa.
+sec-error-crl-import-failed = Virhe yritettäessä tuoda sulkulistaa.
+sec-error-expired-password = Salasana on vanhentunut.
+sec-error-locked-password = Salasana on lukittu.
+sec-error-unknown-pkcs11-error = Tuntematon PKCS #11 -virhe.
+sec-error-bad-crl-dp-url = Virheellinen tai ei tuettu osoite CRL-jakelupisteen nimessä.
+sec-error-cert-signature-algorithm-disabled = Varmenne oli allekirjoitettu allekirjoitusalgoritmilla, joka on poistettu käytöstä, koska se ei ole turvallinen.
+
+mozilla-pkix-error-key-pinning-failure = Palvelin käyttää avaimen lukkolistaa (HPKP), mutta yhtäkään luotettua ja lukkolistan mukaista varmenneketjua ei voitu luoda. Lukkolistarikkeitä ei voida ohittaa.
+mozilla-pkix-error-ca-cert-used-as-end-entity = Palvelin käyttää tavallista rajoitelaajennusvarmennetta, joka tunnistaa sen varmentajaksi. Asianmukaisella varmenteella näin ei pitäisi olla.
+mozilla-pkix-error-inadequate-key-size = Palvelimen tarjoaman varmenteen avaimen koko on liian pieni suojatun yhteyden luomiseksi.
+mozilla-pkix-error-v1-cert-used-as-ca = X.509 versio 1 -varmenne, joka ei ole luotettu ankkuri, käytettiin palvelimen varmenteen allekirjoittamiseen. X.509 versio 1 -varmenteet ovat vanhentuneita, eikä niitä pitäisi käyttää muiden varmenteiden allekirjoittamiseen.
+mozilla-pkix-error-not-yet-valid-certificate = Palvelimen lähettämä varmenne ei ole vielä voimassa.
+mozilla-pkix-error-not-yet-valid-issuer-certificate = Palvelimen varmenne on myönnetty varmenteella, joka ei ole vielä voimassa.
+mozilla-pkix-error-signature-algorithm-mismatch = Varmenteen allekirjoituskentässä käytetty allekirjoitusalgoritmi ei vastaa signatureAlgorithm-kentässä määriteltyä algoritmia.
+mozilla-pkix-error-ocsp-response-for-cert-missing = OCSP-vastaus ei sisällä todennettavan varmenteen tilaa.
+mozilla-pkix-error-validity-too-long = Palvelimen antama varmenne on kelvollinen liian pitkään.
+mozilla-pkix-error-required-tls-feature-missing = Vaadittu TLS-ominaisuus puuttuu.
+mozilla-pkix-error-invalid-integer-encoding = Palvelin tarjosi varmenteen, joka sisältää väärin koodatun kokonaisluvun. Yleisiä syitä tälle ovat muiden muassa negatiiviset sarjanumerot, negatiiviset RSA-moduulit ja tarpeettoman pitkät koodaukset.
+mozilla-pkix-error-empty-issuer-name = Palvelin tarjosi varmenteen, jonka myöntäjän luokiteltu nimi (DN) on tyhjä.
+mozilla-pkix-error-additional-policy-constraint-failed = Varmenteen lisäkäytäntörajoite ei täyttynyt todennettaessa varmennetta.
+mozilla-pkix-error-self-signed-cert = Varmenteeseen ei luoteta, koska se on allekirjoitettu itsellään.
+
+xp-java-remove-principal-error = Ei voitu poistaa päämiestä
+xp-java-delete-privilege-error = Ei voitu poistaa oikeutta
+xp-java-cert-not-exists-error = Tällä päämiehellä ei ole varmennetta
+
+xp-sec-fortezza-bad-card = Fortezza-korttia ei ole asianmukaisesti alustettu. Poista kortti ja palauta se sen myöntäjälle.
+xp-sec-fortezza-no-card = Fortezza-kortteja ei löytynyt
+xp-sec-fortezza-none-selected = Fortezza-korttia ei ole valittu
+xp-sec-fortezza-more-info = Valitse henkilöllisyys, josta näytetään lisätietoja
+xp-sec-fortezza-person-not-found = Henkilöllisyyttä ei löytynyt
+xp-sec-fortezza-no-more-info = Ei lisätietoja valitusta henkilöllisyydestä
+xp-sec-fortezza-bad-pin = Virheellinen pin-koodi
+xp-sec-fortezza-person-error = Ei voitu alustaa Fortezza-henkilöllisyyksiä.
diff --git a/l10n-fi/toolkit/toolkit/passwordmgr/passwordmgr.ftl b/l10n-fi/toolkit/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..348e9da5c6
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/passwordmgr/passwordmgr.ftl
@@ -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/.
+
+
+## Save and update password doorhanger
+
+# Variables
+# $host (String) - Hostname for which the password is saved for.
+password-manager-save-password-message = Tallennetaanko sivuston { $host } salasana?
+password-manager-save-password-button-deny =
+ .label = Ei nyt
+ .accesskey = n
+password-manager-save-password-button-allow =
+ .label = Tallenna
+ .accesskey = T
+password-manager-save-password-button-never =
+ .label = Älä tallenna koskaan
+ .accesskey = k
+# Variables
+# $host (String) - Hostname for which the password is updated for.
+password-manager-update-password-message = Päivitetäänkö sivuston { $host } salasana?
+password-manager-update-password-button-delete =
+ .label = Poista tallennettu salasana
+ .accesskey = s
+password-manager-update-login-add-username = Lisätäänkö käyttäjätunnus tallennettuun salasanaan?
+password-manager-password-password-button-allow =
+ .label = Päivitä
+ .accesskey = Ä
+password-manager-update-password-button-deny =
+ .label = Älä päivitä
+ .accesskey = i
+# This is displayed in place of the username when it is missing.
+password-manager-no-username-placeholder = Ei käyttäjätunnusta
+password-manager-toggle-password =
+ .label = Näytä salasana
+ .accesskey = N
+password-manager-confirm-password-change = Vahvista salasanan vaihto
+password-manager-select-username = Valitse päivitettävä käyttäjätunnus:
diff --git a/l10n-fi/toolkit/toolkit/payments/payments.ftl b/l10n-fi/toolkit/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..a1aebfa800
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/payments/payments.ftl
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# This value isn't used directly, but is defined to avoid duplication
+# in the "credit-card-label-*" strings.
+#
+# Variables:
+# $month (String): Numeric month the credit card expires
+# $year (String): Four-digit year the credit card expires
+credit-card-expiration = Vanhenee { $month }/{ $year }
+
+## These labels serve as a description of a credit card.
+## The description must include a credit card number, and may optionally
+## include a cardholder name, an expiration date, or both, so we have
+## four variations.
+
+# Label for a credit card with a number only
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $type (String): Credit card type
+credit-card-label-number-2 = { $number }
+ .aria-label = { $type } { credit-card-label-number-2 }
+
+# Label for a credit card with a number and name
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+# $type (String): Credit card type
+credit-card-label-number-name-2 = { $number }, { $name }
+ .aria-label = { $type } { credit-card-label-number-name-2 }
+
+# Label for a credit card with a number and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $type (String): Credit card type
+credit-card-label-number-expiration-2 = { $number }, { credit-card-expiration }
+ .aria-label = { $type } { credit-card-label-number-expiration-2 }
+
+# Label for a credit card with a number, name, and expiration date
+#
+# Variables:
+# $number (String): Partially-redacted credit card number
+# $name (String): Cardholder name
+# $type (String): Credit card type
+credit-card-label-number-name-expiration-2 = { $number }, { $name }, { credit-card-expiration }
+ .aria-label = { $type } { credit-card-label-number-name-expiration-2 }
diff --git a/l10n-fi/toolkit/toolkit/pdfviewer/viewer.ftl b/l10n-fi/toolkit/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..db465a7c3d
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,384 @@
+# 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/.
+
+
+## Main toolbar buttons (tooltips and alt text for images)
+
+pdfjs-previous-button =
+ .title = Edellinen sivu
+pdfjs-previous-button-label = Edellinen
+pdfjs-next-button =
+ .title = Seuraava sivu
+pdfjs-next-button-label = Seuraava
+# .title: Tooltip for the pageNumber input.
+pdfjs-page-input =
+ .title = Sivu
+# Variables:
+# $pagesCount (Number) - the total number of pages in the document
+# This string follows an input field with the number of the page currently displayed.
+pdfjs-of-pages = / { $pagesCount }
+# Variables:
+# $pageNumber (Number) - the currently visible page
+# $pagesCount (Number) - the total number of pages in the document
+pdfjs-page-of-pages = ({ $pageNumber } / { $pagesCount })
+pdfjs-zoom-out-button =
+ .title = Loitonna
+pdfjs-zoom-out-button-label = Loitonna
+pdfjs-zoom-in-button =
+ .title = Lähennä
+pdfjs-zoom-in-button-label = Lähennä
+pdfjs-zoom-select =
+ .title = Suurennus
+pdfjs-presentation-mode-button =
+ .title = Siirry esitystilaan
+pdfjs-presentation-mode-button-label = Esitystila
+pdfjs-open-file-button =
+ .title = Avaa tiedosto
+pdfjs-open-file-button-label = Avaa
+pdfjs-print-button =
+ .title = Tulosta
+pdfjs-print-button-label = Tulosta
+pdfjs-save-button =
+ .title = Tallenna
+pdfjs-save-button-label = Tallenna
+# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+pdfjs-download-button =
+ .title = Lataa
+# Used in Firefox for Android as a label for the download button (“download” is a verb).
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-download-button-label = Lataa
+pdfjs-bookmark-button =
+ .title = Nykyinen sivu (Näytä URL-osoite nykyiseltä sivulta)
+pdfjs-bookmark-button-label = Nykyinen sivu
+# Used in Firefox for Android.
+pdfjs-open-in-app-button =
+ .title = Avaa sovelluksessa
+# Used in Firefox for Android.
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-open-in-app-button-label = Avaa sovelluksessa
+
+## Secondary toolbar and context menu
+
+pdfjs-tools-button =
+ .title = Tools
+pdfjs-tools-button-label = Tools
+pdfjs-first-page-button =
+ .title = Siirry ensimmäiselle sivulle
+pdfjs-first-page-button-label = Siirry ensimmäiselle sivulle
+pdfjs-last-page-button =
+ .title = Siirry viimeiselle sivulle
+pdfjs-last-page-button-label = Siirry viimeiselle sivulle
+pdfjs-page-rotate-cw-button =
+ .title = Kierrä oikealle
+pdfjs-page-rotate-cw-button-label = Kierrä oikealle
+pdfjs-page-rotate-ccw-button =
+ .title = Kierrä vasemmalle
+pdfjs-page-rotate-ccw-button-label = Kierrä vasemmalle
+pdfjs-cursor-text-select-tool-button =
+ .title = Käytä tekstinvalintatyökalua
+pdfjs-cursor-text-select-tool-button-label = Tekstinvalintatyökalu
+pdfjs-cursor-hand-tool-button =
+ .title = Käytä käsityökalua
+pdfjs-cursor-hand-tool-button-label = Käsityökalu
+pdfjs-scroll-page-button =
+ .title = Käytä sivun vieritystä
+pdfjs-scroll-page-button-label = Sivun vieritys
+pdfjs-scroll-vertical-button =
+ .title = Käytä pystysuuntaista vieritystä
+pdfjs-scroll-vertical-button-label = Pystysuuntainen vieritys
+pdfjs-scroll-horizontal-button =
+ .title = Käytä vaakasuuntaista vieritystä
+pdfjs-scroll-horizontal-button-label = Vaakasuuntainen vieritys
+pdfjs-scroll-wrapped-button =
+ .title = Käytä rivittyvää vieritystä
+pdfjs-scroll-wrapped-button-label = Rivittyvä vieritys
+pdfjs-spread-none-button =
+ .title = Älä yhdistä sivuja aukeamiksi
+pdfjs-spread-none-button-label = Ei aukeamia
+pdfjs-spread-odd-button =
+ .title = Yhdistä sivut aukeamiksi alkaen parittomalta sivulta
+pdfjs-spread-odd-button-label = Parittomalta alkavat aukeamat
+pdfjs-spread-even-button =
+ .title = Yhdistä sivut aukeamiksi alkaen parilliselta sivulta
+pdfjs-spread-even-button-label = Parilliselta alkavat aukeamat
+
+## Document properties dialog
+
+pdfjs-document-properties-button =
+ .title = Dokumentin ominaisuudet…
+pdfjs-document-properties-button-label = Dokumentin ominaisuudet…
+pdfjs-document-properties-file-name = Tiedoston nimi:
+pdfjs-document-properties-file-size = Tiedoston koko:
+# Variables:
+# $size_kb (Number) - the PDF file size in kilobytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-kb = { $size_kb } kt ({ $size_b } tavua)
+# Variables:
+# $size_mb (Number) - the PDF file size in megabytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-mb = { $size_mb } Mt ({ $size_b } tavua)
+pdfjs-document-properties-title = Otsikko:
+pdfjs-document-properties-author = Tekijä:
+pdfjs-document-properties-subject = Aihe:
+pdfjs-document-properties-keywords = Avainsanat:
+pdfjs-document-properties-creation-date = Luomispäivämäärä:
+pdfjs-document-properties-modification-date = Muokkauspäivämäärä:
+# Variables:
+# $date (Date) - the creation/modification date of the PDF file
+# $time (Time) - the creation/modification time of the PDF file
+pdfjs-document-properties-date-string = { $date }, { $time }
+pdfjs-document-properties-creator = Luoja:
+pdfjs-document-properties-producer = PDF-tuottaja:
+pdfjs-document-properties-version = PDF-versio:
+pdfjs-document-properties-page-count = Sivujen määrä:
+pdfjs-document-properties-page-size = Sivun koko:
+pdfjs-document-properties-page-size-unit-inches = in
+pdfjs-document-properties-page-size-unit-millimeters = mm
+pdfjs-document-properties-page-size-orientation-portrait = pysty
+pdfjs-document-properties-page-size-orientation-landscape = vaaka
+pdfjs-document-properties-page-size-name-a-three = A3
+pdfjs-document-properties-page-size-name-a-four = A4
+pdfjs-document-properties-page-size-name-letter = Letter
+pdfjs-document-properties-page-size-name-legal = Legal
+
+## Variables:
+## $width (Number) - the width of the (current) page
+## $height (Number) - the height of the (current) page
+## $unit (String) - the unit of measurement of the (current) page
+## $name (String) - the name of the (current) page
+## $orientation (String) - the orientation of the (current) page
+
+pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit } ({ $orientation })
+pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit } ({ $name }, { $orientation })
+
+##
+
+# The linearization status of the document; usually called "Fast Web View" in
+# English locales of Adobe software.
+pdfjs-document-properties-linearized = Nopea web-katselu:
+pdfjs-document-properties-linearized-yes = Kyllä
+pdfjs-document-properties-linearized-no = Ei
+pdfjs-document-properties-close-button = Sulje
+
+## Print
+
+pdfjs-print-progress-message = Valmistellaan dokumenttia tulostamista varten…
+# Variables:
+# $progress (Number) - percent value
+pdfjs-print-progress-percent = { $progress } %
+pdfjs-print-progress-close-button = Peruuta
+pdfjs-printing-not-supported = Varoitus: Selain ei tue kaikkia tulostustapoja.
+pdfjs-printing-not-ready = Varoitus: PDF-tiedosto ei ole vielä latautunut kokonaan, eikä sitä voi vielä tulostaa.
+
+## Tooltips and alt text for side panel toolbar buttons
+
+pdfjs-toggle-sidebar-button =
+ .title = Näytä/piilota sivupaneeli
+pdfjs-toggle-sidebar-notification-button =
+ .title = Näytä/piilota sivupaneeli (dokumentissa on sisällys/liitteitä/tasoja)
+pdfjs-toggle-sidebar-button-label = Näytä/piilota sivupaneeli
+pdfjs-document-outline-button =
+ .title = Näytä dokumentin sisällys (laajenna tai kutista kohdat kaksoisnapsauttamalla)
+pdfjs-document-outline-button-label = Dokumentin sisällys
+pdfjs-attachments-button =
+ .title = Näytä liitteet
+pdfjs-attachments-button-label = Liitteet
+pdfjs-layers-button =
+ .title = Näytä tasot (kaksoisnapsauta palauttaaksesi kaikki tasot oletustilaan)
+pdfjs-layers-button-label = Tasot
+pdfjs-thumbs-button =
+ .title = Näytä pienoiskuvat
+pdfjs-thumbs-button-label = Pienoiskuvat
+pdfjs-current-outline-item-button =
+ .title = Etsi nykyinen sisällyksen kohta
+pdfjs-current-outline-item-button-label = Nykyinen sisällyksen kohta
+pdfjs-findbar-button =
+ .title = Etsi dokumentista
+pdfjs-findbar-button-label = Etsi
+pdfjs-additional-layers = Lisätasot
+
+## Thumbnails panel item (tooltip and alt text for images)
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-title =
+ .title = Sivu { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-canvas =
+ .aria-label = Pienoiskuva sivusta { $page }
+
+## Find panel button title and messages
+
+pdfjs-find-input =
+ .title = Etsi
+ .placeholder = Etsi dokumentista…
+pdfjs-find-previous-button =
+ .title = Etsi hakusanan edellinen osuma
+pdfjs-find-previous-button-label = Edellinen
+pdfjs-find-next-button =
+ .title = Etsi hakusanan seuraava osuma
+pdfjs-find-next-button-label = Seuraava
+pdfjs-find-highlight-checkbox = Korosta kaikki
+pdfjs-find-match-case-checkbox-label = Huomioi kirjainkoko
+pdfjs-find-match-diacritics-checkbox-label = Erota tarkkeet
+pdfjs-find-entire-word-checkbox-label = Kokonaiset sanat
+pdfjs-find-reached-top = Päästiin dokumentin alkuun, jatketaan lopusta
+pdfjs-find-reached-bottom = Päästiin dokumentin loppuun, jatketaan alusta
+# Variables:
+# $current (Number) - the index of the currently active find result
+# $total (Number) - the total number of matches in the document
+pdfjs-find-match-count =
+ { $total ->
+ [one] { $current } / { $total } osuma
+ *[other] { $current } / { $total } osumaa
+ }
+# Variables:
+# $limit (Number) - the maximum number of matches
+pdfjs-find-match-count-limit =
+ { $limit ->
+ [one] Yli { $limit } osuma
+ *[other] Yli { $limit } osumaa
+ }
+pdfjs-find-not-found = Hakusanaa ei löytynyt
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = Sivun leveys
+pdfjs-page-scale-fit = Koko sivu
+pdfjs-page-scale-auto = Automaattinen suurennus
+pdfjs-page-scale-actual = Todellinen koko
+# Variables:
+# $scale (Number) - percent value for page scale
+pdfjs-page-scale-percent = { $scale } %
+
+## PDF page
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-page-landmark =
+ .aria-label = Sivu { $page }
+
+## Loading indicator messages
+
+pdfjs-loading-error = Tapahtui virhe ladattaessa PDF-tiedostoa.
+pdfjs-invalid-file-error = Virheellinen tai vioittunut PDF-tiedosto.
+pdfjs-missing-file-error = Puuttuva PDF-tiedosto.
+pdfjs-unexpected-response-error = Odottamaton vastaus palvelimelta.
+pdfjs-rendering-error = Tapahtui virhe piirrettäessä sivua.
+
+## Annotations
+
+# Variables:
+# $date (Date) - the modification date of the annotation
+# $time (Time) - the modification time of the annotation
+pdfjs-annotation-date-string = { $date }, { $time }
+# .alt: This is used as a tooltip.
+# Variables:
+# $type (String) - an annotation type from a list defined in the PDF spec
+# (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+pdfjs-text-annotation-type =
+ .alt = [{ $type }-merkintä]
+
+## Password
+
+pdfjs-password-label = Kirjoita PDF-tiedoston salasana.
+pdfjs-password-invalid = Virheellinen salasana. Yritä uudestaan.
+pdfjs-password-ok-button = OK
+pdfjs-password-cancel-button = Peruuta
+pdfjs-web-fonts-disabled = Verkkosivujen omat kirjasinlajit on estetty: ei voida käyttää upotettuja PDF-kirjasinlajeja.
+
+## Editing
+
+pdfjs-editor-free-text-button =
+ .title = Teksti
+pdfjs-editor-free-text-button-label = Teksti
+pdfjs-editor-ink-button =
+ .title = Piirros
+pdfjs-editor-ink-button-label = Piirros
+pdfjs-editor-stamp-button =
+ .title = Lisää tai muokkaa kuvia
+pdfjs-editor-stamp-button-label = Lisää tai muokkaa kuvia
+pdfjs-editor-remove-button =
+ .title = Poista
+
+## Remove button for the various kind of editor.
+
+pdfjs-editor-remove-ink-button =
+ .title = Poista piirros
+pdfjs-editor-remove-freetext-button =
+ .title = Poista teksti
+pdfjs-editor-remove-stamp-button =
+ .title = Poista kuva
+pdfjs-editor-remove-highlight-button =
+ .title = Poista korostus
+
+##
+
+# Editor Parameters
+pdfjs-editor-free-text-color-input = Väri
+pdfjs-editor-free-text-size-input = Koko
+pdfjs-editor-ink-color-input = Väri
+pdfjs-editor-ink-thickness-input = Paksuus
+pdfjs-editor-ink-opacity-input = Peittävyys
+pdfjs-editor-stamp-add-image-button =
+ .title = Lisää kuva
+pdfjs-editor-stamp-add-image-button-label = Lisää kuva
+pdfjs-free-text =
+ .aria-label = Tekstimuokkain
+pdfjs-free-text-default-content = Aloita kirjoittaminen…
+pdfjs-ink =
+ .aria-label = Piirrustusmuokkain
+pdfjs-ink-canvas =
+ .aria-label = Käyttäjän luoma kuva
+
+## Alt-text dialog
+
+# Alternative text (alt text) helps when people can't see the image.
+pdfjs-editor-alt-text-button-label = Vaihtoehtoinen teksti
+pdfjs-editor-alt-text-edit-button-label = Muokkaa vaihtoehtoista tekstiä
+pdfjs-editor-alt-text-dialog-label = Valitse vaihtoehto
+pdfjs-editor-alt-text-dialog-description = Vaihtoehtoinen teksti ("alt-teksti") auttaa ihmisiä, jotka eivät näe kuvaa tai kun kuva ei lataudu.
+pdfjs-editor-alt-text-add-description-label = Lisää kuvaus
+pdfjs-editor-alt-text-add-description-description = Pyri 1-2 lauseeseen, jotka kuvaavat aihetta, ympäristöä tai toimintaa.
+pdfjs-editor-alt-text-mark-decorative-label = Merkitse koristeelliseksi
+pdfjs-editor-alt-text-mark-decorative-description = Tätä käytetään koristekuville, kuten reunuksille tai vesileimoille.
+pdfjs-editor-alt-text-cancel-button = Peruuta
+pdfjs-editor-alt-text-save-button = Tallenna
+pdfjs-editor-alt-text-decorative-tooltip = Merkitty koristeelliseksi
+# .placeholder: This is a placeholder for the alt text input area
+pdfjs-editor-alt-text-textarea =
+ .placeholder = Esimerkiksi "Nuori mies istuu pöytään syömään aterian"
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
+pdfjs-editor-resizer-label-top-left = Vasen yläkulma - muuta kokoa
+pdfjs-editor-resizer-label-top-middle = Ylhäällä keskellä - muuta kokoa
+pdfjs-editor-resizer-label-top-right = Oikea yläkulma - muuta kokoa
+pdfjs-editor-resizer-label-middle-right = Keskellä oikealla - muuta kokoa
+pdfjs-editor-resizer-label-bottom-right = Oikea alakulma - muuta kokoa
+pdfjs-editor-resizer-label-bottom-middle = Alhaalla keskellä - muuta kokoa
+pdfjs-editor-resizer-label-bottom-left = Vasen alakulma - muuta kokoa
+pdfjs-editor-resizer-label-middle-left = Keskellä vasemmalla - muuta kokoa
+
+## Color picker
+
+# This means "Color used to highlight text"
+pdfjs-editor-highlight-colorpicker-label = Korostusväri
+pdfjs-editor-colorpicker-button =
+ .title = Vaihda väri
+pdfjs-editor-colorpicker-dropdown =
+ .aria-label = Värivalinnat
+pdfjs-editor-colorpicker-yellow =
+ .title = Keltainen
+pdfjs-editor-colorpicker-green =
+ .title = Vihreä
+pdfjs-editor-colorpicker-blue =
+ .title = Sininen
+pdfjs-editor-colorpicker-pink =
+ .title = Pinkki
+pdfjs-editor-colorpicker-red =
+ .title = Punainen
diff --git a/l10n-fi/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl b/l10n-fi/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..c1c0a5e7a8
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl
@@ -0,0 +1,86 @@
+# 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/.
+
+pictureinpicture-player-title = Kuva kuvassa
+
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+##
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+pictureinpicture-pause-btn =
+ .aria-label = Pysäytä
+ .tooltip = Pysäytä (välilyönti)
+pictureinpicture-play-btn =
+ .aria-label = Toista
+ .tooltip = Toista (välilyönti)
+
+pictureinpicture-mute-btn =
+ .aria-label = Vaimenna ääni
+ .tooltip = Vaimenna ääni ({ $shortcut })
+pictureinpicture-unmute-btn =
+ .aria-label = Palauta ääni
+ .tooltip = Palauta ääni ({ $shortcut })
+
+pictureinpicture-unpip-btn =
+ .aria-label = Lähetä takaisin välilehteen
+ .tooltip = Takaisin välilehteen
+
+pictureinpicture-close-btn =
+ .aria-label = Sulje
+ .tooltip = Sulje ({ $shortcut })
+
+pictureinpicture-subtitles-btn =
+ .aria-label = Tekstitykset
+ .tooltip = Tekstitykset
+
+pictureinpicture-fullscreen-btn2 =
+ .aria-label = Koko näyttö
+ .tooltip = Koko näyttö (kaksoisnapsauta tai { $shortcut })
+
+pictureinpicture-exit-fullscreen-btn2 =
+ .aria-label = Poistu koko näytöstä
+ .tooltip = Poistu koko näytön tilasta (kaksoisnapsauta tai { $shortcut })
+
+##
+
+# Keyboard shortcut to toggle fullscreen mode when Picture-in-Picture is open.
+pictureinpicture-toggle-fullscreen-shortcut =
+ .key = F
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+
+pictureinpicture-seekbackward-btn =
+ .aria-label = Taaksepäin
+ .tooltip = Taaksepäin (←)
+
+pictureinpicture-seekforward-btn =
+ .aria-label = Eteenpäin
+ .tooltip = Eteenpäin (→)
+
+##
+
+# This string is never displayed on the window. Is intended to be announced by
+# a screen reader whenever a user opens the subtitles settings panel
+# after selecting the subtitles button.
+pictureinpicture-subtitles-panel-accessible = Tekstitysasetukset
+
+pictureinpicture-subtitles-label = Tekstitykset
+
+pictureinpicture-font-size-label = Kirjasinkoko
+
+pictureinpicture-font-size-small = Pieni
+
+pictureinpicture-font-size-medium = Keskikokoinen
+
+pictureinpicture-font-size-large = Suuri
diff --git a/l10n-fi/toolkit/toolkit/preferences/preferences.ftl b/l10n-fi/toolkit/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..e1a4b7d784
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/preferences/preferences.ftl
@@ -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/.
+
+password-not-set =
+ .value = (ei ole asetettu)
+
+failed-pp-change = Pääsalasanan vaihtaminen ei onnistunut
+incorrect-pp = Väärä pääsalasana. Yritä uudestaan.
+pp-change-ok = Pääsalasana vaihdettu onnistuneesti.
+
+settings-pp-erased-ok = Olet poistanut pääsalasanasi. Tallennettuja salasanoja ja varmenteiden yksityisiä avaimia, joita { -brand-short-name } hallinnoi, ei suojata.
+settings-pp-not-wanted = Varoitus! Olet päättänyt olla käyttämättä pääsalasanaa. Tallennettuja salasanoja ja varmenteiden yksityisiä avaimia, joita { -brand-short-name } hallinnoi, ei suojata.
+
+pp-change2empty-in-fips-mode = Olet parhaillaan FIPS-tilassa. FIPS edellyttää, että pääsalasana ei ole tyhjä.
+pw-change-success-title = Salasanan vaihto onnistui
+pw-change-failed-title = Salasanan vaihto epäonnistui
+pw-remove-button =
+ .label = Poista
+
+primary-password-dialog =
+ .title = Pääsalasana
+set-password-old-password = Nykyinen salasana:
+set-password-new-password = Kirjoita uusi salasana:
+set-password-reenter-password = Toista salasana:
+set-password-meter = Salasanan laadun mittari
+set-password-meter-loading = Ladataan
+primary-password-admin = Järjestelmän ylläpitäjä vaatii pääsalasanan asettamisen ennen käyttäjätunnusten ja salasanojen tallentamista.
+primary-password-description = Pääsalasanalla suojataan tällä laitteella olevia tärkeitä tietoja, kuten käyttäjätunnuksia ja salasanoja. Jos luot pääsalasanan, { -brand-short-name } kysyy sitä kerran istunnossa, jos se tarvitsee sen suojaamia tietoja.
+primary-password-warning = Säilytä pääsalasanasi turvallisessa paikassa. Jos unohdat sen, et pääse käsiksi sen tällä laitteella suojaamiin tietoihin.
+
+remove-primary-password =
+ .title = Poista pääsalasana
+remove-info =
+ .value = Kirjoita nykyinen salasanasi jatkaaksesi:
+remove-primary-password-warning1 = Pääsalasanasi suojaa arkaluontoista tietoa, kuten käyttäjätunnuksia ja salasanoja.
+remove-primary-password-warning2 = Jos poistat pääsalasanan, tietosi eivät enää ole suojattuina.
+remove-password-old-password =
+ .value = Nykyinen salasana:
diff --git a/l10n-fi/toolkit/toolkit/printing/printDialogs.ftl b/l10n-fi/toolkit/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..55dc6ef9aa
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/printing/printDialogs.ftl
@@ -0,0 +1,112 @@
+# 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/.
+
+print-setup =
+ .title = Sivun asetukset
+custom-prompt-title = Oma…
+custom-prompt-prompt = Kirjoita oma ylä-/alatunniste
+basic-tab =
+ .label = Muoto ja valinnat
+advanced-tab =
+ .label = Marginaalit ja ylä-/alatunnisteet
+format-group-label =
+ .value = Muoto
+orientation-label =
+ .value = Suunta:
+portrait =
+ .label = Pysty
+ .accesskey = P
+landscape =
+ .label = Vaaka
+ .accesskey = V
+scale =
+ .label = Koko:
+ .accesskey = K
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = Sovita sivun leveyteen
+ .accesskey = S
+options-group-label =
+ .value = Asetukset
+print-bg =
+ .label = Tulosta tausta (värit ja kuvat)
+ .accesskey = T
+margin-group-label-inches =
+ .value = Marginaalit (tuumia)
+margin-group-label-metric =
+ .value = Marginaalit (millimetriä)
+margin-top =
+ .value = Ylä:
+ .accesskey = Y
+margin-top-invisible =
+ .value = Ylä:
+margin-bottom =
+ .value = Ala:
+ .accesskey = A
+margin-bottom-invisible =
+ .value = Ala:
+margin-left =
+ .value = Vasen:
+ .accesskey = e
+margin-left-invisible =
+ .value = Vasen:
+margin-right =
+ .value = Oikea:
+ .accesskey = O
+margin-right-invisible =
+ .value = Oikea:
+header-footer-label =
+ .value = Ylä- ja alatunnisteet
+hf-left-label =
+ .value = Vasen:
+hf-center-label =
+ .value = Keskellä:
+hf-right-label =
+ .value = Oikea:
+header-left-tip =
+ .tooltiptext = Vasen ylätunniste
+header-center-tip =
+ .tooltiptext = Keskimmäinen ylätunniste
+header-right-tip =
+ .tooltiptext = Oikea ylätunniste
+footer-left-tip =
+ .tooltiptext = Vasen alatunniste
+footer-center-tip =
+ .tooltiptext = Keskimmäinen alatunniste
+footer-right-tip =
+ .tooltiptext = Oikea alatunniste
+hf-blank =
+ .label = --tyhjä--
+hf-title =
+ .label = Otsikko
+hf-url =
+ .label = URL
+hf-date-and-time =
+ .label = Pvm/aika
+hf-page =
+ .label = Sivu #
+hf-page-and-total =
+ .label = Sivu #/#
+hf-custom =
+ .label = Oma…
+print-preview-window =
+ .title = Tulostuksen esikatselu
+print-title =
+ .value = Otsikko:
+print-preparing =
+ .value = Valmistellaan…
+print-progress =
+ .value = Edistyminen:
+print-window =
+ .title = Tulostetaan
+print-complete =
+ .value = Tulostus valmis.
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent } %
+dialog-cancel-label = Peruuta
+dialog-close-label = Sulje
diff --git a/l10n-fi/toolkit/toolkit/printing/printPreview.ftl b/l10n-fi/toolkit/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..fca9aa9268
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/printing/printPreview.ftl
@@ -0,0 +1,73 @@
+# 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/.
+
+printpreview-simplify-page-checkbox =
+ .label = Yksinkertaista sivua
+ .accesskey = Y
+ .tooltiptext = Tätä sivua ei voi yksinkertaistaa automaattisesti
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = Muuta sivun asettelua lukemisen helpottamiseksi
+printpreview-close =
+ .label = Sulje
+ .accesskey = S
+printpreview-portrait =
+ .label = Pysty
+ .accesskey = P
+printpreview-landscape =
+ .label = Vaaka
+ .accesskey = V
+printpreview-scale =
+ .value = Koko:
+ .accesskey = K
+printpreview-shrink-to-fit =
+ .label = Sovita
+printpreview-custom =
+ .label = Oma…
+printpreview-print =
+ .label = Tulosta…
+ .accesskey = o
+printpreview-of =
+ .value = /
+printpreview-custom-scale-prompt-title = Oma koko
+printpreview-page-setup =
+ .label = Sivun asetukset…
+ .accesskey = e
+printpreview-page =
+ .value = Sivu:
+ .accesskey = v
+
+# Variables
+# $sheetNum (integer) - The current sheet number
+# $sheetCount (integer) - The total number of sheets to print
+printpreview-sheet-of-sheets = { $sheetNum }/{ $sheetCount }
+
+## Variables
+## $percent (integer) - menuitem percent label
+## $arrow (String) - UTF-8 arrow character for navigation buttons
+
+printpreview-percentage-value =
+ .label = { $percent } %
+printpreview-homearrow =
+ .label = { $arrow }
+ .tooltiptext = Ensimmäinen sivu
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = Edellinen sivu
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = Seuraava sivu
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = Viimeinen sivu
+
+printpreview-homearrow-button =
+ .title = Ensimmäinen sivu
+printpreview-previousarrow-button =
+ .title = Edellinen sivu
+printpreview-nextarrow-button =
+ .title = Seuraava sivu
+printpreview-endarrow-button =
+ .title = Viimeinen sivu
diff --git a/l10n-fi/toolkit/toolkit/printing/printUI.ftl b/l10n-fi/toolkit/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..af9104fba2
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/printing/printUI.ftl
@@ -0,0 +1,148 @@
+# 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/.
+
+printui-title = Tulosta
+# Dialog title to prompt the user for a filename to save print to PDF.
+printui-save-to-pdf-title = Tallenna nimellä
+
+# Variables
+# $sheetCount (integer) - Number of paper sheets
+printui-sheets-count =
+ { $sheetCount ->
+ [one] { $sheetCount } paperiarkki
+ *[other] { $sheetCount } paperiarkkia
+ }
+
+printui-page-range-all = Kaikki
+printui-page-range-current = Nykyinen
+printui-page-range-odd = Parittomat
+printui-page-range-even = Parilliset
+printui-page-range-custom = Mukautettu
+printui-page-range-label = Sivut
+printui-page-range-picker =
+ .aria-label = Valitse sivualue
+printui-page-custom-range-input =
+ .aria-label = Anna mukautettu sivualue
+ .placeholder = esim. 2-6, 9, 12-16
+
+# Section title for the number of copies to print
+printui-copies-label = Kopioita
+
+printui-orientation = Suunta
+printui-landscape = Vaaka
+printui-portrait = Pysty
+
+# Section title for the printer or destination device to target
+printui-destination-label = Kohde
+printui-destination-pdf-label = Tallenna PDF-muotoon
+
+printui-more-settings = Enemmän asetuksia
+printui-less-settings = Vähemmän asetuksia
+
+printui-paper-size-label = Paperin koko
+
+# Section title (noun) for the print scaling options
+printui-scale = Koko
+printui-scale-fit-to-page-width = Sovita sivun leveyteen
+# Label for input control where user can set the scale percentage
+printui-scale-pcent = Koko
+
+# Section title (noun) for the two-sided print options
+printui-two-sided-printing = Kaksipuolinen tulostus
+printui-two-sided-printing-off = Pois päältä
+# Flip the sheet as if it were bound along its long edge.
+printui-two-sided-printing-long-edge = Käännä pitkän reunan ympäri
+# Flip the sheet as if it were bound along its short edge.
+printui-two-sided-printing-short-edge = Käännä lyhyen reunan ympäri
+
+# Section title for miscellaneous print options
+printui-options = Valinnat
+printui-headers-footers-checkbox = Tulosta ylä- ja alatunnisteet
+printui-backgrounds-checkbox = Tulosta taustat
+
+## The "Format" section, select a version of the website to print. Radio
+## options to select between the original page, selected text only, or a version
+## where the page is processed with "Reader View".
+
+# The section title.
+printui-source-label = Muoto
+# Option for printing the original page.
+printui-source-radio = Alkuperäinen
+# Option for printing just the content a user selected prior to printing.
+printui-selection-radio = Valinta
+# Option for "simplifying" the page by printing the Reader View version.
+printui-simplify-page-radio = Yksinkertaistettu
+
+##
+
+printui-color-mode-label = Väritila
+printui-color-mode-color = Väri
+printui-color-mode-bw = Mustavalkoinen
+
+printui-margins = Reunukset
+printui-margins-default = Oletus
+printui-margins-min = Pienimmät
+printui-margins-none = Ei reunuksia
+printui-margins-custom-inches = Mukautettu (tuumina)
+printui-margins-custom-mm = Oma (mm)
+printui-margins-custom-top = Ylä
+printui-margins-custom-top-inches = Ylä (tuumina)
+printui-margins-custom-top-mm = Ylä (mm)
+printui-margins-custom-bottom = Ala
+printui-margins-custom-bottom-inches = Ala (tuumina)
+printui-margins-custom-bottom-mm = Ala (mm)
+printui-margins-custom-left = Vasen
+printui-margins-custom-left-inches = Vasen (tuumina)
+printui-margins-custom-left-mm = Vasen (mm)
+printui-margins-custom-right = Oikea
+printui-margins-custom-right-inches = Oikea (tuumina)
+printui-margins-custom-right-mm = Oikea (mm)
+
+printui-system-dialog-link = Tulosta käyttäen järjestelmän tulostusikkunaa…
+
+printui-primary-button = Tulosta
+printui-primary-button-save = Tallenna
+printui-cancel-button = Peruuta
+printui-close-button = Sulje
+
+printui-loading = Valmistellaan esikatselua
+
+# Reported by screen readers and other accessibility tools to indicate that
+# the print preview has focus.
+printui-preview-label =
+ .aria-label = Tulostuksen esikatselu
+
+printui-pages-per-sheet = Sivuja per arkki
+
+# This is shown next to the Print button with an indefinite loading spinner
+# when the user prints a page and it is being sent to the printer.
+printui-print-progress-indicator = Tulostetaan…
+printui-print-progress-indicator-saving = Tallennetaan…
+
+## Paper sizes that may be supported by the Save to PDF destination:
+
+printui-paper-a5 = A5
+printui-paper-a4 = A4
+printui-paper-a3 = A3
+printui-paper-a2 = A2
+printui-paper-a1 = A1
+printui-paper-a0 = A0
+printui-paper-b5 = B5
+printui-paper-b4 = B4
+printui-paper-jis-b5 = JIS-B5
+printui-paper-jis-b4 = JIS-B4
+printui-paper-letter = US Letter
+printui-paper-legal = US Legal
+printui-paper-tabloid = Tabloid
+
+## Error messages shown when a user has an invalid input
+
+printui-error-invalid-scale = Koon on oltava luku välillä 10 ja 200.
+printui-error-invalid-margin = Anna valitulle paperin koolle kelvollinen reunus.
+printui-error-invalid-copies = Kopioiden määrä tulee ilmoittaa luvulla väliltä 1 ja 10000.
+
+# Variables
+# $numPages (integer) - Number of pages
+printui-error-invalid-range = Sivualueen on oltava luku välillä 1 ja { $numPages }.
+printui-error-invalid-start-overflow = Sivulta-sivunumeron on oltava pienempi kuin sivulle-sivunumeron.
diff --git a/l10n-fi/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl b/l10n-fi/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/reportBrokenSite/reportBrokenSite.ftl
@@ -0,0 +1,3 @@
+# 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/.
diff --git a/l10n-fi/toolkit/toolkit/updates/backgroundupdate.ftl b/l10n-fi/toolkit/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..9a3e855551
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/updates/backgroundupdate.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/.
+
+backgroundupdate-task-description = Taustapäivitystehtävä tarkistaa { -brand-short-name }in päivitykset, kun { -brand-short-name } ei ole käynnissä. { -brand-short-name } asentaa tehtävän automaattisesti, ja se asennetaan uudelleen kun { -brand-short-name } on käynnissä. Jos haluat poistaa tehtävän käytöstä, päivitä selaimen asetukset tai { -brand-short-name }-yrityskäytännön asetus “BackgroundAppUpdate”.
diff --git a/l10n-fi/toolkit/toolkit/updates/elevation.ftl b/l10n-fi/toolkit/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..4a6115fe68
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/updates/elevation.ftl
@@ -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/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = Ohjelmistopäivitys
+elevation-details-link-label =
+ .value = Lisätietoja
+elevation-error-manual =
+ { -brand-short-name } voidaan päivittää käsin lataamalla ja
+ asentamalla ohjelman uusin versio osoitteesta:
+elevation-finished-page = Päivitys on valmis asennettavaksi
+elevation-finished-background-page =
+ Sovelluksen { -brand-short-name } turvallisuus- ja vakauspäivitys on
+ ladattu, ja se on valmis asennettavaksi.
+elevation-finished-background = Päivitys:
+elevation-more-elevated =
+ Tämä päivitys vaatii järjestelmänvalvojan oikeudet. Päivitys asennetaan,
+ kun { -brand-short-name } käynnistetään uudelleen. Voit käynnistää
+ { -brand-short-name }in uudelleen nyt, jatkaa { -brand-short-name }in käyttöä ja
+ käynnistää sen uudelleen myöhemmin tai hylätä tämän päivityksen.
diff --git a/l10n-fi/toolkit/toolkit/updates/history.ftl b/l10n-fi/toolkit/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..73100c5cec
--- /dev/null
+++ b/l10n-fi/toolkit/toolkit/updates/history.ftl
@@ -0,0 +1,29 @@
+# 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/.
+
+history-title = Päivityshistoria
+history-intro = Seuraavat päivitykset on asennettu
+
+close-button-label =
+ .buttonlabelcancel = Sulje
+ .title = Päivityshistoria
+
+no-updates-label = Ei asennettuja päivityksiä
+name-header = Päivityksen nimi
+date-header = Asennuspäivä
+type-header = Tyyppi
+state-header = Tila
+
+# Used to display update history
+#
+# Variables:
+# $name (String): name of the update
+# $buildID (String): build identifier from the local updates.xml
+update-full-build-name = { $name } ({ $buildID })
+
+update-details = Lisätietoja
+
+update-installed-on = Asennusaika: { $date }
+
+update-status = Tila: { $status }