diff --git a/core/misc/ajax.js b/core/misc/ajax.js
index bb1b76f..199cbb4 100644
--- a/core/misc/ajax.js
+++ b/core/misc/ajax.js
@@ -125,20 +125,20 @@
     var responseText;
     var readyStateText;
     if (xmlhttp.status) {
-      statusCode = '\n' + Drupal.t('An AJAX HTTP error occurred.') + '\n' + Drupal.t('HTTP Result Code: !status', {'!status': xmlhttp.status});
+      statusCode = '\n' + Drupal.t('An AJAX HTTP error occurred.') + '\n' + Drupal.t('HTTP Result Code: @status', {'@status': xmlhttp.status});
     }
     else {
       statusCode = '\n' + Drupal.t('An AJAX HTTP request terminated abnormally.');
     }
     statusCode += '\n' + Drupal.t('Debugging information follows.');
-    pathText = '\n' + Drupal.t('Path: !uri', {'!uri': uri});
+    pathText = '\n' + Drupal.t('Path: @uri', {'@uri': uri});
     statusText = '';
     // In some cases, when statusCode === 0, xmlhttp.statusText may not be
     // defined. Unfortunately, testing for it with typeof, etc, doesn't seem to
     // catch that and the test causes an exception. So we need to catch the
     // exception here.
     try {
-      statusText = '\n' + Drupal.t('StatusText: !statusText', {'!statusText': $.trim(xmlhttp.statusText)});
+      statusText = '\n' + Drupal.t('StatusText: @statusText', {'@statusText': $.trim(xmlhttp.statusText)});
     }
     catch (e) {
       // Empty.
@@ -148,7 +148,7 @@
     // Again, we don't have a way to know for sure whether accessing
     // xmlhttp.responseText is going to throw an exception. So we'll catch it.
     try {
-      responseText = '\n' + Drupal.t('ResponseText: !responseText', {'!responseText': $.trim(xmlhttp.responseText)});
+      responseText = '\n' + Drupal.t('ResponseText: @responseText', {'@responseText': $.trim(xmlhttp.responseText)});
     }
     catch (e) {
       // Empty.
@@ -159,9 +159,9 @@
     responseText = responseText.replace(/[\n]+\s+/g, '\n');
 
     // We don't need readyState except for status == 0.
-    readyStateText = xmlhttp.status === 0 ? ('\n' + Drupal.t('ReadyState: !readyState', {'!readyState': xmlhttp.readyState})) : '';
+    readyStateText = xmlhttp.status === 0 ? ('\n' + Drupal.t('ReadyState: @readyState', {'@readyState': xmlhttp.readyState})) : '';
 
-    customMessage = customMessage ? ('\n' + Drupal.t('CustomMessage: !customMessage', {'!customMessage': customMessage})) : '';
+    customMessage = customMessage ? ('\n' + Drupal.t('CustomMessage: @customMessage', {'@customMessage': customMessage})) : '';
 
     /**
      * Formatted and translated error message.
@@ -531,7 +531,7 @@
     // Bind the ajaxSubmit function to the element event.
     $(ajax.element).on(element_settings.event, function (event) {
       if (!drupalSettings.ajaxTrustedUrl[ajax.url] && !Drupal.url.isLocal(ajax.url)) {
-        throw new Error(Drupal.t('The callback URL is not local and not trusted: !url', {'!url': ajax.url}));
+        throw new Error(Drupal.t('The callback URL is not local and not trusted: @url', {'@url': ajax.url}));
       }
       return ajax.eventResponse(this, event);
     });
diff --git a/core/modules/ckeditor/js/ckeditor.js b/core/modules/ckeditor/js/ckeditor.js
index 497393f..165c444 100644
--- a/core/modules/ckeditor/js/ckeditor.js
+++ b/core/modules/ckeditor/js/ckeditor.js
@@ -34,7 +34,7 @@
       // label so that screen readers say something that is understandable
       // for end users.
       var label = $('label[for=' + element.getAttribute('id') + ']').html();
-      format.editorSettings.title = Drupal.t('Rich Text Editor, !label field', {'!label': label});
+      format.editorSettings.title = Drupal.t('Rich Text Editor, @label field', {'@label': label});
 
       return !!CKEDITOR.replace(element, format.editorSettings);
     },
diff --git a/core/modules/locale/tests/locale_test.js b/core/modules/locale/tests/locale_test.js
index ba62b75..b600803 100644
--- a/core/modules/locale/tests/locale_test.js
+++ b/core/modules/locale/tests/locale_test.js
@@ -26,7 +26,7 @@ Drupal.t("Context Unquoted t", {}, {context: "Context string unquoted"});
 Drupal.t("Context Single Quoted t", {}, {'context': "Context string single quoted"});
 Drupal.t("Context Double Quoted t", {}, {"context": "Context string double quoted"});
 
-Drupal.t("Context !key Args t", {'!key': 'value'}, {context: "Context string"});
+Drupal.t("Context @key Args t", {'@key': 'value'}, {context: "Context string"});
 
 Drupal.formatPlural(1, "Standard Call plural", "Standard Call @count plural");
 Drupal
@@ -49,4 +49,4 @@ Drupal.formatPlural(1, "Context Unquoted plural", "Context Unquoted @count plura
 Drupal.formatPlural(1, "Context Single Quoted plural", "Context Single Quoted @count plural", {}, {'context': "Context string single quoted"});
 Drupal.formatPlural(1, "Context Double Quoted plural", "Context Double Quoted @count plural", {}, {"context": "Context string double quoted"});
 
-Drupal.formatPlural(1, "Context !key Args plural", "Context !key Args @count plural", {'!key': 'value'}, {context: "Context string"});
+Drupal.formatPlural(1, "Context @key Args plural", "Context @key Args @count plural", {'@key': 'value'}, {context: "Context string"});
diff --git a/core/modules/system/js/system.modules.js b/core/modules/system/js/system.modules.js
index d47ca70..773a4aa 100644
--- a/core/modules/system/js/system.modules.js
+++ b/core/modules/system/js/system.modules.js
@@ -64,8 +64,8 @@
 
           Drupal.announce(
             Drupal.t(
-              '!modules modules are available in the modified list.',
-              {'!modules': $rowsAndDetails.find('tbody tr:visible').length}
+              '@modules modules are available in the modified list.',
+              {'@modules': $rowsAndDetails.find('tbody tr:visible').length}
             )
           );
         }
diff --git a/core/modules/tour/js/tour.js b/core/modules/tour/js/tour.js
index 2c7050f..b8a648f 100644
--- a/core/modules/tour/js/tour.js
+++ b/core/modules/tour/js/tour.js
@@ -256,7 +256,7 @@
           .find('li')
           // Rebuild the progress data.
           .each(function (index) {
-            var progress = Drupal.t('!tour_item of !total', {'!tour_item': index + 1, '!total': total});
+            var progress = Drupal.t('@tour_item of @total', {'@tour_item': index + 1, '@total': total});
             $(this).find('.tour-progress').text(progress);
           })
           // Update the last item to have "End tour" as the button.
