diff --git a/src/components/crashmessage/crashmessage.jsx b/src/components/crashmessage/crashmessage.jsx
new file mode 100644
index 000000000..d66a3c610
--- /dev/null
+++ b/src/components/crashmessage/crashmessage.jsx
@@ -0,0 +1,38 @@
+const classNames = require('classnames');
+const PropTypes = require('prop-types');
+const React = require('react');
+const FormattedMessage = require('react-intl').FormattedMessage;
+
+const Button = require('../forms/button.jsx');
+
+require('./crashmessage.scss');
+
+const CrashMessage = props => (
+
-
-
+
+
+
+
+
+
+ {props.children}
+
+
-
- {props.children}
-
-
-
+
);
Page.propTypes = {
diff --git a/src/l10n.json b/src/l10n.json
index a717e23ad..fe4b152ce 100644
--- a/src/l10n.json
+++ b/src/l10n.json
@@ -2,6 +2,7 @@
"general.accountSettings": "Account settings",
"general.about": "About",
"general.aboutScratch": "About Scratch",
+ "general.back": "Back",
"general.birthMonth": "Birth Month",
"general.birthYear": "Birth Year",
"general.donate": "Donate",
@@ -73,6 +74,7 @@
"general.tips": "Tips",
"general.tipsWindow": "Tips Window",
"general.termsOfUse": "Terms of Use",
+ "general.unhandledError": "We are so sorry, but it looks like Scratch has crashed. This bug has been automatically reported to the Scratch Team.",
"general.username": "Username",
"general.validationEmail": "Please enter a valid email address",
"general.validationEmailMatch": "The emails do not match",
diff --git a/static/images/unhandled.png b/static/images/unhandled.png
new file mode 100644
index 000000000..ae28ed639
Binary files /dev/null and b/static/images/unhandled.png differ