diff --git a/app/assets/javascripts/label_manager.js b/app/assets/javascripts/label_manager.js index 4d304c5fe69..c6dd21cd2d4 100644 --- a/app/assets/javascripts/label_manager.js +++ b/app/assets/javascripts/label_manager.js @@ -5,13 +5,14 @@ import Sortable from 'sortablejs'; import flash from './flash'; import axios from './lib/utils/axios_utils'; +import { __ } from './locale'; export default class LabelManager { constructor({ togglePriorityButton, prioritizedLabels, otherLabels } = {}) { this.togglePriorityButton = togglePriorityButton || $('.js-toggle-priority'); this.prioritizedLabels = prioritizedLabels || $('.js-prioritized-labels'); this.otherLabels = otherLabels || $('.js-other-labels'); - this.errorMessage = 'Unable to update label prioritization at this time'; + this.errorMessage = __('Unable to update label prioritization at this time'); this.emptyState = document.querySelector('#js-priority-labels-empty-state'); this.$badgeItemTemplate = $('#js-badge-item-template'); diff --git a/app/assets/javascripts/labels_select.js b/app/assets/javascripts/labels_select.js index 2c30b4ea587..3f954b43ee3 100644 --- a/app/assets/javascripts/labels_select.js +++ b/app/assets/javascripts/labels_select.js @@ -4,7 +4,7 @@ import $ from 'jquery'; import _ from 'underscore'; -import { sprintf, __ } from './locale'; +import { sprintf, s__, __ } from './locale'; import axios from './lib/utils/axios_utils'; import IssuableBulkUpdateActions from './issuable_bulk_update_actions'; import CreateLabelDropdown from './create_label'; @@ -178,7 +178,7 @@ export default class LabelsSelect { }); } } else { - template = 'None'; + template = `${__('None')}`; } $value.removeAttr('style').html(template); $sidebarCollapsedValue.text(labelCount); @@ -190,7 +190,9 @@ export default class LabelsSelect { if (labelTitles.length > 5) { labelTitles = labelTitles.slice(0, 5); - labelTitles.push('and ' + (data.labels.length - 5) + ' more'); + labelTitles.push( + sprintf(s__('Labels|and %{count} more'), { count: data.labels.length - 5 }), + ); } labelTooltipTitle = labelTitles.join(', '); @@ -219,13 +221,13 @@ export default class LabelsSelect { if (showNo) { extraData.unshift({ id: 0, - title: 'No Label', + title: __('No Label'), }); } if (showAny) { extraData.unshift({ isAny: true, - title: 'Any Label', + title: __('Any Label'), }); } if (extraData.length) { @@ -341,7 +343,7 @@ export default class LabelsSelect { if (selected && selected.id === 0) { this.selected = []; - return 'No Label'; + return __('No Label'); } else if (isSelected) { this.selected.push(title); } else if (!isSelected && title) { @@ -579,7 +581,7 @@ export default class LabelsSelect { if ($('.selected-issuable:checked').length) { return; } - return $('.issues-bulk-update .labels-filter .dropdown-toggle-text').text('Label'); + return $('.issues-bulk-update .labels-filter .dropdown-toggle-text').text(__('Label')); } // eslint-disable-next-line class-methods-use-this enableBulkLabelDropdown() { diff --git a/locale/gitlab.pot b/locale/gitlab.pot index b7aea0254a9..c3d9d885e4a 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -976,6 +976,9 @@ msgstr "" msgid "Any" msgstr "" +msgid "Any Label" +msgstr "" + msgid "Any Milestone" msgstr "" @@ -5523,6 +5526,9 @@ msgstr "" msgid "Labels|Promoting %{labelTitle} will make it available for all projects inside %{groupName}. Existing project labels with the same title will be merged. This action cannot be reversed." msgstr "" +msgid "Labels|and %{count} more" +msgstr "" + msgid "Language" msgstr "" @@ -6291,6 +6297,9 @@ msgstr "" msgid "No %{providerTitle} repositories available to import" msgstr "" +msgid "No Label" +msgstr "" + msgid "No Milestone" msgstr "" @@ -10358,6 +10367,9 @@ msgstr "" msgid "Unable to schedule a pipeline to run immediately" msgstr "" +msgid "Unable to update label prioritization at this time" +msgstr "" + msgid "Unable to update this issue at this time." msgstr ""