Bug 1368146 - Export Screenshots 8.1.0 to Firefox; r=ianb,standard8
authorJared Hirsch <ohai@6a68.net>
Fri, 26 May 2017 11:48:44 -0700
changeset 411847 e0e0d7d31cd5d46c7bf0ac92f3c7ac1c54871d49
parent 411846 159c286ba575c554269b009d7a3fb5ad7d630502
child 411848 9bda0f33f7b5d3ca311764084c9aaab7b508d736
push id1490
push usermtabara@mozilla.com
push dateMon, 31 Jul 2017 14:08:16 +0000
treeherdermozilla-release@70e32e6bf15e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersianb, standard8
bugs1368146
milestone55.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1368146 - Export Screenshots 8.1.0 to Firefox; r=ianb,standard8
browser/extensions/screenshots/bootstrap.js
browser/extensions/screenshots/install.rdf
browser/extensions/screenshots/moz.build
browser/extensions/screenshots/test/browser/browser_screenshots_ui_check.js
browser/extensions/screenshots/test/browser/head.js
browser/extensions/screenshots/webextension/_locales/ach/messages.json
browser/extensions/screenshots/webextension/_locales/az/messages.json
browser/extensions/screenshots/webextension/_locales/be/messages.json
browser/extensions/screenshots/webextension/_locales/bg/messages.json
browser/extensions/screenshots/webextension/_locales/bn_BD/messages.json
browser/extensions/screenshots/webextension/_locales/cs/messages.json
browser/extensions/screenshots/webextension/_locales/cy/messages.json
browser/extensions/screenshots/webextension/_locales/da/messages.json
browser/extensions/screenshots/webextension/_locales/de/messages.json
browser/extensions/screenshots/webextension/_locales/dsb/messages.json
browser/extensions/screenshots/webextension/_locales/el/messages.json
browser/extensions/screenshots/webextension/_locales/en_GB/messages.json
browser/extensions/screenshots/webextension/_locales/en_US/messages.json
browser/extensions/screenshots/webextension/_locales/es_AR/messages.json
browser/extensions/screenshots/webextension/_locales/es_CL/messages.json
browser/extensions/screenshots/webextension/_locales/es_ES/messages.json
browser/extensions/screenshots/webextension/_locales/es_MX/messages.json
browser/extensions/screenshots/webextension/_locales/et/messages.json
browser/extensions/screenshots/webextension/_locales/fa/messages.json
browser/extensions/screenshots/webextension/_locales/fi/messages.json
browser/extensions/screenshots/webextension/_locales/fr/messages.json
browser/extensions/screenshots/webextension/_locales/fy_NL/messages.json
browser/extensions/screenshots/webextension/_locales/gu_IN/messages.json
browser/extensions/screenshots/webextension/_locales/he/messages.json
browser/extensions/screenshots/webextension/_locales/hi_IN/messages.json
browser/extensions/screenshots/webextension/_locales/hsb/messages.json
browser/extensions/screenshots/webextension/_locales/hu/messages.json
browser/extensions/screenshots/webextension/_locales/hy_AM/messages.json
browser/extensions/screenshots/webextension/_locales/id/messages.json
browser/extensions/screenshots/webextension/_locales/it/messages.json
browser/extensions/screenshots/webextension/_locales/ja/messages.json
browser/extensions/screenshots/webextension/_locales/kab/messages.json
browser/extensions/screenshots/webextension/_locales/kk/messages.json
browser/extensions/screenshots/webextension/_locales/ko/messages.json
browser/extensions/screenshots/webextension/_locales/lij/messages.json
browser/extensions/screenshots/webextension/_locales/lo/messages.json
browser/extensions/screenshots/webextension/_locales/lt/messages.json
browser/extensions/screenshots/webextension/_locales/ms/messages.json
browser/extensions/screenshots/webextension/_locales/my/messages.json
browser/extensions/screenshots/webextension/_locales/nb_NO/messages.json
browser/extensions/screenshots/webextension/_locales/nl/messages.json
browser/extensions/screenshots/webextension/_locales/nn_NO/messages.json
browser/extensions/screenshots/webextension/_locales/pa_IN/messages.json
browser/extensions/screenshots/webextension/_locales/pl/messages.json
browser/extensions/screenshots/webextension/_locales/pt_BR/messages.json
browser/extensions/screenshots/webextension/_locales/pt_PT/messages.json
browser/extensions/screenshots/webextension/_locales/rm/messages.json
browser/extensions/screenshots/webextension/_locales/ru/messages.json
browser/extensions/screenshots/webextension/_locales/sk/messages.json
browser/extensions/screenshots/webextension/_locales/sl/messages.json
browser/extensions/screenshots/webextension/_locales/sq/messages.json
browser/extensions/screenshots/webextension/_locales/sr/messages.json
browser/extensions/screenshots/webextension/_locales/sv_SE/messages.json
browser/extensions/screenshots/webextension/_locales/te/messages.json
browser/extensions/screenshots/webextension/_locales/th/messages.json
browser/extensions/screenshots/webextension/_locales/tl/messages.json
browser/extensions/screenshots/webextension/_locales/tr/messages.json
browser/extensions/screenshots/webextension/_locales/uk/messages.json
browser/extensions/screenshots/webextension/_locales/ur/messages.json
browser/extensions/screenshots/webextension/_locales/uz/messages.json
browser/extensions/screenshots/webextension/_locales/zh_CN/messages.json
browser/extensions/screenshots/webextension/_locales/zh_TW/messages.json
browser/extensions/screenshots/webextension/background/auth.js
browser/extensions/screenshots/webextension/background/communication.js
browser/extensions/screenshots/webextension/background/deviceInfo.js
browser/extensions/screenshots/webextension/background/main.js
browser/extensions/screenshots/webextension/background/selectorLoader.js
browser/extensions/screenshots/webextension/background/senderror.js
browser/extensions/screenshots/webextension/background/takeshot.js
browser/extensions/screenshots/webextension/build/inlineSelectionCss.js
browser/extensions/screenshots/webextension/build/shot.js
browser/extensions/screenshots/webextension/buildSettings.js.template
browser/extensions/screenshots/webextension/catcher.js
browser/extensions/screenshots/webextension/icons/icon-128.png
browser/extensions/screenshots/webextension/icons/icon-16.png
browser/extensions/screenshots/webextension/icons/icon-19.png
browser/extensions/screenshots/webextension/icons/icon-256.png
browser/extensions/screenshots/webextension/icons/icon-32.png
browser/extensions/screenshots/webextension/icons/icon-38.png
browser/extensions/screenshots/webextension/icons/icon-48.png
browser/extensions/screenshots/webextension/icons/icon-64.png
browser/extensions/screenshots/webextension/log.js
browser/extensions/screenshots/webextension/manifest.json
browser/extensions/screenshots/webextension/onboarding/slides.js
browser/extensions/screenshots/webextension/selector/callBackground.js
browser/extensions/screenshots/webextension/selector/shooter.js
browser/extensions/screenshots/webextension/selector/ui.js
browser/extensions/screenshots/webextension/selector/uicontrol.js
--- a/browser/extensions/screenshots/bootstrap.js
+++ b/browser/extensions/screenshots/bootstrap.js
@@ -1,11 +1,8 @@
-/* globals AddonManager, Components, LegacyExtensionsUtils, Services,
-   XPCOMUtils */
-
 const OLD_ADDON_PREF_NAME = "extensions.jid1-NeEaf3sAHdKHPA@jetpack.deviceIdInfo";
 const OLD_ADDON_ID = "jid1-NeEaf3sAHdKHPA@jetpack";
 const ADDON_ID = "screenshots@mozilla.org";
 const TELEMETRY_ENABLED_PREF = "datareporting.healthreport.uploadEnabled";
 const PREF_BRANCH = "extensions.screenshots.";
 const USER_DISABLE_PREF = "extensions.screenshots.disabled";
 const SYSTEM_DISABLE_PREF = "extensions.screenshots.system-disabled";
 
@@ -41,18 +38,38 @@ const prefObserver = {
     // aData is the name of the pref that's been changed (relative to aSubject)
     if (aData == USER_DISABLE_PREF || aData == SYSTEM_DISABLE_PREF) {
       // eslint-disable-next-line promise/catch-or-return
       appStartupPromise.then(handleStartup);
     }
   }
 };
 
+const appStartupObserver = {
+  register() {
+    Services.obs.addObserver(this, "sessionstore-windows-restored", false); // eslint-disable-line mozilla/no-useless-parameters
+  },
+
+  unregister() {
+    Services.obs.removeObserver(this, "sessionstore-windows-restored", false); // eslint-disable-line mozilla/no-useless-parameters
+  },
+
+  observe() {
+    appStartupDone();
+    this.unregister();
+  }
+}
+
+const APP_STARTUP = 1;
 function startup(data, reason) { // eslint-disable-line no-unused-vars
-  appStartupDone();
+  if (reason === APP_STARTUP) {
+    appStartupObserver.register();
+  } else {
+    appStartupDone();
+  }
   prefObserver.register();
   addonResourceURI = data.resourceURI;
   // eslint-disable-next-line promise/catch-or-return
   appStartupPromise.then(handleStartup);
 }
 
 function shutdown(data, reason) { // eslint-disable-line no-unused-vars
   prefObserver.unregister();
--- a/browser/extensions/screenshots/install.rdf
+++ b/browser/extensions/screenshots/install.rdf
@@ -7,14 +7,14 @@
     <em:targetApplication>
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!--Firefox-->
         <em:minVersion>51.0a1</em:minVersion>
         <em:maxVersion>*</em:maxVersion>
       </Description>
     </em:targetApplication>
     <em:type>2</em:type>
-    <em:version>6.6.0</em:version>
+    <em:version>8.1.0</em:version>
     <em:bootstrap>true</em:bootstrap>
     <em:homepageURL>https://pageshot.net/</em:homepageURL>
     <em:multiprocessCompatible>true</em:multiprocessCompatible>
   </Description>
 </RDF>
--- a/browser/extensions/screenshots/moz.build
+++ b/browser/extensions/screenshots/moz.build
@@ -9,17 +9,16 @@ FINAL_TARGET_FILES.features['screenshots
   'install.rdf'
 ]
 
 # This file list is automatically generated by Screenshots' export scripts.
 # AUTOMATIC INSERTION START
 FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"] += [
   'webextension/assertIsTrusted.js',
   'webextension/blank.html',
-  'webextension/buildSettings.js.template',
   'webextension/catcher.js',
   'webextension/clipboard.js',
   'webextension/domainFromUrl.js',
   'webextension/log.js',
   'webextension/makeUuid.js',
   'webextension/manifest.json',
   'webextension/randomString.js',
   'webextension/sitehelper.js'
@@ -48,16 +47,20 @@ FINAL_TARGET_FILES.features['screenshots
 FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["cs"] += [
   'webextension/_locales/cs/messages.json'
 ]
 
 FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["cy"] += [
   'webextension/_locales/cy/messages.json'
 ]
 
+FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["da"] += [
+  'webextension/_locales/da/messages.json'
+]
+
 FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["de"] += [
   'webextension/_locales/de/messages.json'
 ]
 
 FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["_locales"]["dsb"] += [
   'webextension/_locales/dsb/messages.json'
 ]
 
@@ -299,26 +302,18 @@ FINAL_TARGET_FILES.features['screenshots
 
 FINAL_TARGET_FILES.features['screenshots@mozilla.org']["webextension"]["icons"] += [
   'webextension/icons/back-highlight.svg',
   'webextension/icons/back.svg',
   'webextension/icons/cancel.svg',
   'webextension/icons/copy.png',
   'webextension/icons/done.svg',
   'webextension/icons/download.svg',
-  'webextension/icons/icon-128.png',
-  'webextension/icons/icon-16.png',
   'webextension/icons/icon-16.svg',
-  'webextension/icons/icon-19.png',
-  'webextension/icons/icon-256.png',
-  'webextension/icons/icon-32.png',
   'webextension/icons/icon-32.svg',
-  'webextension/icons/icon-38.png',
-  'webextension/icons/icon-48.png',
-  'webextension/icons/icon-64.png',
   'webextension/icons/icon-highlight-32.svg',
   'webextension/icons/icon-starred-32.svg',
   'webextension/icons/icon-welcome-face-without-eyes.svg',
   'webextension/icons/menu-fullpage.svg',
   'webextension/icons/menu-myshot.svg',
   'webextension/icons/menu-visible.svg',
   'webextension/icons/onboarding-1.png',
   'webextension/icons/onboarding-2.png',
--- a/browser/extensions/screenshots/test/browser/browser_screenshots_ui_check.js
+++ b/browser/extensions/screenshots/test/browser/browser_screenshots_ui_check.js
@@ -1,21 +1,21 @@
 "use strict";
 
 function checkElements(expectPresent, l) {
   for (let id of l) {
     is(!!document.getElementById(id), expectPresent, "element " + id + (expectPresent ? " is" : " is not") + " present");
   }
 }
 
-add_task(async function() {
-  await promiseScreenshotsEnabled();
+add_task(function*() {
+  yield promiseScreenshotsEnabled();
 
-  registerCleanupFunction(async function() {
-    await promiseScreenshotsReset();
+  registerCleanupFunction(function* () {
+    yield promiseScreenshotsReset();
   });
 
-  await BrowserTestUtils.waitForCondition(
+  yield BrowserTestUtils.waitForCondition(
     () => document.getElementById("screenshots_mozilla_org-browser-action"),
     "Screenshots button should be present", 100, 100);
 
   checkElements(true, ["screenshots_mozilla_org-browser-action"]);
 });
--- a/browser/extensions/screenshots/test/browser/head.js
+++ b/browser/extensions/screenshots/test/browser/head.js
@@ -1,10 +1,8 @@
-/* global CustomizableUI, info, Services */
-
 // Currently Screenshots is disabled in tests.  We want these tests to work under
 // either case that Screenshots is disabled or enabled on startup of the browser,
 // and that at the end we're reset to the correct state.
 let enabledOnStartup = false;
 
 // ScreenshotsEnabled/Disabled promises return true if it was already
 // Enabled/Disabled, and false if it need to Enable/Disable.
 function promiseScreenshotsEnabled() {
--- a/browser/extensions/screenshots/webextension/_locales/ach/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ach/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Mak vidio ma ki ngolo macego cego ki cal me wang kio ki i Kakube ka igwok gi pi tutunu onyo matwal."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Mak cal me wang kio"
   },
   "myShotsLink": {
     "message": "Cal Na"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/az/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/az/messages.json
@@ -1,20 +1,47 @@
 {
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
+  },
+  "contextMenuLabel": {
+    "message": "Ekran görüntüsü al"
+  },
+  "myShotsLink": {
+    "message": "Ekran Görüntülərim"
   },
   "saveScreenshotSelectedArea": {
     "message": "Saxla"
   },
   "saveScreenshotVisibleArea": {
     "message": "Görünən ərazini saxla"
   },
+  "saveScreenshotFullPage": {
+    "message": "Tam səhifəni saxla"
+  },
   "cancelScreenshot": {
     "message": "Ləğv et"
   },
   "downloadScreenshot": {
     "message": "Endir"
   },
   "notificationLinkCopiedTitle": {
     "message": "Keçid köçürüldü"
+  },
+  "tourSkip": {
+    "message": "Ötür"
+  },
+  "tourNext": {
+    "message": "Növbəti Slayd"
+  },
+  "tourPrevious": {
+    "message": "Əvvəlki Slayd"
+  },
+  "tourDone": {
+    "message": "Tamamlandı"
+  },
+  "termsAndPrivacyNoticeTermsLink": {
+    "message": "Şərtlər"
+  },
+  "termsAndPrivacyNoticyPrivacyLink": {
+    "message": "Məxfilik Bildirişi"
   }
 }
\ No newline at end of file
--- a/browser/extensions/screenshots/webextension/_locales/be/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/be/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Рабіце кліпы і здымкі экрана ў Сеціве і захоўвайце іх часова або назаўжды."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Зрабіць здымак экрана"
   },
   "myShotsLink": {
     "message": "Мае здымкі"
   },
   "screenshotInstructions": {
@@ -78,17 +78,17 @@
   },
   "tourBodyTwo": {
     "message": "Пстрыкніце і пацягніце мышшу для захопу часткі старонкі. Вы таксама можаце навесці курсор мышы для падсвятлення абранай вобласці."
   },
   "tourHeaderThree": {
     "message": "Як вам падабаецца"
   },
   "tourBodyThree": {
-    "message": "Захоўваеце свае здымкі ў Інтэрнэце, каб лёгка імі дзяліцца, або загружайце іх на свой кампутар. Вы таксама можаце прагледзець усе захаваныя здымкі, націснуўшы на кнопку Мае здымкі."
+    "message": "Захоўваеце свае здымкі ў Інтэрнэце, каб лёгка імі дзяліцца, або загружайце іх на свой камп'ютар. Вы таксама можаце прагледзець усе захаваныя здымкі, націснуўшы на кнопку Мае здымкі."
   },
   "tourHeaderFour": {
     "message": "Рабіце захоп вокнаў або цэлых старонак"
   },
   "tourBodyFour": {
     "message": "З дапамогай кнопак у верхнім правым куце выбірайце захоп бачнай вобласці акна або старонкі цалкам."
   },
   "tourSkip": {
--- a/browser/extensions/screenshots/webextension/_locales/bg/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/bg/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Прави клипове и снимки на уебстраница и ги запазва временно или за постоянно."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Снимка на екрана"
   },
   "myShotsLink": {
     "message": "Моите снимки"
   },
   "screenshotInstructions": {
@@ -72,17 +72,17 @@
   },
   "tourBodyOne": {
     "message": "Правете, запазвайте и споделяйте снимки на екрана без да напускате Firefox."
   },
   "tourHeaderTwo": {
     "message": "Уловете само нужното"
   },
   "tourBodyTwo": {
-    "message": "Щракнете с мишката или влачете, за да уловите части от страницата. Посочвайки елементите на страницата те се осветяват."
+    "message": "Щракнете с мишката или влачете, за да уловите части от страницата. Посочвайки елементи от страницата – те се осветяват."
   },
   "tourHeaderThree": {
     "message": "Както ви харесва"
   },
   "tourBodyThree": {
     "message": "Запазете снимките на страници от Мрежата за по-лесно споделяне или ги изтеглете на компютъра си. А бутонът „Моите снимки“ ще ви покаже всички направени от вас снимки."
   },
   "tourHeaderFour": {
--- a/browser/extensions/screenshots/webextension/_locales/bn_BD/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/bn_BD/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "ওয়েব থেকে ক্লিপ এবং স্ক্রিনশট নিন এবং সেগুলো সাময়িকভাবে বা স্থায়ীভাবে সংরক্ষণ করুন।"
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "একটি স্ক্রীনশট নিন"
   },
   "myShotsLink": {
     "message": "আমার সটসমূহ"
   },
   "screenshotInstructions": {
@@ -98,15 +98,26 @@
     "message": "পরবর্তী স্লাইড"
   },
   "tourPrevious": {
     "message": "পূর্ববর্তী স্লাইড"
   },
   "tourDone": {
     "message": "সম্পন্ন"
   },
+  "termsAndPrivacyNoticeCloudServices": {
+    "message": "Firefox Screenshots ব্যবহারে, আপনি Firefox Cloud Services এর $TERMSANDPRIVACYNOTICETERMSLINK$ এবং $TERMSANDPRIVACYNOTICEPRIVACYLINK$ নীতিতে সম্মত হয়েছেন।",
+    "placeholders": {
+      "termsandprivacynoticetermslink": {
+        "content": "$1"
+      },
+      "termsandprivacynoticeprivacylink": {
+        "content": "$2"
+      }
+    }
+  },
   "termsAndPrivacyNoticeTermsLink": {
     "message": "শর্তাবলী"
   },
   "termsAndPrivacyNoticyPrivacyLink": {
     "message": "গোপনীয়তা নীতি"
   }
 }
\ No newline at end of file
--- a/browser/extensions/screenshots/webextension/_locales/cs/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/cs/messages.json
@@ -1,23 +1,23 @@
 {
   "addonDescription": {
     "message": "Pořizujte snímky webových stránek a ukládejte je dočasně nebo natrvalo."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Pořídit snímek obrazovky"
   },
   "myShotsLink": {
     "message": "Mé snímky"
   },
   "screenshotInstructions": {
-    "message": "Stiskněte tlačítko myši a tahem označte oblast snímku. Pro zrušení výběru stiskněte klávesu ESC."
+    "message": "Oblast vyberete kliknutím nebo tahem myší. Pro zrušení stiskněte ESC."
   },
   "saveScreenshotSelectedArea": {
     "message": "Uložit"
   },
   "saveScreenshotVisibleArea": {
     "message": "Uložit viditelnou oblast"
   },
   "saveScreenshotFullPage": {
--- a/browser/extensions/screenshots/webextension/_locales/cy/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/cy/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Cymrwch clipiau a lluniau sgrin o'r We a'u cadw dros dro neu'n barhaol."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Cymryd Llun Sgrin Screenshot"
   },
   "myShotsLink": {
     "message": "Fy Lluniau Sgrin"
   },
   "screenshotInstructions": {
new file mode 100644
--- /dev/null
+++ b/browser/extensions/screenshots/webextension/_locales/da/messages.json
@@ -0,0 +1,123 @@
+{
+  "addonDescription": {
+    "message": "Tag udklip og skærmbilleder fra nettet og gem dem midlertidigt eller permanent."
+  },
+  "addonAuthorsList": {
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
+  },
+  "contextMenuLabel": {
+    "message": "Tag et skærmbillede"
+  },
+  "myShotsLink": {
+    "message": "Mine skærmbilleder"
+  },
+  "screenshotInstructions": {
+    "message": "Træk eller klik på siden for at vælge et område. Tryk på ESC for at fortryde."
+  },
+  "saveScreenshotSelectedArea": {
+    "message": "Gem"
+  },
+  "saveScreenshotVisibleArea": {
+    "message": "Gem synligt område"
+  },
+  "saveScreenshotFullPage": {
+    "message": "Gem hele siden"
+  },
+  "cancelScreenshot": {
+    "message": "Fortryd"
+  },
+  "downloadScreenshot": {
+    "message": "Hent"
+  },
+  "notificationLinkCopiedTitle": {
+    "message": "Link kopieret"
+  },
+  "notificationLinkCopiedDetails": {
+    "message": "Linket til dit skærmbillede er blevet gemt i udklipsholderen. Tryk på $META_KEY$-V for at sætte ind. ",
+    "placeholders": {
+      "meta_key": {
+        "content": "$1"
+      }
+    }
+  },
+  "requestErrorTitle": {
+    "message": "Ude af funktion"
+  },
+  "requestErrorDetails": {
+    "message": "Vi kunne desværre ikke gemme dit skærmbillede. Prøv igen senere."
+  },
+  "connectionErrorTitle": {
+    "message": "Vi kan ikke oprette forbindelse til dine skærmbilleder."
+  },
+  "connectionErrorDetails": {
+    "message": "Kontroller din internet-forbindelse. Hvis du ikke kan oprette forbindelse til internettet, kan der være et midlertidigt teknisk problem med Firefox Screenshots. "
+  },
+  "loginErrorDetails": {
+    "message": "Vi kunne ikke gemme dit skærmbillede, fordi der er et teknisk problem med Firefox Screenshots. Prøv igen senere. "
+  },
+  "unshootablePageErrorTitle": {
+    "message": "Vi kan ikke tage et skærmbillede af denne side. "
+  },
+  "unshootablePageErrorDetails": {
+    "message": "Dette er ikke en almindelig webside, så du kan ikke tage skærmbilleder af den. "
+  },
+  "selfScreenshotErrorTitle": {
+    "message": "Du kan ikke tage skærmbilleder af en side i Firefox Screenshots."
+  },
+  "genericErrorTitle": {
+    "message": "Hov! Noget gik helt galt med Firefox Screenshots."
+  },
+  "genericErrorDetails": {
+    "message": "Vi er ikke sikre på, hvad der lige skete. Vil du prøve igen - eller vil du tage et skærmbillede af en anden side?"
+  },
+  "tourBodyOne": {
+    "message": "Tag, gem og del skærmbilleder uden at forlade Firefox. "
+  },
+  "tourHeaderTwo": {
+    "message": "Gem lige hvad du vil."
+  },
+  "tourBodyTwo": {
+    "message": "Klik og træk for at tage et udklip af en del af en side. Du kan også holde markøren over for at fremhæve din markering."
+  },
+  "tourHeaderThree": {
+    "message": "Som du vil have det."
+  },
+  "tourBodyThree": {
+    "message": "Gem dine beskårne skærmbilleder på nettet for nemmere at dele dem - eller hent dem ned på din computer. Du kan også klikke på knappen \"Mine skærmbilleder\" for at finde de skærmbilleder, du har taget."
+  },
+  "tourHeaderFour": {
+    "message": "Tag skærmbilleder af vinduer eller hele sider."
+  },
+  "tourBodyFour": {
+    "message": "Brug knapperne øverst til højre for at tage et skærmbillede af det synlige område i vinduet eller for at tage et skærmbillede af hele siden."
+  },
+  "tourSkip": {
+    "message": "SPRING OVER"
+  },
+  "tourNext": {
+    "message": "Næste side"
+  },
+  "tourPrevious": {
+    "message": "Forrige side"
+  },
+  "tourDone": {
+    "message": "Færdig"
+  },
+  "termsAndPrivacyNoticeCloudServices": {
+    "message": "Ved at anvende Firefox Screenshots godkender du $TERMSANDPRIVACYNOTICETERMSLINK$ og $TERMSANDPRIVACYNOTICEPRIVACYLINK$ for Firefox Cloud Services.",
+    "placeholders": {
+      "termsandprivacynoticetermslink": {
+        "content": "$1"
+      },
+      "termsandprivacynoticeprivacylink": {
+        "content": "$2"
+      }
+    }
+  },
+  "termsAndPrivacyNoticeTermsLink": {
+    "message": "vilkår"
+  },
+  "termsAndPrivacyNoticyPrivacyLink": {
+    "message": "privatlivspolitik"
+  }
+}
\ No newline at end of file
--- a/browser/extensions/screenshots/webextension/_locales/de/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/de/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Speichern Sie Ausschnitte und Bildschirmfotos von Webseiten, die Sie temporär oder dauerhaft speichern können."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Bildschirmfoto aufnehmen"
   },
   "myShotsLink": {
     "message": "Meine Bildschirmfotos"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/dsb/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/dsb/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Wzejśo klipy a fota wobrazowki z weba a składujśo je nachylu abo na pśecej."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Foto wobrazowki gótowaś"
   },
   "myShotsLink": {
     "message": "Móje fota wobrazowki"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/el/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/el/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Πραγματοποιήστε λήψη στιγμιοτύπων από το Διαδίκτυο και αποθηκεύστε τα προσωρινά ή μόνιμα."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Λήψη στιγμιότυπου"
   },
   "myShotsLink": {
     "message": "Οι λήψεις μου"
   },
   "screenshotInstructions": {
@@ -25,17 +25,17 @@
   },
   "cancelScreenshot": {
     "message": "Ακύρωση"
   },
   "downloadScreenshot": {
     "message": "Λήψη"
   },
   "notificationLinkCopiedTitle": {
-    "message": "Αντιγραφή Συνδέσμου"
+    "message": "Ο σύνδεσμος αντιγράφηκε"
   },
   "notificationLinkCopiedDetails": {
     "message": "Ο σύνδεσμος προς την λήψη σας αντιγράφηκε στο πρόχειρο. Πατήστε $META_KEY$-V για επικόλληση.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
@@ -69,29 +69,29 @@
   },
   "genericErrorDetails": {
     "message": "Δεν είμαστε σίγουροι για το τι ακριβώς συνέβη. Προσπαθήστε ξανά ή κάντε λήψη σε μια άλλη σελίδα."
   },
   "tourBodyOne": {
     "message": "Λήψη, αποθήκευση και διαμοιρασμός στιγμιοτύπων μέσα από το Firefox."
   },
   "tourHeaderTwo": {
-    "message": "Καταγράψτε αυτό που Εσείς Επιθυμείτε"
+    "message": "Καταγράψτε αυτό που εσείς επιθυμείτε"
   },
   "tourBodyTwo": {
     "message": "Κάντε κλικ και σύρετε για την καταγραφή ενός τμήματος της σελίδας. Μπορείτε να επισημάνετε την επιλογή σας μετακινώντας τον ποντίκι σας επάνω της."
   },
   "tourHeaderThree": {
     "message": "Ακριβώς όπως το θέλετε"
   },
   "tourBodyThree": {
     "message": "Αποθηκεύστε της λήψεις σας στο Διαδίκτυο για ευκολότερο διαμοιρασμό, η λήψη τους στον υπολογιστή σας. Μπορείτε να βρείτε όλες τις λήψεις σας πατώντας στο κουμπί «Οι λήψεις μου»."
   },
   "tourHeaderFour": {
-    "message": "Καταγράψτε Παράθυρα ή Ολόκληρες Σελίδες"
+    "message": "Λήψη παραθύρων ή ολόκληρων σελίδων"
   },
   "tourBodyFour": {
     "message": "Επιλέξτε τα κουμπιά επάνω δεξιά για να καταγράψετε την ορατή περιοχή του παραθύρου ή να καταγράψετε μια ολόκληρη σελίδα."
   },
   "tourSkip": {
     "message": "Παράβλεψη"
   },
   "tourNext": {
--- a/browser/extensions/screenshots/webextension/_locales/en_GB/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/en_GB/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Take clips and screenshots from the Web and save them temporarily or permanently."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Take a Screenshot"
   },
   "myShotsLink": {
     "message": "My Shots"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/en_US/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/en_US/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Take clips and screenshots from the Web and save them temporarily or permanently."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Take a Screenshot"
   },
   "myShotsLink": {
     "message": "My Shots"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/es_AR/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/es_AR/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Tomá imágenes y capturas de la web y guardalos temporal o permanentemente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Hacer captura de pantalla"
   },
   "myShotsLink": {
     "message": "Mis capturas"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/es_CL/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/es_CL/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Toma capturas de un sitio Web para guardarlas de forma temporal o permanentemente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Toma una captura de pantalla"
   },
   "myShotsLink": {
     "message": "Mis capturas"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/es_ES/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/es_ES/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Haz capturas y recortes de la web y guárdalos temporal o permanentemente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Hacer una captura de pantalla"
   },
   "myShotsLink": {
     "message": "Mis capturas"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/es_MX/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/es_MX/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Tomar clips y capturas de pantalla de la web y guardarlos temporalmente o permanentemente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Tomar captura de pantalla"
   },
   "myShotsLink": {
     "message": "Mis capturas"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/et/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/et/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Tee veebist klippe või ekraanipilte ning salvesta need ajutiselt või püsivalt."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Tee ekraanipilt"
   },
   "myShotsLink": {
     "message": "Minu pildid"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/fa/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/fa/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "از وب عکس بگیرید و کلیپ بسازید و به صورت موقت یا دایمی ذخیره کنید."
   },
   "addonAuthorsList": {
-    "message": "موزیلا <screenshots-feedback@mozilla.org>"
+    "message": "موزیلا <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "از صفحه عکس بگیرید"
   },
   "myShotsLink": {
     "message": "عکس‌های من"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/fi/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/fi/messages.json
@@ -1,11 +1,23 @@
 {
+  "addonDescription": {
+    "message": "Ota leikkeitä ja kuvakaappauksia verkosta ja tallenna ne tilapäisesti tai pysyvästi."
+  },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
+  },
+  "contextMenuLabel": {
+    "message": "Ota kuvakaappaus"
+  },
+  "myShotsLink": {
+    "message": "Omat kaappaukset"
+  },
+  "screenshotInstructions": {
+    "message": "Valitse alue vetämällä tai napsauttamalla sivua. Peruuta painamalla ESC."
   },
   "saveScreenshotSelectedArea": {
     "message": "Tallenna"
   },
   "saveScreenshotVisibleArea": {
     "message": "Tallenna näkyvä osuus"
   },
   "saveScreenshotFullPage": {
@@ -14,10 +26,98 @@
   "cancelScreenshot": {
     "message": "Peruuta"
   },
   "downloadScreenshot": {
     "message": "Lataa"
   },
   "notificationLinkCopiedTitle": {
     "message": "Linkki kopioitu"
+  },
+  "notificationLinkCopiedDetails": {
+    "message": "Linkki kuvaasi on kopioitu leikepöydälle. Voit liittää sen painamalla $META_KEY$-V.",
+    "placeholders": {
+      "meta_key": {
+        "content": "$1"
+      }
+    }
+  },
+  "requestErrorTitle": {
+    "message": "Epäkunnossa."
+  },
+  "requestErrorDetails": {
+    "message": "Kuvan tallentaminen epäonnistui. Yritä myöhemmin uudestaan."
+  },
+  "connectionErrorTitle": {
+    "message": "Emme saa yhteyttä kuvakaappauksiisi."
+  },
+  "connectionErrorDetails": {
+    "message": "Tarkista internetyhteytesi. Jos olet yhteydessä internetiin, Firefox Screenshots -palvelussa voi olla tilapäinen häiriö."
+  },
+  "loginErrorDetails": {
+    "message": "Emme pystyneet tallentamaan kuvaasi, koska Firefox Screenshots -palvelussa on ongelma. Yritä myöhemmin uudestaan."
+  },
+  "unshootablePageErrorTitle": {
+    "message": "Tästä sivusta ei voi ottaa kuvaa."
+  },
+  "unshootablePageErrorDetails": {
+    "message": "Tämä ei ole tavallinen verkkosivu, joten et voi ottaa kuvaa siitä."
+  },
+  "selfScreenshotErrorTitle": {
+    "message": "Et voi ottaa kuvaa Firefox Screenshots -sivusta!"
+  },
+  "genericErrorTitle": {
+    "message": "Oho! Firefox Screenshots meni päin prinkkalaa."
+  },
+  "genericErrorDetails": {
+    "message": "Emme oikein tiedä, mitä tapahtui. Haluatko yrittää uudestaan tai ottaa kuvan eri sivusta?"
+  },
+  "tourBodyOne": {
+    "message": "Ota, tallenna ja jaa kuvakaappaus poistumatta Firefoxista."
+  },
+  "tourHeaderTwo": {
+    "message": "Kaappaa mitä haluat"
+  },
+  "tourBodyTwo": {
+    "message": "Kaappaa vain osa sivusta napsauttamalla ja vetämällä. Voit myös korostaa valinnan pitämällä hiirtä sen päällä."
+  },
+  "tourHeaderThree": {
+    "message": "Haluamallasi tavalla"
+  },
+  "tourBodyThree": {
+    "message": "Tallenna rajaamasi kuvat verkkoon helpompaa jakamista varten tai lataa ne tietokoneellesi. Voit myös napsauttaa Omat kaappaukset -painiketta ja nähdä kaikki ottamasi kuvat."
+  },
+  "tourHeaderFour": {
+    "message": "Kaappaa ikkunoita tai kokonaisia sivuja"
+  },
+  "tourBodyFour": {
+    "message": "Valitse oikean yläkulman painikkeista joko ikkunassa näkyvän alueen kaappaus tai koko sivun kaappaus."
+  },
+  "tourSkip": {
+    "message": "OHITA"
+  },
+  "tourNext": {
+    "message": "Seuraava sivu"
+  },
+  "tourPrevious": {
+    "message": "Edellinen sivu"
+  },
+  "tourDone": {
+    "message": "Valmis"
+  },
+  "termsAndPrivacyNoticeCloudServices": {
+    "message": "Käyttämällä Firefox Screenshots –ominaisuutta hyväksyt Firefoxin pilvipalveluiden $TERMSANDPRIVACYNOTICETERMSLINK$ ja $TERMSANDPRIVACYNOTICEPRIVACYLINK$.",
+    "placeholders": {
+      "termsandprivacynoticetermslink": {
+        "content": "$1"
+      },
+      "termsandprivacynoticeprivacylink": {
+        "content": "$2"
+      }
+    }
+  },
+  "termsAndPrivacyNoticeTermsLink": {
+    "message": "käyttöehdot"
+  },
+  "termsAndPrivacyNoticyPrivacyLink": {
+    "message": "tietosuojakäytännön"
   }
 }
\ No newline at end of file
--- a/browser/extensions/screenshots/webextension/_locales/fr/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/fr/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Effectuez des captures d’écran sur le Web et sauvegardez-les de manière temporaire ou permanente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Effectuer une capture d’écran"
   },
   "myShotsLink": {
     "message": "Mes captures d’écran"
   },
   "screenshotInstructions": {
@@ -51,17 +51,17 @@
   },
   "connectionErrorDetails": {
     "message": "Veuillez vérifier votre connexion à Internet. Si celle-ci fonctionne normalement, il peut y avoir un problème temporaire avec le service de Firefox Screenshots."
   },
   "loginErrorDetails": {
     "message": "Nous n’avons pas pu enregistrer votre capture d’écran, car le service de Firefox Screenshot rencontre des difficultés. Veuillez réessayer plus tard."
   },
   "unshootablePageErrorTitle": {
-    "message": "Impossible d’effectuer une capture d’écran de cette page."
+    "message": "Impossible d’effectuer une capture de cette page."
   },
   "unshootablePageErrorDetails": {
     "message": "Impossible d’effectuer une capture d’écran, car cette page web n’est pas standard."
   },
   "selfScreenshotErrorTitle": {
     "message": "Vous ne pouvez pas effectuer une capture d’écran d’une page Firefox Screenshots."
   },
   "genericErrorTitle": {
--- a/browser/extensions/screenshots/webextension/_locales/fy_NL/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/fy_NL/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Meitsje skermprintsjes of klips fan it web en bewarje se tydlik of permanint."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Meitsje in skermprintsje"
   },
   "myShotsLink": {
     "message": "Myn skermprintsjes"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/gu_IN/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/gu_IN/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "વેબમાંથી ક્લિપ્સ અને સ્ક્રીનશૉટ્સ લો અને તેમને કામચલાઉ અથવા કાયમી રીતે સાચવો."
   },
   "addonAuthorsList": {
-    "message": "Mozilla<screenshots-feedback@mozilla.org>"
+    "message": "Mozilla<screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "સ્ક્રીનશૉટ લેવા"
   },
   "myShotsLink": {
     "message": "મારા શોટ્સ"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/he/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/he/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "יצירת צילומי מסך של דפי אינטרנט ושמירה שלהם באופן זמני או קבוע."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "צילום מסך"
   },
   "myShotsLink": {
     "message": "צילומי המסך שלי"
   },
   "screenshotInstructions": {
@@ -84,17 +84,17 @@
   },
   "tourBodyThree": {
     "message": "שמירת הצילומים החתוכים שלך לאחסון מקוון לצורך שיתוף פשוט יותר, או להוריד אותם למחשב שלך. ניתן גם ללחוץ על כפתור הצילומים שלי כדי למצוא את כל הצילומים שצילמת."
   },
   "tourHeaderFour": {
     "message": "לצלם חלונות או דפים שלמים"
   },
   "tourBodyFour": {
-    "message": "נא לבחור בכפתורים שבחלק העליון כדי לצלם את האזור הגלוי בחלון או לצלם את הדף כולו."
+    "message": "בחרו בכפתורים שבחלק העליון כדי לצלם את האזור הגלוי בחלון או כדי לצלם את הדף כולו."
   },
   "tourSkip": {
     "message": "דילוג"
   },
   "tourNext": {
     "message": "השקופית הבאה"
   },
   "tourPrevious": {
--- a/browser/extensions/screenshots/webextension/_locales/hi_IN/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/hi_IN/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "वेब से फ़ोटो और स्क्रीनशॉट लें और उन्हें अस्थायी या स्थायी रूप से सहेजें."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "स्क्रीनशॉट लें"
   },
   "myShotsLink": {
     "message": "मेरे चित्र"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/hsb/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/hsb/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Wzmiće klipy a fota wobrazowki z weba a składujće je nachwilu abo na přeco."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Foto wobrazowki činić"
   },
   "myShotsLink": {
     "message": "Moje fota wobrazowki"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/hu/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/hu/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Készítsen videoklipeket és képernyőképeket a webről, és mentse őket ideiglenesen vagy véglegesen."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Készítsen képernyőképet"
   },
   "myShotsLink": {
     "message": "Az Ön képei"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/hy_AM/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/hy_AM/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Ստացեք հոլովակներ և էկրանի հանույթներ վեբից և պահպանեք դանք ժամանակավոր կամ մշտապես:"
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Ստանալ էկրանի պատկերը"
   },
   "myShotsLink": {
     "message": "Իմ պատկերները"
   },
   "screenshotInstructions": {
@@ -66,17 +66,17 @@
   },
   "genericErrorTitle": {
     "message": "Firefox Screenshots-ը գնաց գլխիվայր:"
   },
   "genericErrorDetails": {
     "message": "Մենք վստահ չենք, թե ինչ է տեղի ունեցնել: Կրկին փորձեք կամ փորձեք ստանալ մեկ այլ էջի պատկերը:"
   },
   "tourBodyOne": {
-    "message": "Ստացեք, պահպանեք և համօգտագործեք էկրանի հանույթները՝ առանց Firefox-ը լքելու: "
+    "message": "Ստացեք, պահպանեք և համօգտագործեք էկրանի հանույթները՝ առանց Firefox-ը լքելու:"
   },
   "tourHeaderTwo": {
     "message": "Ստացեք միայն այն, ինչ Ձեզ պետք է:"
   },
   "tourBodyTwo": {
     "message": "Սեղմեք և քաշեք՝ ստանալու համար միայն էջի մի մասը: Նաև կարող եք վրայով անցկացնել՝ գունանշելու համար ընտրումը:"
   },
   "tourHeaderThree": {
--- a/browser/extensions/screenshots/webextension/_locales/id/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/id/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Rekam klip dan tangkapan layar dari Web dan simpan untuk sementara atau secara permanen."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Buat Tangkapan layar"
   },
   "myShotsLink": {
     "message": "Gambar Saya"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/it/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/it/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Crea screenshot di contenuti sul Web e salvali, solo per un periodo di tempo o in modo permanente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Cattura screenshot"
   },
   "myShotsLink": {
     "message": "I miei screenshot"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/ja/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ja/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "ウェブからスクリーンショットを撮って、一時的または永久にそれを保存しましょう。"
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "スクリーンショットを撮る"
   },
   "myShotsLink": {
     "message": "自分のショット"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/kab/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/kab/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Ṭṭef imrayen akked igdilen si Web sakin sekles-iten s wudem askudan neγ s wudem yezgan."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Ṭṭef agdil"
   },
   "myShotsLink": {
     "message": "Tuṭṭfiwin-iw"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/kk/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/kk/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Интернеттен скриншоттарды түсіріп, оларды уақытша немесе тұрақты түрде сақтаңыз."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Скриншотты түсіру"
   },
   "myShotsLink": {
     "message": "Менің скриншоттарым"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/ko/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ko/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "웹 페이지를 찍거나 영상으로 만들어 임시로, 혹은 영구히 보관하세요."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "스크린샷 찍기"
   },
   "myShotsLink": {
     "message": "내 스크린샷"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/lij/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/lij/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Fanni de föto do schermo da-o Web e sarvale in mòddo tenporaneo ò cin mòddo che restan."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Fanni 'na föto do schermo"
   },
   "myShotsLink": {
     "message": "E mæ föto do schermo"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/lo/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/lo/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "ຖ່າຍຄຣິບ ແລະ ພາບຫນ້າຈໍຈາກຫນ້າເວັບ ແລ້ວບັນທຶກໄວ້ຊົ່ວຄາວ ຫລື ຖາວອນ."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "ຖ່າຍພາບຫນ້າຈໍ"
   },
   "myShotsLink": {
     "message": "ພາບຂອງຂ້ອຍ"
   },
   "screenshotInstructions": {
@@ -19,17 +19,17 @@
   },
   "saveScreenshotVisibleArea": {
     "message": "ບັນທຶກສ່ວນທີ່ເບິງເຫັນໄດ້"
   },
   "saveScreenshotFullPage": {
     "message": "ບັນທຶກຫມົດຫນ້າ"
   },
   "cancelScreenshot": {
-    "message": ""
+    "message": "ຍົກເລີກ"
   },
   "downloadScreenshot": {
     "message": "ດາວໂຫລດ"
   },
   "notificationLinkCopiedTitle": {
     "message": "ໄດ້ສຳເນົາລີ້ງໄວ້ແລ້ວ"
   },
   "notificationLinkCopiedDetails": {
--- a/browser/extensions/screenshots/webextension/_locales/lt/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/lt/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Darykite iškarpas ir ekrano nuotraukos su interneto turiniu bei saugokite jas laikinai arba visąlaik."
   },
   "addonAuthorsList": {
-    "message": "„Mozilla“ <screenshots-feedback@mozilla.org>"
+    "message": "„Mozilla“ <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Padaryti ekrano nuotrauką"
   },
   "myShotsLink": {
     "message": "Mano kadrai"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/ms/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ms/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Ambil klip dan skrinshot dari Web dan simpan untuk sementara waktu atau kekal."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Ambil skrinshot"
   },
   "myShotsLink": {
     "message": "Shot Saya"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/my/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/my/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "ဝဘ်ထံမှ ဓါတ်ပုံများနှင့် မျက်နှာပြင်ပုံဖမ်းချက်များကို ရိုက်ယူပြီး ယာယီ သို့မဟုတ် အမြဲတမ်းသိုလှောင်ရာတွင် သိမ်းဆည်းပါ။"
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "မျက်နှာပြင်ပုံရိပ် ဖမ်းယူပါ"
   },
   "myShotsLink": {
     "message": "ရိုက်ကူးထားသော ပုံများ"
   },
   "saveScreenshotSelectedArea": {
--- a/browser/extensions/screenshots/webextension/_locales/nb_NO/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/nb_NO/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Ta klipp og skjermbilder fra nettet og lagre de midlertidig eller permanent."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Ta et skjermbilde"
   },
   "myShotsLink": {
     "message": "Mine skjermbilder"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/nl/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/nl/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Maak clips en schermafbeeldingen van het web en sla deze tijdelijk of permanent op."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Een schermafbeelding maken"
   },
   "myShotsLink": {
     "message": "Mijn afbeeldingen"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/nn_NO/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/nn_NO/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Ta klipp og skjermbilde frå nettet og lagre dei mellombels eller permanent."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Ta eit skjermbilde"
   },
   "myShotsLink": {
     "message": "Mine skjermbilde"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/pa_IN/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/pa_IN/messages.json
@@ -1,11 +1,11 @@
 {
   "addonAuthorsList": {
-    "message": "ਮੌਜ਼ੀਲਾ <screenshots-feedback@mozilla.org>"
+    "message": "ਮੌਜ਼ੀਲਾ <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "ਸਕਰੀਨ-ਸ਼ਾਟ ਲਵੋ"
   },
   "myShotsLink": {
     "message": "ਮੇਰੇ ਸ਼ਾਟ"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/pl/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/pl/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Twórz wycinki i zrzuty stron internetowych i zapisuj je tymczasowo lub trwale."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Wykonaj zrzut ekranu"
   },
   "myShotsLink": {
     "message": "Moje zrzuty"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/pt_BR/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/pt_BR/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Tire clipes e capturas de tela da Web e guarde-as temporariamente ou permanentemente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Tirar uma captura de tela"
   },
   "myShotsLink": {
     "message": "Minhas capturas"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/pt_PT/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/pt_PT/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Tire clipes e capturas de ecrã da Web e guarde-as temporariamente ou permanentemente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Tirar uma captura de ecrã"
   },
   "myShotsLink": {
     "message": "Minhas capturas"
   },
   "screenshotInstructions": {
@@ -28,52 +28,52 @@
   },
   "downloadScreenshot": {
     "message": "Descarregar"
   },
   "notificationLinkCopiedTitle": {
     "message": "Ligação copiada"
   },
   "notificationLinkCopiedDetails": {
-    "message": "A ligação à sua captura foi copiada para a área de transferência. Pressione $META_KEY$-V para colar.",
+    "message": "A ligação para a sua captura foi copiada para a área de transferência. Pressione $META_KEY$-V para colar.",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "Fora de serviço."
   },
   "requestErrorDetails": {
     "message": "Desculpe! Não conseguimos guardar a sua captura. Por favor tente novamente mais tarde."
   },
   "connectionErrorTitle": {
     "message": "Não conseguimos ligar às suas capturas de ecrã."
   },
   "connectionErrorDetails": {
-    "message": "Por favor verifique a sua ligação à Internet. Se consegue ligar-se à Internet, pode existir um problema temporário com o serviço Capturas de ecrã Firefox."
+    "message": "Por favor verifique a sua ligação à Internet. Se consegue ligar-se à Internet, pode existir um problema temporário com o serviço Firefox Screenshots."
   },
   "loginErrorDetails": {
-    "message": "Não conseguimos guardar a sua captura porque existe um problema com o serviço Capturas de ecrã Firefox. Por favor tente novamente mais tarde."
+    "message": "Não conseguimos guardar a sua captura porque existe um problema com o serviço Firefox Screenshots. Por favor tente novamente mais tarde."
   },
   "unshootablePageErrorTitle": {
     "message": "Não conseguimos capturar o ecrã nesta página."
   },
   "unshootablePageErrorDetails": {
-    "message": "Esta não é uma página web padrão, por isso não podemos tirar uma captura de ecrã da mesma."
+    "message": "Esta não é uma página Web padrão, por isso não podemos tirar uma captura de ecrã da mesma."
   },
   "selfScreenshotErrorTitle": {
-    "message": "Não pode tirar uma captura duma página Capturas de ecrã Firefox!"
+    "message": "Não pode tirar uma captura de uma página Firefox Screenshots!"
   },
   "genericErrorTitle": {
-    "message": "Uau! Algo correu mal com o Capturas de ecrã Firefox."
+    "message": "Uau! Algo correu mal com o Firefox Screenshots."
   },
   "genericErrorDetails": {
-    "message": "Não temos a certeza do que acabou de acontecer. Tentar novamente ou tirar uma captura de uma página diferente?"
+    "message": "Não temos a certeza do que acabou de acontecer. Importa-se de tentar novamente ou tirar uma captura de uma página diferente?"
   },
   "tourBodyOne": {
     "message": "Tire, guarde, e partilhe capturas de ecrã sem sair do Firefox."
   },
   "tourHeaderTwo": {
     "message": "Capture aquilo mesmo que pretende"
   },
   "tourBodyTwo": {
@@ -84,40 +84,40 @@
   },
   "tourBodyThree": {
     "message": "Guarde as suas capturas na Web para partilhar mais facilmente, ou descarregue-as para o seu computador. Pode também clicar no botão Minhas capturas para encontras todas as capturas que tirou."
   },
   "tourHeaderFour": {
     "message": "Capture janelas ou páginas inteiras"
   },
   "tourBodyFour": {
-    "message": "Selecione os botões no canto superior direito para capturar a área visível na janela ou capturar uma página inteira."
+    "message": "Selecione os botões no canto superior direito para capturar a área visível na janela ou para capturar uma página inteira."
   },
   "tourSkip": {
-    "message": "Saltar"
+    "message": "SALTAR"
   },
   "tourNext": {
     "message": "Diapositivo seguinte"
   },
   "tourPrevious": {
     "message": "Diapositivo anterior"
   },
   "tourDone": {
     "message": "Feito"
   },
   "termsAndPrivacyNoticeCloudServices": {
-    "message": "Ao utilizar as Capturas de ecrã Firefox, você concorda com os $TERMSANDPRIVACYNOTICETERMSLINK$ e a $TERMSANDPRIVACYNOTICEPRIVACYLINK$ do Firefox Cloud Services.",
+    "message": "Ao utilizar o Firefox Screenshots, você concorda com os $TERMSANDPRIVACYNOTICETERMSLINK$ e com o $TERMSANDPRIVACYNOTICEPRIVACYLINK$ do Firefox Cloud Services.",
     "placeholders": {
       "termsandprivacynoticetermslink": {
         "content": "$1"
       },
       "termsandprivacynoticeprivacylink": {
         "content": "$2"
       }
     }
   },
   "termsAndPrivacyNoticeTermsLink": {
     "message": "Termos"
   },
   "termsAndPrivacyNoticyPrivacyLink": {
-    "message": "Nota de privacidade"
+    "message": "Aviso de privacidade"
   }
 }
\ No newline at end of file
--- a/browser/extensions/screenshots/webextension/_locales/rm/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/rm/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Fai maletgs da visur dal web ed als memorisescha temporarmain u permanentamain."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Far in maletg dal visur"
   },
   "myShotsLink": {
     "message": "Mes maletgs da visur"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/ru/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ru/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Делайте вырезки и скриншоты из Интернета и сохраняйте их временно или навсегда."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Сделать скриншот"
   },
   "myShotsLink": {
     "message": "Мои снимки"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/sk/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sk/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Vytvorte si snímky obrazovky na webe a uložte si ich dočasne či navždy."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Urobiť snímku obrazovky"
   },
   "myShotsLink": {
     "message": "Moje snímky"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/sl/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sl/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Zajemajte posnetke zaslona s spleta ter jih shranite začasno ali trajno."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Zajemi posnetek zaslona"
   },
   "myShotsLink": {
     "message": "Moji posnetki"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/sq/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sq/messages.json
@@ -1,18 +1,24 @@
 {
+  "addonDescription": {
+    "message": "Përftoni copëza dhe bëni foto në Web dhe ruajini ato përkohësisht ose përfundimisht."
+  },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Bëni një Foto"
   },
   "myShotsLink": {
     "message": "Shkrepjet e Mia"
   },
+  "screenshotInstructions": {
+    "message": "Tërhiqni kursorin ose klikoni te faqja që të përzgjidhni një zonë. Shtypni ESC që të anulohet."
+  },
   "saveScreenshotSelectedArea": {
     "message": "Ruaje"
   },
   "saveScreenshotVisibleArea": {
     "message": "Ruaj pjesën e dukshme"
   },
   "saveScreenshotFullPage": {
     "message": "Ruaj krejt faqen"
@@ -21,22 +27,39 @@
     "message": "Anuloje"
   },
   "downloadScreenshot": {
     "message": "Shkarkoje"
   },
   "notificationLinkCopiedTitle": {
     "message": "Lidhja u Kopjua"
   },
+  "notificationLinkCopiedDetails": {
+    "message": "Lidhja për te fotoja juaj u kopjua në të papastër. Shtypni $META_KEY$-V për ta ngjitur diku.",
+    "placeholders": {
+      "meta_key": {
+        "content": "$1"
+      }
+    }
+  },
+  "requestErrorTitle": {
+    "message": "S’ka gjendje."
+  },
   "requestErrorDetails": {
     "message": "Na ndjeni! S’e ruajtëm dot foton tuaj. Ju lutemi, riprovoni më vonë."
   },
   "connectionErrorTitle": {
     "message": "S’lidhemi dot te fotot tuaja."
   },
+  "connectionErrorDetails": {
+    "message": "Ju lutemi, kontrolloni lidhjen tuaj Internet. Nëse jeni në gjendje të lidheni në Internet, mund të bëhet fjalë për një problem të përkohshëm me shërbimin Firefox Screenshots."
+  },
+  "loginErrorDetails": {
+    "message": "S’e ruajtëm dot foton tuaj, ngaqë pati një problem me shërbimin Firefox Screenshots. Ju lutemi, riprovoni më vonë."
+  },
   "unshootablePageErrorTitle": {
     "message": "S’bëjmë dot foto të kësaj faqeje."
   },
   "tourHeaderTwo": {
     "message": "Fiksoni Në Foto Aq Sa Doni"
   },
   "tourHeaderThree": {
     "message": "Si T’ju Pëlqejë"
--- a/browser/extensions/screenshots/webextension/_locales/sr/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sr/messages.json
@@ -1,23 +1,23 @@
 {
   "addonDescription": {
     "message": "Бележите снимке екрана са веба и сачувајте их привремено или трајно."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Усликајте екран"
   },
   "myShotsLink": {
     "message": "Моји снимци"
   },
   "screenshotInstructions": {
-    "message": "Превуците или кликните на страници да изаберете област. Притисните ESC да прекинете."
+    "message": "Превуците или кликните на страницу да изаберете област. Притисните ESC да прекинете."
   },
   "saveScreenshotSelectedArea": {
     "message": "Сачувај"
   },
   "saveScreenshotVisibleArea": {
     "message": "Сачувај видљиво"
   },
   "saveScreenshotFullPage": {
@@ -110,14 +110,14 @@
         "content": "$1"
       },
       "termsandprivacynoticeprivacylink": {
         "content": "$2"
       }
     }
   },
   "termsAndPrivacyNoticeTermsLink": {
-    "message": "условима"
+    "message": "услове"
   },
   "termsAndPrivacyNoticyPrivacyLink": {
-    "message": "обавештењем о приватности"
+    "message": "обавештење о приватности"
   }
 }
\ No newline at end of file
--- a/browser/extensions/screenshots/webextension/_locales/sv_SE/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/sv_SE/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Ta klipp och skärmbilder från webben och spara dem tillfälligt eller permanent."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Ta en skärmbild"
   },
   "myShotsLink": {
     "message": "Mina skärmbilder"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/te/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/te/messages.json
@@ -1,11 +1,11 @@
 {
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "ఒక తెరపట్టు తీసుకోండి"
   },
   "myShotsLink": {
     "message": "నా షాట్లు"
   },
   "saveScreenshotSelectedArea": {
--- a/browser/extensions/screenshots/webextension/_locales/th/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/th/messages.json
@@ -1,115 +1,115 @@
 {
   "addonDescription": {
     "message": "จับภาพหน้าจอจากเว็บและบันทึกไว้ชั่วคราวหรือถาวร"
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "จับภาพหน้าจอ"
   },
   "myShotsLink": {
     "message": "ภาพของฉัน"
   },
   "screenshotInstructions": {
-    "message": "ลากหรือคลิกหน้าเว็บเพื่อเลือกบริเวณ กด ESC เพื่อยกเลิก"
+    "message": "ลากหรือคลิกที่หน้าเพื่อเลือกบริเวณ กด ESC เพื่อยกเลิก"
   },
   "saveScreenshotSelectedArea": {
     "message": "บันทึก"
   },
   "saveScreenshotVisibleArea": {
-    "message": "บันทึกส่วนที่เห็น"
+    "message": "บันทึกส่วนที่มองเห็น"
   },
   "saveScreenshotFullPage": {
     "message": "บันทึกเต็มหน้า"
   },
   "cancelScreenshot": {
     "message": "ยกเลิก"
   },
   "downloadScreenshot": {
     "message": "ดาวน์โหลด"
   },
   "notificationLinkCopiedTitle": {
     "message": "คัดลอกลิงก์แล้ว"
   },
   "notificationLinkCopiedDetails": {
-    "message": "คัดลอกลิงก์ภาพของไว้ในคลิปบอร์ดแล้ว กด $META_KEY$-V เพื่อวาง",
+    "message": "คัดลอกลิงก์ไปยังภาพของคุณไปยังคลิปบอร์ดแล้ว กด $META_KEY$-V เพื่อวาง",
     "placeholders": {
       "meta_key": {
         "content": "$1"
       }
     }
   },
   "requestErrorTitle": {
     "message": "ใช้งานไม่ได้"
   },
   "requestErrorDetails": {
-    "message": "ขออภัย! เราไม่สามารถบันทึกภาพของคุณได้ โปรดลองอีกครั้งหลังจากนี้"
+    "message": "ขออภัย! เราไม่สามารถบันทึกภาพของคุณ โปรดลองอีกครั้งในภายหลัง"
   },
   "connectionErrorTitle": {
-    "message": "เราเชื่อมต่อภาพหน้าจอของคุณไม่ได้"
+    "message": "เราไม่สามารถเชื่อมต่อกับภาพหน้าจอของคุณ"
   },
   "connectionErrorDetails": {
-    "message": "กรุณาตรวจสอบการเชื่อมต่ออินเทอร์เน็ต หากคุณสามารถเชื่อมต่อกับอินเทอร์เน็ต บริการ Firefox Screenshots อาจมีปัญหาชั่วคราว "
+    "message": "โปรดตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณ หากคุณสามารถเชื่อมต่ออินเทอร์เน็ต บริการ Firefox Screenshots อาจมีปัญหาชั่วคราว"
   },
   "loginErrorDetails": {
-    "message": "เราไม่สามารถบันทึกภาพได้เพราะมีปัญหากับบริการ Firefox Screenshots โปรดลองใหม่ภายหลัง"
+    "message": "เราไม่สามารถบันทึกภาพของคุณเนื่องจากบริการ Firefox Screenshots มีปัญหา โปรดลองอีกครั้งในภายหลัง"
   },
   "unshootablePageErrorTitle": {
     "message": "เราไม่สามารถจับภาพหน้าจอหน้านี้"
   },
   "unshootablePageErrorDetails": {
-    "message": "นี่ไม่ใช่หน้าเว็บมาตรฐานดังนั้นคุณไม่สามารถจับภาพได้"
+    "message": "นี่ไม่ใช่หน้าเว็บมาตรฐาน คุณจึงไม่สามารถจับภาพหน้าจอได้"
   },
   "selfScreenshotErrorTitle": {
-    "message": "คุณไม่สามารถจับภาพหน้าจอของหน้า Firefox Screenshots"
+    "message": "คุณไม่สามารถจับภาพของหน้า Firefox Screenshots!"
   },
   "genericErrorTitle": {
     "message": "โอ๊ย! Firefox Screenshots รวน"
   },
   "genericErrorDetails": {
-    "message": "เราไม่แน่ใจว่าเกิดอะไรขึ้น โปรดลองอีกครั้งหรือจับภาพของหน้าอื่น"
+    "message": "เราไม่แน่ใจว่าเกิดอะไรขึ้น ต้องการลองอีกครั้งหรือจับภาพของหน้าอื่น?"
   },
   "tourBodyOne": {
-    "message": "จับ บันทึกและแบ่งปันภาพหน้าจอโดยที่ไม่ต้องออกจาก Firefox"
+    "message": "จับ บันทึก และแบ่งปันภาพหน้าจอโดยไม่ต้องออกจาก Firefox"
   },
   "tourHeaderTwo": {
-    "message": "จับภาพตามที่คุณต้องการ"
+    "message": "จับภาพแค่สิ่งที่คุณต้องการ"
   },
   "tourBodyTwo": {
-    "message": "คลิกหรือลากเพื่อจับภาพเฉพาะบางส่วนของหน้าเว็บ คุณสามารถเลื่อนมาชี้เพื่อเน้นภาพส่วนที่คุณเลือก"
+    "message": "คลิกแล้วลากเพื่อจับภาพแค่บางส่วนของหน้า คุณยังสามารถวางเมาส์เพื่อเน้นการเลือกของคุณ"
   },
   "tourHeaderThree": {
-    "message": "ตามที่คุณโปรด"
+    "message": "ตามใจชอบ"
   },
   "tourBodyThree": {
-    "message": "บันทึกและครอปภาพลงในเว็บเพื่อให้แบ่งปันได้ง่าย หรือดาวน์โหลดลงคอมพิวเตอร์ของคุณ คุณยังสามารถคลิกที่ปุ่มภาพของฉันเพื่อที่จะหาภาพที่คุณจับไว้"
+    "message": "บันทึกภาพที่ครอบตัดของคุณไปยังเว็บเพื่อการแบ่งปันที่ง่ายขึ้น หรือดาวน์โหลดไปยังคอมพิวเตอร์ของคุณ คุณยังสามารถคลิกที่ปุ่ม ภาพของฉัน เพื่อค้นหาภาพทั้งหมดที่คุณจับไว้"
   },
   "tourHeaderFour": {
     "message": "จับภาพหน้าต่างหรือทั้งหน้า"
   },
   "tourBodyFour": {
-    "message": "กดปุ่มด้านบนขวาเพื่อจับภาพบริเวณที่มองเห็นในหน้าต่างหรือทั้งหน้าเว็บ"
+    "message": "คลิกที่ปุ่มด้านบนขวาเพื่อจับภาพพื้นที่ที่มองเห็นในหน้าต่างหรือเพื่อจับภาพทั้งหน้า"
   },
   "tourSkip": {
     "message": "ข้าม"
   },
   "tourNext": {
     "message": "ภาพนิ่งถัดไป"
   },
   "tourPrevious": {
     "message": "ภาพนิ่งก่อนหน้า"
   },
   "tourDone": {
     "message": "เสร็จสิ้น"
   },
   "termsAndPrivacyNoticeCloudServices": {
-    "message": "สำหรับการใช้งาน Firefox Screenshots คุณยอมรับใน Firefox Cloud Services $TERMSANDPRIVACYNOTICETERMSLINK$ และ $TERMSANDPRIVACYNOTICEPRIVACYLINK$",
+    "message": "เพื่อใช้ Firefox Screenshots คุณยอมรับ $TERMSANDPRIVACYNOTICETERMSLINK$ และ $TERMSANDPRIVACYNOTICEPRIVACYLINK$ ของบริการกลุ่มเมฆ Firefox",
     "placeholders": {
       "termsandprivacynoticetermslink": {
         "content": "$1"
       },
       "termsandprivacynoticeprivacylink": {
         "content": "$2"
       }
     }
--- a/browser/extensions/screenshots/webextension/_locales/tl/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/tl/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Dalhin ang clip at mga screenshot mula sa Web at i-save ang mga ito pansamantala o permanente."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Kumuha ng Screenshot"
   },
   "myShotsLink": {
     "message": "Aking Shots"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/tr/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/tr/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Web sayfalarının ekran görüntülerini alın, ister geçici ister kalıcı olarak kaydedin."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Ekran görüntüsü al"
   },
   "myShotsLink": {
     "message": "Ekran görüntülerim"
   },
   "screenshotInstructions": {
@@ -78,23 +78,23 @@
   },
   "tourBodyTwo": {
     "message": "Sayfanın belli bir kısmını yakalamak için işaretçiyi tıklayıp sürükleyin. Seçiminizi vurgulamak için fareyle üzerine gelebilirsiniz."
   },
   "tourHeaderThree": {
     "message": "İstediğin gibi yakala"
   },
   "tourBodyThree": {
-    "message": "Ekran görüntülerinizi daha kolay paylşamak veya bilgisayarınıza indirmek için web'e kaydedin. Kaydettiğiniz tüm görüntüleri bulmak için \"Ekran görüntülerim\" düğmesine tıklayabilirsiniz."
+    "message": "Ekran görüntülerinizi daha kolay paylaşmak veya bilgisayarınıza indirmek için web’e kaydedin. Kaydettiğiniz tüm görüntüleri bulmak için \"Ekran görüntülerim\" düğmesine tıklayabilirsiniz."
   },
   "tourHeaderFour": {
     "message": "Pencereleri veya sayfaların tamamını yakala"
   },
   "tourBodyFour": {
-    "message": "Yalnızda pencerede gördüğünüz alanı veya sayfanın tamamını yakalamak için sağ üstteki düğmelerden uygun olanı seçin."
+    "message": "Yalnızca pencerede gördüğünüz alanı veya sayfanın tamamını yakalamak için sağ üstteki düğmelerden uygun olanı seçin."
   },
   "tourSkip": {
     "message": "GEÇ"
   },
   "tourNext": {
     "message": "Sonraki slayt"
   },
   "tourPrevious": {
--- a/browser/extensions/screenshots/webextension/_locales/uk/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/uk/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "Робіть вирізки та знімки екрану в Інтернеті та зберігайте їх для подальшої роботи."
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Зробити знімок екрану"
   },
   "myShotsLink": {
     "message": "Мої знімки"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/ur/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/ur/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "ویب سے کللبس یاا اسکرین شاٹیں لیں اور ان کو عارظی یا مستقل طور پر محفوظ کریں۔"
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "ایک سکرین شاٹ لیں"
   },
   "myShotsLink": {
     "message": "میری شاٹس"
   },
   "screenshotInstructions": {
@@ -48,17 +48,17 @@
   },
   "connectionErrorTitle": {
     "message": "ہم آپ کی اسکرین شاٹس سے نہیں جڑ سکتے۔"
   },
   "connectionErrorDetails": {
     "message": "براہ مہربانی اپنے انٹرنیٹ کنکشن کی پڑتال کریں۔ اگر آپ انٹرنیٹ سے جڑنے کے قابل ہیں، تو شاید Firefox اسکرین شاٹ خدمات کے ساتھ عارظی مسلہ ہو۔"
   },
   "loginErrorDetails": {
-    "message": "ہم آُپ کی شاٹ محفوظ نہیں کر سکے کیونکہ Firefox اسکرین شاٹ خدمت کے ساتھ مسلہ ہے۔ براہ مہربانی کچھ دیربعد کوشش کیجیئے۔ "
+    "message": "ہم آُپ کی شاٹ محفوظ نہیں کر سکے کیونکہ Firefox اسکرین شاٹ خدمت کے ساتھ مسلہ ہے۔ براہ مہربانی کچھ دیربعد کوشش کیجیئے۔"
   },
   "unshootablePageErrorTitle": {
     "message": "ہم اس صفحہ کی اسکرین شاٹ نہیں کر سکتے۔"
   },
   "unshootablePageErrorDetails": {
     "message": "یہ ایک میعاری صفحہ نہہیں، تو آپ اسکی اسکرین شاٹ نہیں لے سکتے۔"
   },
   "selfScreenshotErrorTitle": {
@@ -87,17 +87,17 @@
   },
   "tourHeaderFour": {
     "message": "دریچہ ہا مکمل صفحہ گرفت کریں"
   },
   "tourBodyFour": {
     "message": "دریچہ میں نظر آنے والے علاقے یا مکمل صفحہ کو گرفت کرنے کے لیئے بالائی دائیں جانب بٹن کا انتخاب کریں۔"
   },
   "tourSkip": {
-    "message": "اچٹیں\t "
+    "message": "اچٹیں"
   },
   "tourNext": {
     "message": "اگلى سلائيڈ"
   },
   "tourPrevious": {
     "message": "پچھلی سلائڈ"
   },
   "tourDone": {
--- a/browser/extensions/screenshots/webextension/_locales/uz/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/uz/messages.json
@@ -1,11 +1,11 @@
 {
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "Rasmini olish"
   },
   "myShotsLink": {
     "message": "Rasmlarim"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/_locales/zh_CN/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/zh_CN/messages.json
@@ -1,23 +1,23 @@
 {
   "addonDescription": {
-    "message": "剪辑和拍摄 Web 截图,临时或永久保存它们。"
+    "message": "临时或永久保存网页截图。"
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
-    "message": "拍摄截图"
+    "message": "截图"
   },
   "myShotsLink": {
     "message": "我的截图"
   },
   "screenshotInstructions": {
-    "message": "在页面上拖动或点击以选择范围。按 ESC 取消。"
+    "message": "在页面上拖动或单击以选择范围。按 ESC 键取消。"
   },
   "saveScreenshotSelectedArea": {
     "message": "保存"
   },
   "saveScreenshotVisibleArea": {
     "message": "保存可见范围"
   },
   "saveScreenshotFullPage": {
@@ -57,44 +57,44 @@
   },
   "unshootablePageErrorTitle": {
     "message": "我们无法截图此页面。"
   },
   "unshootablePageErrorDetails": {
     "message": "这不是一个标准的网页,所以无法截图。"
   },
   "selfScreenshotErrorTitle": {
-    "message": "您不能拍摄 Firefox Screenshots 的页面!"
+    "message": "您不能截取 Firefox Screenshots 的页面!"
   },
   "genericErrorTitle": {
     "message": "哎呀,Firefox Screenshots 遇到问题。"
   },
   "genericErrorDetails": {
     "message": "我们不确定发生了什么。您可以再试一次或者试试另一个页面。"
   },
   "tourBodyOne": {
-    "message": "拍摄、保存和分享屏幕截图,无需 Firefox 以外的工具。"
+    "message": "截取、保存和分享屏幕截图,无需 Firefox 以外的工具。"
   },
   "tourHeaderTwo": {
-    "message": "只拍摄想要的部分"
+    "message": "只截取想要的部分"
   },
   "tourBodyTwo": {
-    "message": "单击并拖动以只拍摄页面某个区域。您也可以悬停以高亮您的选择范围。"
+    "message": "单击并拖动以截取页面某个区域。您也可以悬停以高亮您的选择范围。"
   },
   "tourHeaderThree": {
-    "message": "做你所想"
+    "message": "做您所想"
   },
   "tourBodyThree": {
-    "message": "将您裁剪后的截图保存到网上以便共享,或者下载到您的计算机。您也可以点击“我的截图”按钮找到您拍摄的所有截图。"
+    "message": "将您裁剪后的截图保存到网上以便共享,或者下载到您的计算机。您也可以点击“我的截图”按钮找到您截取的所有截图。"
   },
   "tourHeaderFour": {
-    "message": "拍摄窗口或整个页面"
+    "message": "截取窗口或整个页面"
   },
   "tourBodyFour": {
-    "message": "选择右上角的按钮可以拍摄窗口中的可见区域或者整个页面。"
+    "message": "选择右上角的按钮可以截取窗口中的可见区域或者整个页面。"
   },
   "tourSkip": {
     "message": "跳过"
   },
   "tourNext": {
     "message": "下一页"
   },
   "tourPrevious": {
--- a/browser/extensions/screenshots/webextension/_locales/zh_TW/messages.json
+++ b/browser/extensions/screenshots/webextension/_locales/zh_TW/messages.json
@@ -1,14 +1,14 @@
 {
   "addonDescription": {
     "message": "拍攝網頁的擷圖,可暫時儲存或永久儲存。"
   },
   "addonAuthorsList": {
-    "message": "Mozilla <screenshots-feedback@mozilla.org>"
+    "message": "Mozilla <screenshots-feedback@mozilla.com>"
   },
   "contextMenuLabel": {
     "message": "拍攝畫面擷圖"
   },
   "myShotsLink": {
     "message": "我的擷圖"
   },
   "screenshotInstructions": {
--- a/browser/extensions/screenshots/webextension/background/auth.js
+++ b/browser/extensions/screenshots/webextension/background/auth.js
@@ -1,9 +1,9 @@
-/* globals browser, log */
+/* globals log */
 /* globals main, makeUuid, deviceInfo, analytics, catcher, buildSettings, communication */
 
 "use strict";
 
 this.auth = (function() {
   let exports = {};
 
   let registrationInfo;
--- a/browser/extensions/screenshots/webextension/background/communication.js
+++ b/browser/extensions/screenshots/webextension/background/communication.js
@@ -1,9 +1,9 @@
-/* globals browser, catcher, log */
+/* globals catcher, log */
 
 "use strict";
 
 this.communication = (function() {
   let exports = {};
 
   let registeredFunctions = {};
 
--- a/browser/extensions/screenshots/webextension/background/deviceInfo.js
+++ b/browser/extensions/screenshots/webextension/background/deviceInfo.js
@@ -1,9 +1,9 @@
-/* globals browser, catcher */
+/* globals catcher */
 
 "use strict";
 
 this.deviceInfo = (function() {
   let manifest = browser.runtime.getManifest();
 
   let platformInfo = {};
   catcher.watchPromise(browser.runtime.getPlatformInfo().then((info) => {
--- a/browser/extensions/screenshots/webextension/background/main.js
+++ b/browser/extensions/screenshots/webextension/background/main.js
@@ -1,9 +1,8 @@
-/* globals browser, XMLHttpRequest, Image, document, setTimeout, navigator */
 /* globals selectorLoader, analytics, communication, catcher, log, makeUuid, auth, senderror */
 
 "use strict";
 
 this.main = (function() {
   let exports = {};
 
   const pasteSymbol = (window.navigator.platform.match(/Mac/i)) ? "\u2318" : "Ctrl";
--- a/browser/extensions/screenshots/webextension/background/selectorLoader.js
+++ b/browser/extensions/screenshots/webextension/background/selectorLoader.js
@@ -1,9 +1,9 @@
-/* globals browser, catcher, log */
+/* globals catcher, log */
 
 "use strict";
 
 var global = this;
 
 this.selectorLoader = (function() {
   const exports = {};
 
--- a/browser/extensions/screenshots/webextension/background/senderror.js
+++ b/browser/extensions/screenshots/webextension/background/senderror.js
@@ -1,9 +1,9 @@
-/* globals analytics, browser, communication, makeUuid, Raven, catcher, auth, log */
+/* globals analytics, communication, makeUuid, Raven, catcher, auth, log */
 
 "use strict";
 
 this.senderror = (function() {
   let exports = {};
 
   let manifest = browser.runtime.getManifest();
 
--- a/browser/extensions/screenshots/webextension/background/takeshot.js
+++ b/browser/extensions/screenshots/webextension/background/takeshot.js
@@ -1,9 +1,9 @@
-/* globals communication, shot, main, auth, catcher, analytics, browser */
+/* globals communication, shot, main, auth, catcher, analytics */
 
 "use strict";
 
 this.takeshot = (function() {
   let exports = {};
   const Shot = shot.AbstractShot;
   const { sendEvent } = analytics;
 
@@ -42,17 +42,28 @@ this.takeshot = (function() {
       shot.abTests = shotAbTests;
     }
     return catcher.watchPromise(capturePromise.then(() => {
       return browser.tabs.create({url: shot.creatingUrl})
     }).then((tab) => {
       openedTab = tab;
       return uploadShot(shot);
     }).then(() => {
-      return browser.tabs.update(openedTab.id, {url: shot.viewUrl});
+      return browser.tabs.update(openedTab.id, {url: shot.viewUrl}).then(
+        null,
+        (error) => {
+          // FIXME: If https://bugzilla.mozilla.org/show_bug.cgi?id=1365718 is resolved,
+          // use the errorCode added as an additional check:
+          if ((/invalid tab id/i).test(error)) {
+            // This happens if the tab was closed before the upload completed
+            return browser.tabs.create({url: shot.viewUrl});
+          }
+          throw error;
+        }
+      );
     }).then(() => {
       return shot.viewUrl;
     }).catch((error) => {
       browser.tabs.remove(openedTab.id);
       throw error;
     }));
   }));
 
--- a/browser/extensions/screenshots/webextension/build/inlineSelectionCss.js
+++ b/browser/extensions/screenshots/webextension/build/inlineSelectionCss.js
@@ -28,39 +28,37 @@ window.inlineSelectionCss = `
     height: 26px;
     border: 1px solid #c7c7c7; }
     .button.tiny:hover, .tiny.highlight-button-cancel:hover, .tiny.highlight-button-save:hover, .tiny.highlight-button-download:hover, .button.tiny:focus, .tiny.highlight-button-cancel:focus, .tiny.highlight-button-save:focus, .tiny.highlight-button-download:focus {
       background: #ebebeb;
       border-color: #989898; }
     .button.tiny:active, .tiny.highlight-button-cancel:active, .tiny.highlight-button-save:active, .tiny.highlight-button-download:active {
       background: #dedede;
       border-color: #989898; }
-  .button.set-width--medium, .set-width--medium.highlight-button-cancel, .set-width--medium.highlight-button-save, .set-width--medium.highlight-button-download {
-    max-width: 200px; }
   .button.block-button, .block-button.highlight-button-cancel, .block-button.highlight-button-save, .block-button.highlight-button-download {
     display: flex;
     align-items: center;
     justify-content: center;
     box-sizing: border-box;
     border: none;
     border-right: 1px solid #c7c7c7;
     box-shadow: none;
     border-radius: 0;
     flex-shrink: 0;
     font-size: 20px;
     height: 100px;
-    line-height: 100%; }
+    line-height: 100%;
+    overflow: hidden; }
     @media (max-width: 719px) {
       .button.block-button, .block-button.highlight-button-cancel, .block-button.highlight-button-save, .block-button.highlight-button-download {
         justify-content: flex-start;
-        padding: 10px;
         font-size: 16px;
         height: 72px;
-        flex: 1 0;
-        margin-right: 10px; } }
+        margin-right: 10px;
+        padding: 0 5px; } }
     .button.block-button:hover, .block-button.highlight-button-cancel:hover, .block-button.highlight-button-save:hover, .block-button.highlight-button-download:hover {
       background: #ebebeb; }
     .button.block-button:active, .block-button.highlight-button-cancel:active, .block-button.highlight-button-save:active, .block-button.highlight-button-download:active {
       background: #dedede; }
 
 .inverse-color-scheme {
   background: #3e3d40;
   color: #f5f5f7; }
@@ -75,32 +73,47 @@ window.inlineSelectionCss = `
 
 .highlight-color-scheme {
   background: #009ec0;
   color: #fff; }
   .highlight-color-scheme a {
     color: #fff;
     text-decoration: underline; }
 
+.alt-color-scheme {
+  background: #31365A;
+  color: #f5f5f7; }
+  .alt-color-scheme h1 {
+    color: #6F7FB6; }
+  .alt-color-scheme a {
+    color: #e1e1e6;
+    text-decoration: underline; }
+
 .button.primary, .primary.highlight-button-cancel, .highlight-button-save, .primary.highlight-button-download {
   background-color: #009ec0;
   color: #fff; }
   .button.primary:hover, .primary.highlight-button-cancel:hover, .highlight-button-save:hover, .primary.highlight-button-download:hover, .button.primary:focus, .primary.highlight-button-cancel:focus, .highlight-button-save:focus, .primary.highlight-button-download:focus {
     background-color: #00819c; }
   .button.primary:active, .primary.highlight-button-cancel:active, .highlight-button-save:active, .primary.highlight-button-download:active {
     background-color: #006c83; }
 
 .button.secondary, .highlight-button-cancel, .secondary.highlight-button-save, .highlight-button-download {
   background-color: #f5f5f7;
   color: #3e3d40; }
   .button.secondary:hover, .highlight-button-cancel:hover, .secondary.highlight-button-save:hover, .highlight-button-download:hover {
     background-color: #ebebeb; }
   .button.secondary:hover, .highlight-button-cancel:hover, .secondary.highlight-button-save:hover, .highlight-button-download:hover {
     background-color: #dedede; }
 
+.button.transparent, .transparent.highlight-button-cancel, .transparent.highlight-button-save, .transparent.highlight-button-download {
+  background-color: transparent;
+  color: #3e3d40; }
+  .button.transparent:hover, .transparent.highlight-button-cancel:hover, .transparent.highlight-button-save:hover, .transparent.highlight-button-download:hover, .button.transparent:focus, .transparent.highlight-button-cancel:focus, .transparent.highlight-button-save:focus, .transparent.highlight-button-download:focus, .button.transparent:active, .transparent.highlight-button-cancel:active, .transparent.highlight-button-save:active, .transparent.highlight-button-download:active {
+    background-color: rgba(0, 0, 0, 0.05); }
+
 .button.warning, .warning.highlight-button-cancel, .warning.highlight-button-save, .warning.highlight-button-download {
   color: #fff;
   background: #d92215; }
   .button.warning:hover, .warning.highlight-button-cancel:hover, .warning.highlight-button-save:hover, .warning.highlight-button-download:hover, .button.warning:focus, .warning.highlight-button-cancel:focus, .warning.highlight-button-save:focus, .warning.highlight-button-download:focus {
     background: #b81d12; }
   .button.warning:active, .warning.highlight-button-cancel:active, .warning.highlight-button-save:active, .warning.highlight-button-download:active {
     background: #a11910; }
 
@@ -331,36 +344,37 @@ window.inlineSelectionCss = `
   font-family: sans-serif;
   font-size: 70%;
   color: #000;
   text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff; }
 
 .fixed-container {
   align-items: center;
   display: flex;
-  height: 100%;
+  flex-direction: column;
+  height: 100vh;
   justify-content: center;
   left: 0;
   margin: 0;
   padding: 0;
   pointer-events: none;
-  position: absolute;
+  position: fixed;
   top: 0;
   width: 100%; }
 
 .face-container {
-  position: absolute;
-  top: 0;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  margin: auto;
+  position: relative;
   width: 64px;
-  height: 64px;
-  transform: translateY(-45px); }
+  height: 64px; }
+
+.face {
+  width: 62.4px;
+  height: 62.4px;
+  display: block;
+  background-image: url("MOZ_EXTENSION/icons/icon-welcome-face-without-eyes.svg"); }
 
 .eye {
   background-color: #fff;
   width: 10.8px;
   height: 14.6px;
   position: absolute;
   border-radius: 100%;
   overflow: hidden;
@@ -378,34 +392,28 @@ window.inlineSelectionCss = `
   z-index: 10; }
 
 .left {
   margin-left: 0; }
 
 .right {
   margin-left: 20px; }
 
-.face {
-  width: 62.4px;
-  height: 62.4px;
-  display: block;
-  background-image: url("MOZ_EXTENSION/icons/icon-welcome-face-without-eyes.svg"); }
-
 .preview-instructions {
   display: flex;
   align-items: center;
   justify-content: center;
   animation: pulse 125mm cubic-bezier(0.07, 0.95, 0, 1);
   color: #fff;
   font-family: -apple-system, BlinkMacSystemFont, sans-serif;
   font-size: 24px;
   line-height: 32px;
   text-align: center;
-  width: 400px;
-  margin-top: 45px; }
+  padding-top: 20px;
+  width: 400px; }
 
 .myshots-all-buttons-container {
   display: flex;
   flex-direction: row-reverse;
   background: #f5f5f5;
   border-radius: 1px;
   box-sizing: border-box;
   height: 80px;
@@ -450,26 +458,16 @@ window.inlineSelectionCss = `
   .myshots-all-buttons-container .visible {
     background-image: url("MOZ_EXTENSION/icons/menu-visible.svg"); }
 
 .myshots-button-container {
   display: flex;
   align-items: center;
   justify-content: center; }
 
-/* styleMyShotsButton test: */
-.styleMyShotsButton-bright .myshots-button {
-  color: #fff;
-  background: #009ec0; }
-
-.styleMyShotsButton-bright .myshots-text-pre,
-.styleMyShotsButton-bright .myshots-text-post {
-  filter: brightness(20); }
-
-/* end styleMyShotsButton test */
 @keyframes pulse {
   0% {
     transform: scale(1); }
   50% {
     transform: scale(1.06); }
   100% {
     transform: scale(1); } }
 
--- a/browser/extensions/screenshots/webextension/build/shot.js
+++ b/browser/extensions/screenshots/webextension/build/shot.js
@@ -1,20 +1,19 @@
 window.shot = (function () {let exports={}; // Note: in this library we can't use any "system" dependencies because this can be used from multiple
 // environments
-/* globals console */
 
 /** Throws an error if the condition isn't true.  Any extra arguments after the condition
     are used as console.error() arguments. */
 function assert(condition, ...args) {
   if (condition) {
     return;
   }
   console.error("Failed assertion", ...args);
-  throw new Error("Failed assertion", ...args);
+  throw new Error(`Failed assertion: ${args.join(" ")}`);
 }
 
 /** True if `url` is a valid URL */
 function isUrl(url) {
   // FIXME: this is rather naive, obviously
   if ((/^about:.+$/i).test(url)) {
     return true;
   }
deleted file mode 100644
--- a/browser/extensions/screenshots/webextension/buildSettings.js.template
+++ /dev/null
@@ -1,5 +0,0 @@
-window.buildSettings = {
-  defaultSentryDsn: process.env.SCREENSHOTS_SENTRY,
-  logLevel: process.env.SCREENSHOTS_LOG_LEVEL || "warn"
-};
-null;
--- a/browser/extensions/screenshots/webextension/catcher.js
+++ b/browser/extensions/screenshots/webextension/catcher.js
@@ -41,22 +41,24 @@ this.catcher = (function() {
       for (let attr of Object.keys(info)) {
         result[attr] = info[attr];
       }
     }
     return result;
   }
 
   /** Wrap the function, and if it raises any exceptions then call unhandled() */
-  exports.watchFunction = function watchFunction(func) {
+  exports.watchFunction = function watchFunction(func, quiet) {
     return function() {
       try {
         return func.apply(this, arguments);
       } catch (e) {
-        exports.unhandled(e);
+        if (!quiet) {
+          exports.unhandled(e);
+        }
         throw e;
       }
     };
   };
 
   exports.watchPromise = function watchPromise(promise, quiet) {
     return promise.catch((e) => {
       if (quiet) {
deleted file mode 100644
index bf4a84dd55bd43b3309f165a95cc562b637cd077..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index fd531ed80cc83c3529ecaf34848b108185be2a1e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 2585ac748faaafc1eb4865f849f96dcf446e5ad0..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 9388dbfdde87cfb38e2c54746767034f64440d78..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 8d1d5f77bcc406b90535dfa12502bb44317ef3ac..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 8c37139cf6beedd6f0e39c21e314f0655561eb85..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index c96b2444f33e2d56aa10dbd5b33f2d5125dbe21e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 08c45bb72e8638b6912337a4bdd8ab529205ba96..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/extensions/screenshots/webextension/log.js
+++ b/browser/extensions/screenshots/webextension/log.js
@@ -1,9 +1,10 @@
 /* globals buildSettings */
+/* eslint-disable no-console */
 
 "use strict";
 
 this.log = (function() {
   let exports = {};
 
   const levels = ["debug", "info", "warn", "error"];
   if (!levels.includes(buildSettings.logLevel)) {
--- a/browser/extensions/screenshots/webextension/manifest.json
+++ b/browser/extensions/screenshots/webextension/manifest.json
@@ -1,29 +1,21 @@
 {
   "manifest_version": 2,
   "name": "Firefox Screenshots",
-  "version": "6.6.0",
+  "version": "8.1.0",
   "description": "__MSG_addonDescription__",
   "author": "__MSG_addonAuthorsList__",
   "homepage_url": "https://github.com/mozilla-services/screenshots",
   "applications": {
     "gecko": {
       "id": "screenshots@mozilla.org"
     }
   },
   "default_locale": "en_US",
-  "icons": {
-    "16": "icons/icon-16.png",
-    "32": "icons/icon-32.png",
-    "48": "icons/icon-48.png",
-    "64": "icons/icon-64.png",
-    "128": "icons/icon-128.png",
-    "256": "icons/icon-256.png"
-  },
   "browser_action": {
     "default_icon": {
       "16": "icons/icon-16.svg",
       "32": "icons/icon-32.svg"
     },
     "default_title": "__MSG_contextMenuLabel__",
     "browser_style": false
   },
--- a/browser/extensions/screenshots/webextension/onboarding/slides.js
+++ b/browser/extensions/screenshots/webextension/onboarding/slides.js
@@ -1,9 +1,9 @@
-/* globals log, catcher, onboardingHtml, onboardingCss, browser, util, shooter, callBackground, assertIsTrusted */
+/* globals log, catcher, onboardingHtml, onboardingCss, util, shooter, callBackground, assertIsTrusted */
 
 "use strict";
 
 this.slides = (function() {
   let exports = {};
 
   const { watchFunction } = catcher;
 
--- a/browser/extensions/screenshots/webextension/selector/callBackground.js
+++ b/browser/extensions/screenshots/webextension/selector/callBackground.js
@@ -1,9 +1,9 @@
-/* globals browser, log */
+/* globals log */
 
 "use strict";
 
 this.callBackground = function callBackground(funcName, ...args) {
   return browser.runtime.sendMessage({funcName, args}).then((result) => {
     if (result.type === "success") {
       return result.value;
     } else if (result.type === "error") {
--- a/browser/extensions/screenshots/webextension/selector/shooter.js
+++ b/browser/extensions/screenshots/webextension/selector/shooter.js
@@ -1,11 +1,10 @@
 /* globals global, documentMetadata, util, uicontrol, ui, catcher */
-/* globals XMLHttpRequest, window, location, alert, domainFromUrl, randomString */
-/* globals document, setTimeout, location */
+/* globals domainFromUrl, randomString */
 
 "use strict";
 
 this.shooter = (function() { // eslint-disable-line no-unused-vars
   let exports = {};
   const { AbstractShot } = window.shot;
 
   const RANDOM_STRING_LENGTH = 16;
--- a/browser/extensions/screenshots/webextension/selector/ui.js
+++ b/browser/extensions/screenshots/webextension/selector/ui.js
@@ -1,9 +1,8 @@
-/* globals window, document, browser */
 /* globals log, util, catcher, inlineSelectionCss, callBackground, assertIsTrusted */
 
 "use strict";
 
 this.ui = (function() { // eslint-disable-line no-unused-vars
   let exports = {};
   const SAVE_BUTTON_HEIGHT = 50;
 
--- a/browser/extensions/screenshots/webextension/selector/uicontrol.js
+++ b/browser/extensions/screenshots/webextension/selector/uicontrol.js
@@ -1,10 +1,10 @@
 /* globals log, catcher, util, ui, slides */
-/* globals window, document, location, shooter, callBackground, selectorLoader, assertIsTrusted */
+/* globals shooter, callBackground, selectorLoader, assertIsTrusted */
 
 "use strict";
 
 this.uicontrol = (function() {
   let exports = {};
 
   /** ********************************************************
    * selection
@@ -810,20 +810,16 @@ this.uicontrol = (function() {
 
   exports.activate = function() {
     if (isFrameset()) {
       callBackground("abortFrameset");
       selectorLoader.unloadModules();
       return;
     }
     addHandlers();
-    // FIXME: self.options is gone
-    if (self.options && self.options.styleMyShotsButton) {
-      ui.iframe.addClassName = `styleMyShotsButton-${self.options.styleMyShotsButton.value}`;
-    }
     if (shouldOnboard) {
       setState("onboarding");
     } else {
       setState("crosshairs");
     }
   }
 
   function isFrameset() {