diff --git a/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js b/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js index 0b24d9fc920ce64e590b68d1cd7efaf15ed23e5f..e020628a473f8ca5c3282f0bac3162c564d54240 100644 --- a/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js +++ b/app/assets/javascripts/filtered_search/add_extra_tokens_for_merge_requests.js @@ -1,3 +1,5 @@ +import { __ } from '~/locale'; + export default IssuableTokenKeys => { const wipToken = { key: 'wip', @@ -5,7 +7,7 @@ export default IssuableTokenKeys => { param: '', symbol: '', icon: 'admin', - tag: 'Yes or No', + tag: __('Yes or No'), lowercaseValueOnSubmit: true, uppercaseTokenName: true, capitalizeTokenValue: true, diff --git a/app/assets/javascripts/filtered_search/dropdown_emoji.js b/app/assets/javascripts/filtered_search/dropdown_emoji.js index d9a4d06b549249088877f93098d9ac2845f5b11f..dad188f6f9891c4daa33e8db4a1aa2723e43fc78 100644 --- a/app/assets/javascripts/filtered_search/dropdown_emoji.js +++ b/app/assets/javascripts/filtered_search/dropdown_emoji.js @@ -3,6 +3,7 @@ import Ajax from '../droplab/plugins/ajax'; import Filter from '../droplab/plugins/filter'; import FilteredSearchDropdown from './filtered_search_dropdown'; import DropdownUtils from './dropdown_utils'; +import { __ } from '~/locale'; export default class DropdownEmoji extends FilteredSearchDropdown { constructor(options = {}) { @@ -14,7 +15,7 @@ export default class DropdownEmoji extends FilteredSearchDropdown { loadingTemplate: this.loadingTemplate, onError() { /* eslint-disable no-new */ - new Flash('An error occurred fetching the dropdown data.'); + new Flash(__('An error occurred fetching the dropdown data.')); /* eslint-enable no-new */ }, }, diff --git a/app/assets/javascripts/filtered_search/dropdown_non_user.js b/app/assets/javascripts/filtered_search/dropdown_non_user.js index 0264f934914ea2a7cd1487e538c103f82ddd4876..a2312de289dfa6037b959ffe92c6a7eaf50f47d4 100644 --- a/app/assets/javascripts/filtered_search/dropdown_non_user.js +++ b/app/assets/javascripts/filtered_search/dropdown_non_user.js @@ -3,6 +3,7 @@ import Ajax from '../droplab/plugins/ajax'; import Filter from '../droplab/plugins/filter'; import FilteredSearchDropdown from './filtered_search_dropdown'; import DropdownUtils from './dropdown_utils'; +import { __ } from '~/locale'; export default class DropdownNonUser extends FilteredSearchDropdown { constructor(options = {}) { @@ -17,7 +18,7 @@ export default class DropdownNonUser extends FilteredSearchDropdown { preprocessing, onError() { /* eslint-disable no-new */ - new Flash('An error occurred fetching the dropdown data.'); + new Flash(__('An error occurred fetching the dropdown data.')); /* eslint-enable no-new */ }, }, diff --git a/app/assets/javascripts/filtered_search/filtered_search_manager.js b/app/assets/javascripts/filtered_search/filtered_search_manager.js index efd03ec952f52ee7eb1325bf0f93e028e68f25b4..78fbb3696cc39724099c771a71b2c26043df4c53 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_manager.js +++ b/app/assets/javascripts/filtered_search/filtered_search_manager.js @@ -14,6 +14,7 @@ import FilteredSearchTokenizer from './filtered_search_tokenizer'; import FilteredSearchDropdownManager from './filtered_search_dropdown_manager'; import FilteredSearchVisualTokens from './filtered_search_visual_tokens'; import DropdownUtils from './dropdown_utils'; +import { __ } from '~/locale'; export default class FilteredSearchManager { constructor({ @@ -64,7 +65,7 @@ export default class FilteredSearchManager { .catch(error => { if (error.name === 'RecentSearchesServiceError') return undefined; // eslint-disable-next-line no-new - new Flash('An error occurred while parsing recent searches'); + new Flash(__('An error occurred while parsing recent searches')); // Gracefully fail to empty array return []; }) @@ -340,7 +341,7 @@ export default class FilteredSearchManager { handleInputPlaceholder() { const query = DropdownUtils.getSearchQuery(); - const placeholder = 'Search or filter results...'; + const placeholder = __('Search or filter results...'); const currentPlaceholder = this.filteredSearchInput.placeholder; if (query.length === 0 && currentPlaceholder !== placeholder) { diff --git a/app/assets/javascripts/filtered_search/filtered_search_token_keys.js b/app/assets/javascripts/filtered_search/filtered_search_token_keys.js index 11ed85504ec6624742191d8cf0f781d8ecd6957e..0a9579bf491c434b6a90374eaa3f6ea2dc4f363f 100644 --- a/app/assets/javascripts/filtered_search/filtered_search_token_keys.js +++ b/app/assets/javascripts/filtered_search/filtered_search_token_keys.js @@ -1,3 +1,5 @@ +import { __ } from '~/locale'; + export default class FilteredSearchTokenKeys { constructor(tokenKeys = [], alternativeTokenKeys = [], conditions = []) { this.tokenKeys = tokenKeys; @@ -79,7 +81,7 @@ export default class FilteredSearchTokenKeys { param: '', symbol: '', icon: 'eye-slash', - tag: 'Yes or No', + tag: __('Yes or No'), lowercaseValueOnSubmit: true, uppercaseTokenName: false, capitalizeTokenValue: true, diff --git a/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js b/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js index fd61030eb1338834c7ee4cb4d7910f19d0ac0ea5..6c3d9e33420584df588cbd4b2bdfa8314258bd2e 100644 --- a/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js +++ b/app/assets/javascripts/filtered_search/issuable_filtered_search_token_keys.js @@ -1,4 +1,5 @@ import FilteredSearchTokenKeys from './filtered_search_token_keys'; +import { __ } from '~/locale'; export const tokenKeys = [ { @@ -60,52 +61,52 @@ export const conditions = [ { url: 'assignee_id=None', tokenKey: 'assignee', - value: 'None', + value: __('None'), }, { url: 'assignee_id=Any', tokenKey: 'assignee', - value: 'Any', + value: __('Any'), }, { url: 'milestone_title=None', tokenKey: 'milestone', - value: 'None', + value: __('None'), }, { url: 'milestone_title=Any', tokenKey: 'milestone', - value: 'Any', + value: __('Any'), }, { url: 'milestone_title=%23upcoming', tokenKey: 'milestone', - value: 'Upcoming', + value: __('Upcoming'), }, { url: 'milestone_title=%23started', tokenKey: 'milestone', - value: 'Started', + value: __('Started'), }, { url: 'label_name[]=None', tokenKey: 'label', - value: 'None', + value: __('None'), }, { url: 'label_name[]=Any', tokenKey: 'label', - value: 'Any', + value: __('Any'), }, { url: 'my_reaction_emoji=None', tokenKey: 'my-reaction', - value: 'None', + value: __('None'), }, { url: 'my_reaction_emoji=Any', tokenKey: 'my-reaction', - value: 'Any', + value: __('Any'), }, ]; diff --git a/app/assets/javascripts/filtered_search/services/recent_searches_service_error.js b/app/assets/javascripts/filtered_search/services/recent_searches_service_error.js index 5917b223d63fdb25c511534963df9d36e3a8e91c..011b37e218d8e4b3b9aa1f144bef31fd6f2d8e0b 100644 --- a/app/assets/javascripts/filtered_search/services/recent_searches_service_error.js +++ b/app/assets/javascripts/filtered_search/services/recent_searches_service_error.js @@ -1,7 +1,9 @@ +import { __ } from '~/locale'; + class RecentSearchesServiceError { constructor(message) { this.name = 'RecentSearchesServiceError'; - this.message = message || 'Recent Searches Service is unavailable'; + this.message = message || __('Recent Searches Service is unavailable'); } } diff --git a/app/assets/javascripts/filtered_search/visual_token_value.js b/app/assets/javascripts/filtered_search/visual_token_value.js index a9d5ba8faa8d7221168abbe9c571657e1911b90b..38327472cb3dede82ed139f30934c9bace4e4efb 100644 --- a/app/assets/javascripts/filtered_search/visual_token_value.js +++ b/app/assets/javascripts/filtered_search/visual_token_value.js @@ -5,6 +5,7 @@ import AjaxCache from '~/lib/utils/ajax_cache'; import DropdownUtils from '~/filtered_search/dropdown_utils'; import Flash from '~/flash'; import UsersCache from '~/lib/utils/users_cache'; +import { __ } from '~/locale'; export default class VisualTokenValue { constructor(tokenValue, tokenType) { @@ -77,7 +78,7 @@ export default class VisualTokenValue { matchingLabel.text_color, ); }) - .catch(() => new Flash('An error occurred while fetching label colors.')); + .catch(() => new Flash(__('An error occurred while fetching label colors.'))); } static setTokenStyle(tokenValueContainer, backgroundColor, textColor) { diff --git a/locale/gitlab.pot b/locale/gitlab.pot index ab125c5a7b02439194d3337d80866d2e5398999a..967606e44bfd72599e0ff4152cff2be55bc6589c 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -810,6 +810,9 @@ msgstr "" msgid "An error occurred while dismissing the feature highlight. Refresh the page and try dismissing again." msgstr "" +msgid "An error occurred while fetching label colors." +msgstr "" + msgid "An error occurred while fetching markdown preview" msgstr "" @@ -855,6 +858,9 @@ msgstr "" msgid "An error occurred while making the request." msgstr "" +msgid "An error occurred while parsing recent searches" +msgstr "" + msgid "An error occurred while rendering KaTeX" msgstr "" @@ -7519,6 +7525,9 @@ msgstr "" msgid "Recent Project Activity" msgstr "" +msgid "Recent Searches Service is unavailable" +msgstr "" + msgid "Recent searches" msgstr "" @@ -10584,6 +10593,9 @@ msgstr "" msgid "Yes" msgstr "" +msgid "Yes or No" +msgstr "" + msgid "Yes, add it" msgstr ""