Commit 31e0e2ac authored by Ezekiel Kigbo's avatar Ezekiel Kigbo Committed by Fatih Acet

Vue-i18n: Autofix `ee` directory

Autofixes i18n lints in the ee directory
that were missed in earlier autofixes.
parent c90f4513
<script> <script>
import { __ } from '~/locale';
import Flash from '~/flash'; import Flash from '~/flash';
import { redirectTo } from '~/lib/utils/url_utility'; import { redirectTo } from '~/lib/utils/url_utility';
...@@ -77,7 +78,7 @@ export default { ...@@ -77,7 +78,7 @@ export default {
addToSlack() { addToSlack() {
GitlabSlackService.addToSlack(this.slackLinkPath, this.selectedProjectId) GitlabSlackService.addToSlack(this.slackLinkPath, this.selectedProjectId)
.then(response => redirectTo(response.data.add_to_slack_link)) .then(response => redirectTo(response.data.add_to_slack_link))
.catch(() => Flash('Unable to build Slack link.')); .catch(() => Flash(__('Unable to build Slack link.')));
}, },
}, },
}; };
...@@ -85,8 +86,8 @@ export default { ...@@ -85,8 +86,8 @@ export default {
<template> <template>
<div class="text-center"> <div class="text-center">
<h1>GitLab for Slack</h1> <h1>{{ __('GitLab for Slack') }}</h1>
<p>Track your GitLab projects with GitLab for Slack.</p> <p>{{ __('Track your GitLab projects with GitLab for Slack.') }}</p>
<div v-once class="prepend-top-20 append-bottom-20"> <div v-once class="prepend-top-20 append-bottom-20">
<img :src="gitlabLogoPath" class="gitlab-slack-logo" /> <img :src="gitlabLogoPath" class="gitlab-slack-logo" />
...@@ -102,7 +103,7 @@ export default { ...@@ -102,7 +103,7 @@ export default {
class="btn btn-red mx-auto js-popup-button prepend-top-default" class="btn btn-red mx-auto js-popup-button prepend-top-default"
@click="togglePopup" @click="togglePopup"
> >
Add GitLab to Slack {{ __('Add GitLab to Slack') }}
</button> </button>
<div <div
...@@ -110,7 +111,7 @@ export default { ...@@ -110,7 +111,7 @@ export default {
class="popup gitlab-slack-popup mx-auto prepend-top-20 text-center js-popup" class="popup gitlab-slack-popup mx-auto prepend-top-20 text-center js-popup"
> >
<div v-if="isSignedIn && hasProjects" class="inline"> <div v-if="isSignedIn && hasProjects" class="inline">
<strong>Select GitLab project to link with your Slack team</strong> <strong>{{ __('Select GitLab project to link with your Slack team') }}</strong>
<select <select
v-model="selectedProjectId" v-model="selectedProjectId"
...@@ -122,16 +123,17 @@ export default { ...@@ -122,16 +123,17 @@ export default {
</select> </select>
<button type="button" class="btn btn-red float-right js-add-button" @click="addToSlack"> <button type="button" class="btn btn-red float-right js-add-button" @click="addToSlack">
Add to Slack {{ __('Add to Slack') }}
</button> </button>
</div> </div>
<span v-else-if="isSignedIn && !hasProjects" class="js-no-projects"> <span v-else-if="isSignedIn && !hasProjects" class="js-no-projects">{{
You don't have any projects available. __("You don't have any projects available.")
</span> }}</span>
<span v-else> <span v-else>
You have to <a v-once :href="signInPath" class="js-gitlab-slack-sign-in-link"> log in </a> You have to
<a v-once :href="signInPath" class="js-gitlab-slack-sign-in-link">{{ __('log in') }}</a>
</span> </span>
</div> </div>
...@@ -140,7 +142,7 @@ export default { ...@@ -140,7 +142,7 @@ export default {
</div> </div>
<div v-once class="text-center"> <div v-once class="text-center">
<h3>How it works</h3> <h3>{{ __('How it works') }}</h3>
<div class="well gitlab-slack-well mx-auto"> <div class="well gitlab-slack-well mx-auto">
<code class="code mx-auto append-bottom-10" <code class="code mx-auto append-bottom-10"
...@@ -151,7 +153,9 @@ export default { ...@@ -151,7 +153,9 @@ export default {
Shows the issue with id <strong>&lt;id&gt;</strong> Shows the issue with id <strong>&lt;id&gt;</strong>
</span> </span>
<div class="prepend-top-default"><a :href="docsPath"> More Slack commands </a></div> <div class="prepend-top-default">
<a v-once :href="docsPath">{{ __('More Slack commands') }}</a>
</div>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -3,5 +3,5 @@ export default {}; ...@@ -3,5 +3,5 @@ export default {};
</script> </script>
<template> <template>
<div>Productivity Analytics app goes here</div> <div>{{ __('Productivity Analytics app goes here') }}</div>
</template> </template>
<script> <script>
import { __ } from '~/locale';
import UsersSelect from '~/users_select'; import UsersSelect from '~/users_select';
import UserAvatarImage from '~/vue_shared/components/user_avatar/user_avatar_image.vue'; import UserAvatarImage from '~/vue_shared/components/user_avatar/user_avatar_image.vue';
import { GlLoadingIcon } from '@gitlab/ui'; import { GlLoadingIcon } from '@gitlab/ui';
...@@ -12,7 +13,7 @@ export default { ...@@ -12,7 +13,7 @@ export default {
anyUserText: { anyUserText: {
type: String, type: String,
required: false, required: false,
default: 'Any user', default: __('Any user'),
}, },
board: { board: {
type: Object, type: Object,
...@@ -39,7 +40,7 @@ export default { ...@@ -39,7 +40,7 @@ export default {
placeholderText: { placeholderText: {
type: String, type: String,
required: false, required: false,
default: 'Select user', default: __('Select user'),
}, },
projectId: { projectId: {
type: Number, type: Number,
...@@ -98,7 +99,9 @@ export default { ...@@ -98,7 +99,9 @@ export default {
<div :class="wrapperClass" class="block"> <div :class="wrapperClass" class="block">
<div class="title append-bottom-10"> <div class="title append-bottom-10">
{{ label }} {{ label }}
<button v-if="canEdit" type="button" class="edit-link btn btn-blank float-right">Edit</button> <button v-if="canEdit" type="button" class="edit-link btn btn-blank float-right">
{{ __('Edit') }}
</button>
</div> </div>
<div class="value"> <div class="value">
<div v-if="hasValue" class="media"> <div v-if="hasValue" class="media">
...@@ -139,7 +142,7 @@ dropdown-menu-user dropdown-menu-selectable dropdown-menu-author" ...@@ -139,7 +142,7 @@ dropdown-menu-user dropdown-menu-selectable dropdown-menu-author"
<input <input
autocomplete="off" autocomplete="off"
class="dropdown-input-field" class="dropdown-input-field"
placeholder="Search" :placeholder="__('Search')"
type="search" type="search"
/> />
<i aria-hidden="true" class="fa fa-search dropdown-input-search" data-hidden="true"> <i aria-hidden="true" class="fa fa-search dropdown-input-search" data-hidden="true">
......
<script> <script>
import { __ } from '~/locale';
import ListLabel from '~/boards/models/label'; import ListLabel from '~/boards/models/label';
import BoardLabelsSelect from '~/vue_shared/components/sidebar/labels_select/base.vue'; import BoardLabelsSelect from '~/vue_shared/components/sidebar/labels_select/base.vue';
import BoardMilestoneSelect from './milestone_select.vue'; import BoardMilestoneSelect from './milestone_select.vue';
...@@ -69,7 +70,7 @@ export default { ...@@ -69,7 +70,7 @@ export default {
computed: { computed: {
expandButtonText() { expandButtonText() {
return this.expanded ? 'Collapse' : 'Expand'; return this.expanded ? __('Collapse') : __('Expand');
}, },
}, },
...@@ -99,13 +100,13 @@ export default { ...@@ -99,13 +100,13 @@ export default {
<template> <template>
<div> <div>
<div v-if="canAdminBoard" class="media append-bottom-10"> <div v-if="canAdminBoard" class="media append-bottom-10">
<label class="form-section-title label-bold media-body"> Board scope </label> <label class="form-section-title label-bold media-body">{{ __('Board scope') }}</label>
<button v-if="collapseScope" type="button" class="btn" @click="expanded = !expanded"> <button v-if="collapseScope" type="button" class="btn" @click="expanded = !expanded">
{{ expandButtonText }} {{ expandButtonText }}
</button> </button>
</div> </div>
<p class="text-secondary append-bottom-10"> <p class="text-secondary append-bottom-10">
Board scope affects which issues are displayed for anyone who visits this board {{ __('Board scope affects which issues are displayed for anyone who visits this board') }}
</p> </p>
<div v-if="!collapseScope || expanded"> <div v-if="!collapseScope || expanded">
<board-milestone-select <board-milestone-select
......
...@@ -99,7 +99,9 @@ export default { ...@@ -99,7 +99,9 @@ export default {
<div class="block milestone"> <div class="block milestone">
<div class="title append-bottom-10"> <div class="title append-bottom-10">
Milestone Milestone
<button v-if="canEdit" type="button" class="edit-link btn btn-blank float-right">Edit</button> <button v-if="canEdit" type="button" class="edit-link btn btn-blank float-right">
{{ __('Edit') }}
</button>
</div> </div>
<div :class="milestoneTitleClass" class="value">{{ milestoneTitle }}</div> <div :class="milestoneTitleClass" class="value">{{ milestoneTitle }}</div>
<div class="selectbox" style="display: none;"> <div class="selectbox" style="display: none;">
...@@ -125,7 +127,7 @@ export default { ...@@ -125,7 +127,7 @@ export default {
<input <input
type="search" type="search"
class="dropdown-input-field" class="dropdown-input-field"
placeholder="Search milestones" :placeholder="__('Search milestones')"
autocomplete="off" autocomplete="off"
/> />
<i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search"> <i aria-hidden="true" data-hidden="true" class="fa fa-search dropdown-input-search">
......
...@@ -118,7 +118,9 @@ export default { ...@@ -118,7 +118,9 @@ export default {
<div class="block weight"> <div class="block weight">
<div class="title append-bottom-10"> <div class="title append-bottom-10">
Weight Weight
<button v-if="canEdit" type="button" class="edit-link btn btn-blank float-right">Edit</button> <button v-if="canEdit" type="button" class="edit-link btn btn-blank float-right">
{{ __('Edit') }}
</button>
</div> </div>
<div :class="valueClass" class="value">{{ valueText }}</div> <div :class="valueClass" class="value">{{ valueText }}</div>
<div class="selectbox" style="display: none;"> <div class="selectbox" style="display: none;">
...@@ -131,7 +133,7 @@ export default { ...@@ -131,7 +133,7 @@ export default {
data-default-label="Weight" data-default-label="Weight"
data-toggle="dropdown" data-toggle="dropdown"
> >
<span class="dropdown-toggle-text is-default"> Weight </span> <span class="dropdown-toggle-text is-default">{{ __('Weight') }}</span>
<i aria-hidden="true" data-hidden="true" class="fa fa-chevron-down"> </i> <i aria-hidden="true" data-hidden="true" class="fa fa-chevron-down"> </i>
</button> </button>
<div class="dropdown-menu dropdown-select dropdown-menu-selectable dropdown-menu-weight"> <div class="dropdown-menu dropdown-select dropdown-menu-selectable dropdown-menu-weight">
......
...@@ -96,7 +96,7 @@ export default { ...@@ -96,7 +96,7 @@ export default {
this.errorMessage = valid ? '' : error; this.errorMessage = valid ? '' : error;
this.queryIsValid = valid; this.queryIsValid = valid;
} else { } else {
throw new Error('There was an error trying to validate your query'); throw new Error(__('There was an error trying to validate your query'));
} }
}) })
.catch(() => { .catch(() => {
......
...@@ -111,7 +111,7 @@ export default { ...@@ -111,7 +111,7 @@ export default {
<section class="deploy-board-status"> <section class="deploy-board-status">
<span v-tooltip :title="instanceIsCompletedText"> <span v-tooltip :title="instanceIsCompletedText">
<span class="percentage text-center text-plain">{{ deployBoardData.completion }}%</span> <span class="percentage text-center text-plain">{{ deployBoardData.completion }}%</span>
<span class="text text-center text-secondary">Complete</span> <span class="text text-center text-secondary">{{ __('Complete') }}</span>
</span> </span>
</section> </section>
...@@ -145,18 +145,16 @@ export default { ...@@ -145,18 +145,16 @@ export default {
class="btn" class="btn"
data-method="post" data-method="post"
rel="nofollow" rel="nofollow"
>{{ __('Rollback') }}</a
> >
Rollback
</a>
<a <a
v-if="deployBoardData.abort_url" v-if="deployBoardData.abort_url"
:href="deployBoardData.abort_url" :href="deployBoardData.abort_url"
class="btn btn-red btn-inverted" class="btn btn-red btn-inverted"
data-method="post" data-method="post"
rel="nofollow" rel="nofollow"
>{{ __('Abort') }}</a
> >
Abort
</a>
</section> </section>
</div> </div>
...@@ -164,7 +162,9 @@ export default { ...@@ -164,7 +162,9 @@ export default {
<section class="deploy-board-empty-state-svg" v-html="deployBoardSvg"></section> <section class="deploy-board-empty-state-svg" v-html="deployBoardSvg"></section>
<section class="deploy-board-empty-state-text"> <section class="deploy-board-empty-state-text">
<span class="deploy-board-empty-state-title d-flex">Kubernetes deployment not found</span> <span class="deploy-board-empty-state-title d-flex">{{
__('Kubernetes deployment not found')
}}</span>
<span> <span>
To see deployment progress for your environments, make sure you are deploying to To see deployment progress for your environments, make sure you are deploying to
<code>$KUBE_NAMESPACE</code> and annotating with <code>$KUBE_NAMESPACE</code> and annotating with
......
...@@ -41,6 +41,8 @@ export default { ...@@ -41,6 +41,8 @@ export default {
return this.isEpicOpen ? __('Open') : __('Closed'); return this.isEpicOpen ? __('Open') : __('Closed');
}, },
actionButtonClass() { actionButtonClass() {
// False positive css classes
// https://gitlab.com/gitlab-org/frontend/eslint-plugin-i18n/issues/24
return `btn btn-grouped js-btn-epic-action qa-close-reopen-epic-button ${ return `btn btn-grouped js-btn-epic-action qa-close-reopen-epic-button ${
this.isEpicOpen ? 'btn-close' : 'btn-open' this.isEpicOpen ? 'btn-close' : 'btn-open'
}`; }`;
......
<script> <script>
import { s__ } from '~/locale'; import { __, s__ } from '~/locale';
import Flash from '~/flash'; import Flash from '~/flash';
import DeprecatedModal from '~/vue_shared/components/deprecated_modal.vue'; import DeprecatedModal from '~/vue_shared/components/deprecated_modal.vue';
import SmartInterval from '~/smart_interval'; import SmartInterval from '~/smart_interval';
...@@ -117,7 +117,7 @@ export default { ...@@ -117,7 +117,7 @@ export default {
this.store.setNodeDetails(nodeId, { this.store.setNodeDetails(nodeId, {
geo_node_id: nodeId, geo_node_id: nodeId,
health: err.message, health: err.message,
health_status: 'Unknown', health_status: __('Unknown'),
missing_oauth_application: null, missing_oauth_application: null,
sync_status_unavailable: true, sync_status_unavailable: true,
storage_shards_match: null, storage_shards_match: null,
......
<script> <script>
import { s__ } from '~/locale'; import { sprintf, s__ } from '~/locale';
import { timeIntervalInWords } from '~/lib/utils/datetime_utility'; import { timeIntervalInWords } from '~/lib/utils/datetime_utility';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import icon from '~/vue_shared/components/icon.vue'; import icon from '~/vue_shared/components/icon.vue';
...@@ -88,7 +88,10 @@ export default { ...@@ -88,7 +88,10 @@ export default {
statusEventInfo(lastEventId, cursorLastEventId, lagInSeconds) { statusEventInfo(lastEventId, cursorLastEventId, lagInSeconds) {
const timeAgoStr = timeIntervalInWords(lagInSeconds); const timeAgoStr = timeIntervalInWords(lagInSeconds);
const pendingEvents = lastEventId - cursorLastEventId; const pendingEvents = lastEventId - cursorLastEventId;
return `${timeAgoStr} (${pendingEvents} events)`; return sprintf(s__('GeoNodeStatusEvent|%{timeAgoStr} (%{pendingEvents} events)'), {
timeAgoStr,
pendingEvents,
});
}, },
statusTooltip(lagInSeconds) { statusTooltip(lagInSeconds) {
if (this.eventTimestampEmpty || lagInSeconds <= TIME_DIFF.FIVE_MINS) { if (this.eventTimestampEmpty || lagInSeconds <= TIME_DIFF.FIVE_MINS) {
......
...@@ -57,8 +57,8 @@ export default { ...@@ -57,8 +57,8 @@ export default {
ref="service-desk-incoming-email" ref="service-desk-incoming-email"
type="text" type="text"
class="form-control incoming-email h-auto" class="form-control incoming-email h-auto"
placeholder="__('Incoming email')" :placeholder="__('Incoming email')"
aria-label="__('Incoming email')" :aria-label="__('Incoming email')"
aria-describedby="incoming-email-describer" aria-describedby="incoming-email-describer"
:value="incomingEmail" :value="incomingEmail"
disabled="true" disabled="true"
......
...@@ -93,7 +93,7 @@ export default { ...@@ -93,7 +93,7 @@ export default {
<gl-loading-icon v-if="isSubmitting" ref="loadingIcon" :inline="true" /> <gl-loading-icon v-if="isSubmitting" ref="loadingIcon" :inline="true" />
</button> </button>
<button type="button" class="btn btn-default float-right" @click="onFormCancel"> <button type="button" class="btn btn-default float-right" @click="onFormCancel">
Cancel {{ __('Cancel') }}
</button> </button>
</div> </div>
</form> </form>
......
<script> <script>
import { __ } from '~/locale'; import { __, sprintf } from '~/locale';
import relatedIssuableMixin from '~/vue_shared/mixins/related_issuable_mixin'; import relatedIssuableMixin from '~/vue_shared/mixins/related_issuable_mixin';
export default { export default {
...@@ -14,7 +14,8 @@ export default { ...@@ -14,7 +14,8 @@ export default {
}, },
computed: { computed: {
removeButtonLabel() { removeButtonLabel() {
return `Remove ${this.displayReference}`; const { displayReference } = this;
return sprintf(__('Remove %{displayReference}'), { displayReference });
}, },
stateTitle() { stateTitle() {
if (this.isCondensed) return ''; if (this.isCondensed) return '';
......
...@@ -168,7 +168,7 @@ export default { ...@@ -168,7 +168,7 @@ export default {
<a v-if="hasHelpPath" :href="helpPath"> <a v-if="hasHelpPath" :href="helpPath">
<i <i
class="related-issues-header-help-icon fa fa-question-circle" class="related-issues-header-help-icon fa fa-question-circle"
aria-label="Read more about related issues" :aria-label="__('Read more about related issues')"
></i> ></i>
</a> </a>
<div class="d-inline-flex lh-100 align-middle"> <div class="d-inline-flex lh-100 align-middle">
...@@ -186,7 +186,7 @@ export default { ...@@ -186,7 +186,7 @@ export default {
type="button" type="button"
:class="qaClass" :class="qaClass"
class="js-issue-count-badge-add-button issue-count-badge-add-button btn btn-sm btn-default" class="js-issue-count-badge-add-button issue-count-badge-add-button btn btn-sm btn-default"
aria-label="Add an issue" :aria-label="__('Add an issue')"
data-placement="top" data-placement="top"
@click="$emit('toggleAddRelatedIssuesForm', $event)" @click="$emit('toggleAddRelatedIssuesForm', $event)"
> >
......
...@@ -25,6 +25,7 @@ Your caret can stop touching a `rawReference` can happen in a variety of ways: ...@@ -25,6 +25,7 @@ Your caret can stop touching a `rawReference` can happen in a variety of ways:
*/ */
import _ from 'underscore'; import _ from 'underscore';
import Flash from '~/flash'; import Flash from '~/flash';
import { __ } from '~/locale';
import RelatedIssuesBlock from './related_issues_block.vue'; import RelatedIssuesBlock from './related_issues_block.vue';
import RelatedIssuesStore from '../stores/related_issues_store'; import RelatedIssuesStore from '../stores/related_issues_store';
import RelatedIssuesService from '../services/related_issues_service'; import RelatedIssuesService from '../services/related_issues_service';
...@@ -63,7 +64,7 @@ export default { ...@@ -63,7 +64,7 @@ export default {
title: { title: {
type: String, type: String,
required: false, required: false,
default: 'Related issues', default: __('Related issues'),
}, },
issuableType: { issuableType: {
type: String, type: String,
...@@ -176,7 +177,7 @@ export default { ...@@ -176,7 +177,7 @@ export default {
.catch(() => { .catch(() => {
this.store.setRelatedIssues([]); this.store.setRelatedIssues([]);
this.isFetching = false; this.isFetching = false;
Flash('An error occurred while fetching issues.'); Flash(__('An error occurred while fetching issues.'));
}); });
}, },
saveIssueOrder({ issueId, beforeId, afterId, oldIndex, newIndex }) { saveIssueOrder({ issueId, beforeId, afterId, oldIndex, newIndex }) {
...@@ -195,7 +196,7 @@ export default { ...@@ -195,7 +196,7 @@ export default {
} }
}) })
.catch(() => { .catch(() => {
Flash('An error occurred while reordering issues.'); Flash(__('An error occurred while reordering issues.'));
}); });
} }
}, },
......
...@@ -65,7 +65,11 @@ export default { ...@@ -65,7 +65,11 @@ export default {
this.startDate.getFullYear() === this.endDate.getFullYear(), this.startDate.getFullYear() === this.endDate.getFullYear(),
); );
return `${startDateInWords} &ndash; ${dateInWords(this.endDate, true)}`; const endDateInWords = dateInWords(this.endDate, true);
return sprintf(s__('GroupRoadmap|%{startDateInWords} &ndash; %{endDateInWords}'), {
startDateInWords,
endDateInWords,
});
}, },
}, },
}; };
......
...@@ -88,7 +88,7 @@ export default { ...@@ -88,7 +88,7 @@ export default {
}, },
maxInterval: DAY_IN_MS * this.vulnerabilitiesHistoryMaxDayInterval, maxInterval: DAY_IN_MS * this.vulnerabilitiesHistoryMaxDayInterval,
min: Date.now() - DAY_IN_MS * this.vulnerabilitiesHistoryDayRange, min: Date.now() - DAY_IN_MS * this.vulnerabilitiesHistoryDayRange,
name: 'Date', name: __('Date'),
nameGap: 35, nameGap: 35,
nameLocation: 'center', nameLocation: 'center',
nameTextStyle: { nameTextStyle: {
...@@ -102,7 +102,7 @@ export default { ...@@ -102,7 +102,7 @@ export default {
color: '#707070', color: '#707070',
}, },
boundaryGap: [0, '5%'], boundaryGap: [0, '5%'],
name: 'Vulnerabilities', name: __('Vulnerabilities'),
nameGap: 42, nameGap: 42,
nameLocation: 'center', nameLocation: 'center',
nameRotation: 90, nameRotation: 90,
......
<script> <script>
import { __ } from '~/locale';
import Flash from '~/flash'; import Flash from '~/flash';
import eventHub from '~/sidebar/event_hub'; import eventHub from '~/sidebar/event_hub';
import weightComponent from './weight.vue'; import weightComponent from './weight.vue';
...@@ -28,7 +29,7 @@ export default { ...@@ -28,7 +29,7 @@ export default {
methods: { methods: {
onUpdateWeight(newWeight) { onUpdateWeight(newWeight) {
this.mediator.updateWeight(newWeight).catch(() => { this.mediator.updateWeight(newWeight).catch(() => {
Flash('Error occurred while updating the issue weight'); Flash(__('Error occurred while updating the issue weight'));
}); });
}, },
}, },
......
<script> <script>
import $ from 'jquery'; import $ from 'jquery';
import { s__ } from '~/locale'; import { __, s__ } from '~/locale';
import eventHub from '~/sidebar/event_hub'; import eventHub from '~/sidebar/event_hub';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
import icon from '~/vue_shared/components/icon.vue'; import icon from '~/vue_shared/components/icon.vue';
...@@ -33,7 +33,7 @@ export default { ...@@ -33,7 +33,7 @@ export default {
weightNoneValue: { weightNoneValue: {
type: String, type: String,
required: true, required: true,
default: 'None', default: __('None'),
}, },
editable: { editable: {
type: Boolean, type: Boolean,
...@@ -171,7 +171,7 @@ export default { ...@@ -171,7 +171,7 @@ export default {
:value="weight" :value="weight"
class="form-control" class="form-control"
type="text" type="text"
placeholder="Enter a number" :placeholder="__('Enter a number')"
@blur="onSubmit" @blur="onSubmit"
@keydown.enter="onSubmit" @keydown.enter="onSubmit"
/> />
......
...@@ -21,7 +21,7 @@ export default { ...@@ -21,7 +21,7 @@ export default {
<div class="media"> <div class="media">
<status-icon status="warning" show-disabled-button /> <status-icon status="warning" show-disabled-button />
<div class="media-body"> <div class="media-body">
<span class="bold"> Merge requests are read-only in a secondary Geo node </span> <span class="bold">{{ __('Merge requests are read-only in a secondary Geo node') }}</span>
<a <a
v-tooltip v-tooltip
:href="mr.geoSecondaryHelpPath" :href="mr.geoSecondaryHelpPath"
......
<script> <script>
import { sprintf, s__ } from '~/locale';
import icon from '~/vue_shared/components/icon.vue'; import icon from '~/vue_shared/components/icon.vue';
import ciStatus from '~/vue_shared/components/ci_icon.vue'; import ciStatus from '~/vue_shared/components/ci_icon.vue';
import tooltip from '~/vue_shared/directives/tooltip'; import tooltip from '~/vue_shared/directives/tooltip';
...@@ -59,7 +60,9 @@ export default { ...@@ -59,7 +60,9 @@ export default {
return `+${this.linkedPipelines.length - this.maxRenderedPipelines}`; return `+${this.linkedPipelines.length - this.maxRenderedPipelines}`;
}, },
counterTooltipText() { counterTooltipText() {
return `${this.counterLabel} more downstream pipelines`; return sprintf(s__('LinkedPipelines|%{counterLabel} more downstream pipelines'), {
counterLabel: this.counterLabel,
});
}, },
}, },
methods: { methods: {
......
...@@ -86,7 +86,7 @@ export default { ...@@ -86,7 +86,7 @@ export default {
extraDownstreamTitle() { extraDownstreamTitle() {
const extra = this.downstreamCount - this.shownDownstreamCount; const extra = this.downstreamCount - this.shownDownstreamCount;
return sprintf('%{extra} more downstream pipelines', { return sprintf(__('%{extra} more downstream pipelines'), {
extra, extra,
}); });
}, },
......
...@@ -227,6 +227,9 @@ msgstr "" ...@@ -227,6 +227,9 @@ msgstr ""
msgid "%{edit_in_new_fork_notice} Try to upload a file again." msgid "%{edit_in_new_fork_notice} Try to upload a file again."
msgstr "" msgstr ""
msgid "%{extra} more downstream pipelines"
msgstr ""
msgid "%{filePath} deleted" msgid "%{filePath} deleted"
msgstr "" msgstr ""
...@@ -633,6 +636,9 @@ msgstr "" ...@@ -633,6 +636,9 @@ msgstr ""
msgid "API Token" msgid "API Token"
msgstr "" msgstr ""
msgid "Abort"
msgstr ""
msgid "About GitLab" msgid "About GitLab"
msgstr "" msgstr ""
...@@ -776,6 +782,9 @@ msgstr "" ...@@ -776,6 +782,9 @@ msgstr ""
msgid "Add CONTRIBUTING" msgid "Add CONTRIBUTING"
msgstr "" msgstr ""
msgid "Add GitLab to Slack"
msgstr ""
msgid "Add Group Webhooks and GitLab Enterprise Edition." msgid "Add Group Webhooks and GitLab Enterprise Edition."
msgstr "" msgstr ""
...@@ -884,6 +893,9 @@ msgstr "" ...@@ -884,6 +893,9 @@ msgstr ""
msgid "Add reaction" msgid "Add reaction"
msgstr "" msgstr ""
msgid "Add to Slack"
msgstr ""
msgid "Add to epic" msgid "Add to epic"
msgstr "" msgstr ""
...@@ -1300,6 +1312,9 @@ msgstr "" ...@@ -1300,6 +1312,9 @@ msgstr ""
msgid "An error occurred while fetching folder content." msgid "An error occurred while fetching folder content."
msgstr "" msgstr ""
msgid "An error occurred while fetching issues."
msgstr ""
msgid "An error occurred while fetching label colors." msgid "An error occurred while fetching label colors."
msgstr "" msgstr ""
...@@ -1393,6 +1408,9 @@ msgstr "" ...@@ -1393,6 +1408,9 @@ msgstr ""
msgid "An error occurred while rendering preview broadcast message" msgid "An error occurred while rendering preview broadcast message"
msgstr "" msgstr ""
msgid "An error occurred while reordering issues."
msgstr ""
msgid "An error occurred while retrieving calendar activity" msgid "An error occurred while retrieving calendar activity"
msgstr "" msgstr ""
...@@ -1513,6 +1531,9 @@ msgstr "" ...@@ -1513,6 +1531,9 @@ msgstr ""
msgid "Any namespace" msgid "Any namespace"
msgstr "" msgstr ""
msgid "Any user"
msgstr ""
msgid "Appearance" msgid "Appearance"
msgstr "" msgstr ""
...@@ -2210,6 +2231,9 @@ msgstr "" ...@@ -2210,6 +2231,9 @@ msgstr ""
msgid "Board scope" msgid "Board scope"
msgstr "" msgstr ""
msgid "Board scope affects which issues are displayed for anyone who visits this board"
msgstr ""
msgid "BoardBlankState|Add default lists" msgid "BoardBlankState|Add default lists"
msgstr "" msgstr ""
...@@ -3748,6 +3772,9 @@ msgstr "" ...@@ -3748,6 +3772,9 @@ msgstr ""
msgid "CompareBranches|There isn't anything to compare." msgid "CompareBranches|There isn't anything to compare."
msgstr "" msgstr ""
msgid "Complete"
msgstr ""
msgid "Confidential" msgid "Confidential"
msgstr "" msgstr ""
...@@ -4362,6 +4389,9 @@ msgstr "" ...@@ -4362,6 +4389,9 @@ msgstr ""
msgid "Data is still calculating..." msgid "Data is still calculating..."
msgstr "" msgstr ""
msgid "Date"
msgstr ""
msgid "Date picker" msgid "Date picker"
msgstr "" msgstr ""
...@@ -5256,6 +5286,9 @@ msgstr "" ...@@ -5256,6 +5286,9 @@ msgstr ""
msgid "Enter IP address range" msgid "Enter IP address range"
msgstr "" msgstr ""
msgid "Enter a number"
msgstr ""
msgid "Enter at least three characters to search" msgid "Enter at least three characters to search"
msgstr "" msgstr ""
...@@ -5607,6 +5640,9 @@ msgstr "" ...@@ -5607,6 +5640,9 @@ msgstr ""
msgid "Error occurred when toggling the notification subscription" msgid "Error occurred when toggling the notification subscription"
msgstr "" msgstr ""
msgid "Error occurred while updating the issue weight"
msgstr ""
msgid "Error occurred. User was not blocked" msgid "Error occurred. User was not blocked"
msgstr "" msgstr ""
...@@ -6443,6 +6479,9 @@ msgstr "" ...@@ -6443,6 +6479,9 @@ msgstr ""
msgid "Geo allows you to replicate your GitLab instance to other geographical locations." msgid "Geo allows you to replicate your GitLab instance to other geographical locations."
msgstr "" msgstr ""
msgid "GeoNodeStatusEvent|%{timeAgoStr} (%{pendingEvents} events)"
msgstr ""
msgid "GeoNodeSyncStatus|Node is failing or broken." msgid "GeoNodeSyncStatus|Node is failing or broken."
msgstr "" msgstr ""
...@@ -6884,6 +6923,9 @@ msgstr "" ...@@ -6884,6 +6923,9 @@ msgstr ""
msgid "GitLab allows you to continue using your license even if you exceed the number of seats you purchased. You will be required to pay for these seats when you renew your license." msgid "GitLab allows you to continue using your license even if you exceed the number of seats you purchased. You will be required to pay for these seats when you renew your license."
msgstr "" msgstr ""
msgid "GitLab for Slack"
msgstr ""
msgid "GitLab metadata URL" msgid "GitLab metadata URL"
msgstr "" msgstr ""
...@@ -7064,6 +7106,9 @@ msgstr "" ...@@ -7064,6 +7106,9 @@ msgstr ""
msgid "Group: %{name}" msgid "Group: %{name}"
msgstr "" msgstr ""
msgid "GroupRoadmap|%{startDateInWords} &ndash; %{endDateInWords}"
msgstr ""
msgid "GroupRoadmap|From %{dateWord}" msgid "GroupRoadmap|From %{dateWord}"
msgstr "" msgstr ""
...@@ -7393,6 +7438,9 @@ msgstr "" ...@@ -7393,6 +7438,9 @@ msgstr ""
msgid "Housekeeping, export, path, transfer, remove, archive." msgid "Housekeeping, export, path, transfer, remove, archive."
msgstr "" msgstr ""
msgid "How it works"
msgstr ""
msgid "How many replicas each Elasticsearch shard has." msgid "How many replicas each Elasticsearch shard has."
msgstr "" msgstr ""
...@@ -7684,6 +7732,9 @@ msgstr "" ...@@ -7684,6 +7732,9 @@ msgstr ""
msgid "Includes an MVC structure, mvnw and pom.xml to help you get started." msgid "Includes an MVC structure, mvnw and pom.xml to help you get started."
msgstr "" msgstr ""
msgid "Incoming email"
msgstr ""
msgid "Incompatible Project" msgid "Incompatible Project"
msgstr "" msgstr ""
...@@ -8148,6 +8199,9 @@ msgstr "" ...@@ -8148,6 +8199,9 @@ msgstr ""
msgid "Kubernetes configured" msgid "Kubernetes configured"
msgstr "" msgstr ""
msgid "Kubernetes deployment not found"
msgstr ""
msgid "Kubernetes error: %{error_code}" msgid "Kubernetes error: %{error_code}"
msgstr "" msgstr ""
...@@ -8473,6 +8527,9 @@ msgstr "" ...@@ -8473,6 +8527,9 @@ msgstr ""
msgid "LinkedIn" msgid "LinkedIn"
msgstr "" msgstr ""
msgid "LinkedPipelines|%{counterLabel} more downstream pipelines"
msgstr ""
msgid "List" msgid "List"
msgstr "" msgstr ""
...@@ -8824,6 +8881,9 @@ msgstr "" ...@@ -8824,6 +8881,9 @@ msgstr ""
msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others"
msgstr "" msgstr ""
msgid "Merge requests are read-only in a secondary Geo node"
msgstr ""
msgid "Merge when pipeline succeeds" msgid "Merge when pipeline succeeds"
msgstr "" msgstr ""
...@@ -9199,6 +9259,9 @@ msgstr "" ...@@ -9199,6 +9259,9 @@ msgstr ""
msgid "More Information" msgid "More Information"
msgstr "" msgstr ""
msgid "More Slack commands"
msgstr ""
msgid "More info" msgid "More info"
msgstr "" msgstr ""
...@@ -10643,6 +10706,9 @@ msgstr "" ...@@ -10643,6 +10706,9 @@ msgstr ""
msgid "Productivity Analytics" msgid "Productivity Analytics"
msgstr "" msgstr ""
msgid "Productivity Analytics app goes here"
msgstr ""
msgid "Profile" msgid "Profile"
msgstr "" msgstr ""
...@@ -11702,6 +11768,9 @@ msgstr "" ...@@ -11702,6 +11768,9 @@ msgstr ""
msgid "Read more about project permissions <strong>%{link_to_help}</strong>" msgid "Read more about project permissions <strong>%{link_to_help}</strong>"
msgstr "" msgstr ""
msgid "Read more about related issues"
msgstr ""
msgid "Real-time features" msgid "Real-time features"
msgstr "" msgstr ""
...@@ -11824,6 +11893,9 @@ msgstr "" ...@@ -11824,6 +11893,9 @@ msgstr ""
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
msgid "Remove %{displayReference}"
msgstr ""
msgid "Remove Runner" msgid "Remove Runner"
msgstr "" msgstr ""
...@@ -12301,6 +12373,9 @@ msgstr "" ...@@ -12301,6 +12373,9 @@ msgstr ""
msgid "Roadmap" msgid "Roadmap"
msgstr "" msgstr ""
msgid "Rollback"
msgstr ""
msgid "Run CI/CD pipelines for external repositories" msgid "Run CI/CD pipelines for external repositories"
msgstr "" msgstr ""
...@@ -12685,6 +12760,9 @@ msgstr "" ...@@ -12685,6 +12760,9 @@ msgstr ""
msgid "Select Archive Format" msgid "Select Archive Format"
msgstr "" msgstr ""
msgid "Select GitLab project to link with your Slack team"
msgstr ""
msgid "Select Page" msgid "Select Page"
msgstr "" msgstr ""
...@@ -12769,6 +12847,9 @@ msgstr "" ...@@ -12769,6 +12847,9 @@ msgstr ""
msgid "Select timeframe" msgid "Select timeframe"
msgstr "" msgstr ""
msgid "Select user"
msgstr ""
msgid "Selected levels cannot be used by non-admin users for groups, projects or snippets. If the public level is restricted, user profiles are only visible to logged in users." msgid "Selected levels cannot be used by non-admin users for groups, projects or snippets. If the public level is restricted, user profiles are only visible to logged in users."
msgstr "" msgstr ""
...@@ -14531,6 +14612,9 @@ msgstr "" ...@@ -14531,6 +14612,9 @@ msgstr ""
msgid "There was an error subscribing to this label." msgid "There was an error subscribing to this label."
msgstr "" msgstr ""
msgid "There was an error trying to validate your query"
msgstr ""
msgid "There was an error when reseting email token." msgid "There was an error when reseting email token."
msgstr "" msgstr ""
...@@ -15252,6 +15336,9 @@ msgstr "" ...@@ -15252,6 +15336,9 @@ msgstr ""
msgid "Track time with quick actions" msgid "Track time with quick actions"
msgstr "" msgstr ""
msgid "Track your GitLab projects with GitLab for Slack."
msgstr ""
msgid "Transfer project" msgid "Transfer project"
msgstr "" msgstr ""
...@@ -15390,6 +15477,9 @@ msgstr "" ...@@ -15390,6 +15477,9 @@ msgstr ""
msgid "Unable to apply suggestions to a deleted line." msgid "Unable to apply suggestions to a deleted line."
msgstr "" msgstr ""
msgid "Unable to build Slack link."
msgstr ""
msgid "Unable to connect to Prometheus server" msgid "Unable to connect to Prometheus server"
msgstr "" msgstr ""
...@@ -16745,6 +16835,9 @@ msgstr "" ...@@ -16745,6 +16835,9 @@ msgstr ""
msgid "You don't have any deployments right now." msgid "You don't have any deployments right now."
msgstr "" msgstr ""
msgid "You don't have any projects available."
msgstr ""
msgid "You don't have any recent searches" msgid "You don't have any recent searches"
msgstr "" msgstr ""
...@@ -17585,6 +17678,9 @@ msgstr "" ...@@ -17585,6 +17678,9 @@ msgstr ""
msgid "locked by %{path_lock_user_name} %{created_at}" msgid "locked by %{path_lock_user_name} %{created_at}"
msgstr "" msgstr ""
msgid "log in"
msgstr ""
msgid "manual" msgid "manual"
msgstr "" msgstr ""
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment