diff --git src/wp-admin/js/widgets/media-widgets.js src/wp-admin/js/widgets/media-widgets.js
index 5e7383c6fc..d46e985d52 100644
--- src/wp-admin/js/widgets/media-widgets.js
+++ src/wp-admin/js/widgets/media-widgets.js
@@ -273,6 +273,8 @@ wp.mediaWidgets = ( function( $ ) {
 				mime = specificMimes;
 			}
 
+			wp.hooks.addFilter( 'l10n.insertIntoPost', 'wp/mediaWidgets/l10n.insertIntoPost', _.bind( function() { return this.options.text; }, this ) ),
+
 			this.states.add([
 
 				// Main states.
@@ -305,39 +307,6 @@ wp.mediaWidgets = ( function( $ ) {
 			]);
 		},
 
-		/**
-		 * Main insert toolbar.
-		 *
-		 * Forked override of {wp.media.view.MediaFrame.Post#mainInsertToolbar()} to override text.
-		 *
-		 * @param {wp.Backbone.View} view - Toolbar view.
-		 * @this {wp.media.controller.Library}
-		 * @returns {void}
-		 */
-		mainInsertToolbar: function mainInsertToolbar( view ) {
-			var controller = this; // eslint-disable-line consistent-this
-			view.set( 'insert', {
-				style:    'primary',
-				priority: 80,
-				text:     controller.options.text, // The whole reason for the fork.
-				requires: { selection: true },
-
-				/**
-				 * Handle click.
-				 *
-				 * @fires wp.media.controller.State#insert()
-				 * @returns {void}
-				 */
-				click: function onClick() {
-					var state = controller.state(),
-						selection = state.get( 'selection' );
-
-					controller.close();
-					state.trigger( 'insert', selection ).reset();
-				}
-			});
-		},
-
 		/**
 		 * Main embed toolbar.
 		 *
diff --git src/wp-includes/js/media-views.js src/wp-includes/js/media-views.js
index 18e6444691..33fd86ed86 100644
--- src/wp-includes/js/media-views.js
+++ src/wp-includes/js/media-views.js
@@ -5741,7 +5741,7 @@ Post = Select.extend(/** @lends wp.media.view.MediaFrame.Post.prototype */{
 		view.set( 'insert', {
 			style:    'primary',
 			priority: 80,
-			text:     l10n.insertIntoPost,
+			text:     wp.hooks.applyFilters( 'l10n.insertIntoPost', l10n.insertIntoPost ),
 			requires: { selection: true },
 
 			/**
diff --git src/wp-includes/js/media/views/frame/post.js src/wp-includes/js/media/views/frame/post.js
index 7ea2b8fd33..4e21b1b6bf 100644
--- src/wp-includes/js/media/views/frame/post.js
+++ src/wp-includes/js/media/views/frame/post.js
@@ -441,7 +441,7 @@ Post = Select.extend(/** @lends wp.media.view.MediaFrame.Post.prototype */{
 		view.set( 'insert', {
 			style:    'primary',
 			priority: 80,
-			text:     l10n.insertIntoPost,
+			text:     wp.hooks.applyFilters( 'l10n.insertIntoPost', l10n.insertIntoPost ),
 			requires: { selection: true },
 
 			/**
diff --git src/wp-includes/script-loader.php src/wp-includes/script-loader.php
index fa1ada70fb..143874940e 100644
--- src/wp-includes/script-loader.php
+++ src/wp-includes/script-loader.php
@@ -694,7 +694,7 @@ function wp_default_scripts( &$scripts ) {
 			'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
 		) ) ) );
 
-		$scripts->add( 'media-widgets', "/wp-admin/js/widgets/media-widgets$suffix.js", array( 'jquery', 'media-models', 'media-views', 'wp-api-request' ) );
+		$scripts->add( 'media-widgets', "/wp-admin/js/widgets/media-widgets$suffix.js", array( 'jquery', 'media-models', 'media-views', 'wp-api-request', 'wp-hooks' ) );
 		$scripts->add_inline_script( 'media-widgets', 'wp.mediaWidgets.init();', 'after' );
 
 		$scripts->add( 'media-audio-widget', "/wp-admin/js/widgets/media-audio-widget$suffix.js", array( 'media-widgets', 'media-audiovideo' ) );
