diff --git a/core/modules/views_ui/js/views-admin.js b/core/modules/views_ui/js/views-admin.js
index 3cc0f4c..175103a 100644
--- a/core/modules/views_ui/js/views-admin.js
+++ b/core/modules/views_ui/js/views-admin.js
@@ -350,12 +350,20 @@
$displayButtons.appendTo($addDisplayDropdown.find('.action-list')).wrap('
')
.parent().eq(0).addClass('first').end().eq(-1).addClass('last');
// Remove the 'Add ' prefix from the button labels since they're being
- // placed in an 'Add' dropdown. @todo This assumes English, but so does
- // $addDisplayDropdown above. Add support for translation.
+ // placed in an 'Add' dropdown. In other languages, it could be a
+ // suffix or both prefix and suffix.
+ var translatedAdd = Drupal.t('Add @type');
+ // This could be -1 if the translation doesn't contain @type.
+ var positionStart = translatedAdd.indexOf('@type');
+ var stripOffEnd = translatedAdd.length - positionStart - 5;
$displayButtons.each(function () {
- var label = $(this).val();
- if (label.substr(0, 4) === 'Add ') {
- $(this).val(label.substr(4));
+ if (positionStart >= 0) {
+ var label = $(this).val();
+ label = label.substr(positionStart);
+ if (stripOffEnd > 0) {
+ label = label.substr(0, label.length - stripOffEnd);
+ }
+ $(this).val(label);
}
});
$addDisplayDropdown.appendTo($menu);