Bug 1368146 - Export Screenshots 8.1.0 to Firefox; r=Standard8 draft
authorJared Hirsch <ohai@6a68.net>
Fri, 26 May 2017 11:48:44 -0700
changeset 586563 c4e224d1e7c96476c0262d74a608200a1fa68aab
parent 586536 39d5cc0fda5e16c49a59d29d4ca186a5534cc88b
child 631039 392ce63cc1af2bb0a08663edf23ecfb0f85da0c7
push id61461
push userbmo:jhirsch@mozilla.com
push dateTue, 30 May 2017 19:15:54 +0000
reviewersStandard8
bugs1368146
milestone55.0a1
Bug 1368146 - Export Screenshots 8.1.0 to Firefox; r=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..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index fd531ed80cc83c3529ecaf34848b108185be2a1e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 2585ac748faaafc1eb4865f849f96dcf446e5ad0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 9388dbfdde87cfb38e2c54746767034f64440d78..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 8d1d5f77bcc406b90535dfa12502bb44317ef3ac..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 8c37139cf6beedd6f0e39c21e314f0655561eb85..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index c96b2444f33e2d56aa10dbd5b33f2d5125dbe21e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 08c45bb72e8638b6912337a4bdd8ab529205ba96..0000000000000000000000000000000000000000
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() {