Commit 66094e5f authored by Ezekiel Kigbo's avatar Ezekiel Kigbo Committed by Phil Hughes

Vue-i18n: app/assets/javascripts/vue_shared directory

i18n linting for .vue files under the
app/assets/javascripts/vue_shared directory
parent 9a245152
<script> <script>
import { GlTooltipDirective } from '@gitlab/ui'; import { GlTooltipDirective } from '@gitlab/ui';
import Icon from '~/vue_shared/components/icon.vue'; import Icon from '~/vue_shared/components/icon.vue';
import { pluralize } from '~/lib/utils/text_utility';
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import { getCommitIconMap } from '~/ide/utils'; import { getCommitIconMap } from '~/ide/utils';
...@@ -69,7 +68,7 @@ export default { ...@@ -69,7 +68,7 @@ export default {
}); });
} else if (this.file.changed && this.file.staged) { } else if (this.file.changed && this.file.staged) {
return sprintf(__('Unstaged and staged %{type}'), { return sprintf(__('Unstaged and staged %{type}'), {
type: pluralize(type), type,
}); });
} }
......
<script> <script>
import _ from 'underscore'; import _ from 'underscore';
import { GlTooltipDirective, GlLink } from '@gitlab/ui'; import { GlTooltipDirective, GlLink } from '@gitlab/ui';
import { __, sprintf } from '~/locale';
import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue'; import TooltipOnTruncate from '~/vue_shared/components/tooltip_on_truncate.vue';
import UserAvatarLink from './user_avatar/user_avatar_link.vue'; import UserAvatarLink from './user_avatar/user_avatar_link.vue';
import Icon from '../../vue_shared/components/icon.vue'; import Icon from '../../vue_shared/components/icon.vue';
...@@ -129,7 +130,9 @@ export default { ...@@ -129,7 +130,9 @@ export default {
* @returns {String} * @returns {String}
*/ */
userImageAltDescription() { userImageAltDescription() {
return this.author && this.author.username ? `${this.author.username}'s avatar` : null; return this.author && this.author.username
? sprintf(__("%{username}'s avatar"), { username: this.author.username })
: null;
}, },
}, },
}; };
...@@ -180,7 +183,7 @@ export default { ...@@ -180,7 +183,7 @@ export default {
{{ title }} {{ title }}
</gl-link> </gl-link>
</tooltip-on-truncate> </tooltip-on-truncate>
<span v-else> Can't find HEAD commit for this branch </span> <span v-else>{{ __("Can't find HEAD commit for this branch") }}</span>
</div> </div>
</div> </div>
</template> </template>
...@@ -91,7 +91,9 @@ export default { ...@@ -91,7 +91,9 @@ export default {
| |
</template> </template>
<template v-if="hasDimensions"> <template v-if="hasDimensions">
<strong>W</strong>: {{ width }} | <strong>H</strong>: {{ height }} <strong>{{ s__('ImageViewerDimensions|W') }}</strong
>: {{ width }} | <strong>{{ s__('ImageViewerDimensions|H') }}</strong
>: {{ height }}
</template> </template>
</p> </p>
</div> </div>
......
...@@ -40,7 +40,7 @@ export default { ...@@ -40,7 +40,7 @@ export default {
this.fetchMarkdownPreview(); this.fetchMarkdownPreview();
}, },
destroyed() { destroyed() {
if (this.isLoading) axiosSource.cancel('Cancelling Preview'); if (this.isLoading) axiosSource.cancel(__('Cancelling Preview'));
}, },
methods: { methods: {
fetchMarkdownPreview() { fetchMarkdownPreview() {
......
<script> <script>
/* eslint-disable vue/require-default-prop */ /* eslint-disable vue/require-default-prop */
import { __ } from '~/locale';
export default { export default {
name: 'DeprecatedModal', // use GlModal instead name: 'DeprecatedModal', // use GlModal instead
...@@ -39,7 +41,7 @@ export default { ...@@ -39,7 +41,7 @@ export default {
closeButtonLabel: { closeButtonLabel: {
type: String, type: String,
required: false, required: false,
default: 'Cancel', default: __('Cancel'),
}, },
primaryButtonLabel: { primaryButtonLabel: {
type: String, type: String,
...@@ -94,7 +96,7 @@ export default { ...@@ -94,7 +96,7 @@ export default {
type="button" type="button"
class="close float-right" class="close float-right"
data-dismiss="modal" data-dismiss="modal"
aria-label="Close" :aria-label="__('Close')"
@click="emitCancel($event)" @click="emitCancel($event)"
> >
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
......
...@@ -69,7 +69,7 @@ export default { ...@@ -69,7 +69,7 @@ export default {
data-display="static" data-display="static"
data-toggle="dropdown" data-toggle="dropdown"
> >
<icon name="arrow-down" aria-label="toggle dropdown" /> <icon name="arrow-down" :aria-label="__('toggle dropdown')" />
</button> </button>
<ul :class="dropdownClass" class="dropdown-menu dropdown-open-top"> <ul :class="dropdownClass" class="dropdown-menu dropdown-open-top">
<template v-for="(action, index) in actions"> <template v-for="(action, index) in actions">
......
...@@ -115,7 +115,7 @@ export default { ...@@ -115,7 +115,7 @@ export default {
data-toggle="dropdown" data-toggle="dropdown"
aria-haspopup="true" aria-haspopup="true"
aria-expanded="false" aria-expanded="false"
aria-label="Expand dropdown" :aria-label="__('Expand dropdown')"
> >
<icon name="angle-down" :size="12" /> <icon name="angle-down" :size="12" />
</button> </button>
...@@ -125,7 +125,7 @@ export default { ...@@ -125,7 +125,7 @@ export default {
ref="searchInput" ref="searchInput"
v-model="filter" v-model="filter"
type="search" type="search"
placeholder="Filter" :placeholder="__('Filter')"
class="js-filtered-dropdown-input dropdown-input-field" class="js-filtered-dropdown-input dropdown-input-field"
/> />
<icon class="dropdown-input-search" name="search" /> <icon class="dropdown-input-search" name="search" />
......
<script> <script>
import { GlTooltipDirective, GlLink, GlButton } from '@gitlab/ui'; import { GlTooltipDirective, GlLink, GlButton } from '@gitlab/ui';
import { __, sprintf } from '~/locale';
import CiIconBadge from './ci_badge_link.vue'; import CiIconBadge from './ci_badge_link.vue';
import TimeagoTooltip from './time_ago_tooltip.vue'; import TimeagoTooltip from './time_ago_tooltip.vue';
import UserAvatarImage from './user_avatar/user_avatar_image.vue'; import UserAvatarImage from './user_avatar/user_avatar_image.vue';
...@@ -65,7 +66,7 @@ export default { ...@@ -65,7 +66,7 @@ export default {
computed: { computed: {
userAvatarAltText() { userAvatarAltText() {
return `${this.user.name}'s avatar`; return sprintf(__(`%{username}'s avatar`), { username: this.user.name });
}, },
}, },
...@@ -87,16 +88,12 @@ export default { ...@@ -87,16 +88,12 @@ export default {
<strong> {{ itemName }} #{{ itemId }} </strong> <strong> {{ itemName }} #{{ itemId }} </strong>
<template v-if="shouldRenderTriggeredLabel"> <template v-if="shouldRenderTriggeredLabel">{{ __('triggered') }}</template>
triggered <template v-else>{{ __('created') }}</template>
</template>
<template v-else>
created
</template>
<timeago-tooltip :time="time" /> <timeago-tooltip :time="time" />
by {{ __('by') }}
<template v-if="user"> <template v-if="user">
<gl-link <gl-link
......
<script> <script>
import { GlLink } from '@gitlab/ui'; import { GlLink } from '@gitlab/ui';
import _ from 'underscore'; import _ from 'underscore';
import { sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import icon from '../../../vue_shared/components/icon.vue'; import icon from '../../../vue_shared/components/icon.vue';
function buildDocsLinkStart(path) { function buildDocsLinkStart(path) {
...@@ -47,7 +47,9 @@ export default { ...@@ -47,7 +47,9 @@ export default {
}, },
confidentialAndLockedDiscussionText() { confidentialAndLockedDiscussionText() {
return sprintf( return sprintf(
__(
'This issue is %{confidentialLinkStart}confidential%{linkEnd} and %{lockedLinkStart}locked%{linkEnd}.', 'This issue is %{confidentialLinkStart}confidential%{linkEnd} and %{lockedLinkStart}locked%{linkEnd}.',
),
{ {
confidentialLinkStart: buildDocsLinkStart(this.confidentialIssueDocsPath), confidentialLinkStart: buildDocsLinkStart(this.confidentialIssueDocsPath),
lockedLinkStart: buildDocsLinkStart(this.lockedIssueDocsPath), lockedLinkStart: buildDocsLinkStart(this.lockedIssueDocsPath),
...@@ -66,7 +68,7 @@ export default { ...@@ -66,7 +68,7 @@ export default {
<span v-if="isLockedAndConfidential"> <span v-if="isLockedAndConfidential">
<span v-html="confidentialAndLockedDiscussionText"></span> <span v-html="confidentialAndLockedDiscussionText"></span>
{{ {{
__(`People without permission will never get a notification and won't be able to comment.`) __("People without permission will never get a notification and won't be able to comment.")
}} }}
</span> </span>
......
...@@ -160,8 +160,8 @@ export default { ...@@ -160,8 +160,8 @@ export default {
:disabled="removeDisabled" :disabled="removeDisabled"
type="button" type="button"
class="btn btn-default btn-svg btn-item-remove js-issue-item-remove-button qa-remove-issue-button mr-xl-0 align-self-xl-center" class="btn btn-default btn-svg btn-item-remove js-issue-item-remove-button qa-remove-issue-button mr-xl-0 align-self-xl-center"
title="Remove" :title="__('Remove')"
aria-label="Remove" :aria-label="__('Remove')"
@click="onRemoveRequest" @click="onRemoveRequest"
> >
<icon :size="16" class="btn-item-remove-icon" name="close" /> <icon :size="16" class="btn-item-remove-icon" name="close" />
......
<script> <script>
import $ from 'jquery'; import $ from 'jquery';
import _ from 'underscore'; import _ from 'underscore';
import { __ } from '~/locale'; import { __, sprintf } from '~/locale';
import { stripHtml } from '~/lib/utils/text_utility'; import { stripHtml } from '~/lib/utils/text_utility';
import Flash from '../../../flash'; import Flash from '../../../flash';
import GLForm from '../../../gl_form'; import GLForm from '../../../gl_form';
...@@ -118,6 +118,18 @@ export default { ...@@ -118,6 +118,18 @@ export default {
lineType() { lineType() {
return this.line ? this.line.type : ''; return this.line ? this.line.type : '';
}, },
addMultipleToDiscussionWarning() {
return sprintf(
__(
'%{icon}You are about to add %{usersTag} people to the discussion. Proceed with caution.',
),
{
icon: '<i class="fa fa-exclamation-triangle" aria-hidden="true"></i>',
usersTag: `<strong><span class="js-referenced-users-count">${this.referencedUsers.length}</span></strong>`,
},
false,
);
},
}, },
mounted() { mounted() {
/* /*
...@@ -172,7 +184,7 @@ export default { ...@@ -172,7 +184,7 @@ export default {
renderMarkdown(data = {}) { renderMarkdown(data = {}) {
this.markdownPreviewLoading = false; this.markdownPreviewLoading = false;
this.markdownPreview = data.body || 'Nothing to preview.'; this.markdownPreview = data.body || __('Nothing to preview.');
if (data.references) { if (data.references) {
this.referencedCommands = data.references.commands; this.referencedCommands = data.references.commands;
...@@ -207,7 +219,11 @@ export default { ...@@ -207,7 +219,11 @@ export default {
<div v-show="!previewMarkdown" class="md-write-holder"> <div v-show="!previewMarkdown" class="md-write-holder">
<div class="zen-backdrop"> <div class="zen-backdrop">
<slot name="textarea"></slot> <slot name="textarea"></slot>
<a class="zen-control zen-control-leave js-zen-leave" href="#" aria-label="Enter zen mode"> <a
class="zen-control zen-control-leave js-zen-leave"
href="#"
:aria-label="__('Enter zen mode')"
>
<icon :size="32" name="screen-normal" /> <icon :size="32" name="screen-normal" />
</a> </a>
<markdown-toolbar <markdown-toolbar
...@@ -246,13 +262,7 @@ export default { ...@@ -246,13 +262,7 @@ export default {
<template v-if="previewMarkdown && !markdownPreviewLoading"> <template v-if="previewMarkdown && !markdownPreviewLoading">
<div v-if="referencedCommands" class="referenced-commands" v-html="referencedCommands"></div> <div v-if="referencedCommands" class="referenced-commands" v-html="referencedCommands"></div>
<div v-if="shouldShowReferencedUsers" class="referenced-users"> <div v-if="shouldShowReferencedUsers" class="referenced-users">
<span> <span v-html="addMultipleToDiscussionWarning"></span>
<i class="fa fa-exclamation-triangle" aria-hidden="true"></i> You are about to add
<strong>
<span class="js-referenced-users-count">{{ referencedUsers.length }}</span>
</strong>
people to the discussion. Proceed with caution.
</span>
</div> </div>
</template> </template>
</div> </div>
......
<script> <script>
import Vue from 'vue'; import Vue from 'vue';
import { __ } from '~/locale';
import SuggestionDiff from './suggestion_diff.vue'; import SuggestionDiff from './suggestion_diff.vue';
import Flash from '~/flash'; import Flash from '~/flash';
...@@ -56,7 +57,7 @@ export default { ...@@ -56,7 +57,7 @@ export default {
const suggestionElements = container.querySelectorAll('.js-render-suggestion'); const suggestionElements = container.querySelectorAll('.js-render-suggestion');
if (this.lineType === 'old') { if (this.lineType === 'old') {
Flash('Unable to apply suggestions to a deleted line.', 'alert', this.$el); Flash(__('Unable to apply suggestions to a deleted line.'), 'alert', this.$el);
} }
suggestionElements.forEach((suggestionEl, i) => { suggestionElements.forEach((suggestionEl, i) => {
......
...@@ -33,13 +33,18 @@ export default { ...@@ -33,13 +33,18 @@ export default {
<div class="comment-toolbar clearfix"> <div class="comment-toolbar clearfix">
<div class="toolbar-text"> <div class="toolbar-text">
<template v-if="!hasQuickActionsDocsPath && markdownDocsPath"> <template v-if="!hasQuickActionsDocsPath && markdownDocsPath">
<gl-link :href="markdownDocsPath" target="_blank" tabindex="-1" <gl-link :href="markdownDocsPath" target="_blank" tabindex="-1">{{
>Markdown is supported</gl-link __('Markdown is supported')
> }}</gl-link>
</template> </template>
<template v-if="hasQuickActionsDocsPath && markdownDocsPath"> <template v-if="hasQuickActionsDocsPath && markdownDocsPath">
<gl-link :href="markdownDocsPath" target="_blank" tabindex="-1">Markdown</gl-link> and <gl-link :href="markdownDocsPath" target="_blank" tabindex="-1">{{
<gl-link :href="quickActionsDocsPath" target="_blank" tabindex="-1">quick actions</gl-link> __('Markdown')
}}</gl-link>
and
<gl-link :href="quickActionsDocsPath" target="_blank" tabindex="-1">{{
__('quick actions')
}}</gl-link>
are supported are supported
</template> </template>
</div> </div>
...@@ -57,15 +62,17 @@ export default { ...@@ -57,15 +62,17 @@ export default {
<i class="fa fa-file-image-o toolbar-button-icon" aria-hidden="true"></i> <i class="fa fa-file-image-o toolbar-button-icon" aria-hidden="true"></i>
</span> </span>
<span class="uploading-error-message"></span> <span class="uploading-error-message"></span>
<button class="retry-uploading-link" type="button">Try again</button> or <button class="retry-uploading-link" type="button">{{ __('Try again') }}</button> or
<button class="attach-new-file markdown-selector" type="button">attach a new file</button> <button class="attach-new-file markdown-selector" type="button">
{{ __('attach a new file') }}
</button>
</span> </span>
<button class="markdown-selector button-attach-file btn-link" tabindex="-1" type="button"> <button class="markdown-selector button-attach-file btn-link" tabindex="-1" type="button">
<i class="fa fa-file-image-o toolbar-button-icon" aria-hidden="true"></i <i class="fa fa-file-image-o toolbar-button-icon" aria-hidden="true"></i
><span class="text-attach-file">Attach a file</span> ><span class="text-attach-file">{{ __('Attach a file') }}</span>
</button> </button>
<button class="btn btn-default btn-sm hide button-cancel-uploading-files" type="button"> <button class="btn btn-default btn-sm hide button-cancel-uploading-files" type="button">
Cancel {{ __('Cancel') }}
</button> </button>
</span> </span>
</div> </div>
......
<script> <script>
import { __, sprintf } from '~/locale';
import { getTimeago } from '../../lib/utils/datetime_utility'; import { getTimeago } from '../../lib/utils/datetime_utility';
export default { export default {
...@@ -20,7 +21,7 @@ export default { ...@@ -20,7 +21,7 @@ export default {
computed: { computed: {
getFormattedMedian() { getFormattedMedian() {
const deployedSince = getTimeago().format(this.deploymentTime * 1000); const deployedSince = getTimeago().format(this.deploymentTime * 1000);
return `Deployed ${deployedSince}`; return sprintf(__('Deployed %{deployedSince}'), { deployedSince });
}, },
}, },
mounted() { mounted() {
......
...@@ -103,7 +103,7 @@ export default { ...@@ -103,7 +103,7 @@ export default {
<div v-if="hasMoreCommits" class="flex-list"> <div v-if="hasMoreCommits" class="flex-list">
<div class="system-note-commit-list-toggler flex-row" @click="expanded = !expanded"> <div class="system-note-commit-list-toggler flex-row" @click="expanded = !expanded">
<icon :name="toggleIcon" :size="8" class="append-right-5" /> <icon :name="toggleIcon" :size="8" class="append-right-5" />
<span>Toggle commit list</span> <span>{{ __('Toggle commit list') }}</span>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
/> />
*/ */
import { __ } from '~/locale';
import defaultAvatarUrl from 'images/no_avatar.png'; import defaultAvatarUrl from 'images/no_avatar.png';
import { placeholderImage } from '../../../lazy_loader'; import { placeholderImage } from '../../../lazy_loader';
...@@ -39,7 +39,7 @@ export default { ...@@ -39,7 +39,7 @@ export default {
imgAlt: { imgAlt: {
type: String, type: String,
required: false, required: false,
default: 'project avatar', default: __('project avatar'),
}, },
size: { size: {
type: Number, type: Number,
......
...@@ -85,7 +85,7 @@ export default { ...@@ -85,7 +85,7 @@ export default {
@click="toggleSidebar" @click="toggleSidebar"
> >
<span class="sidebar-collapsed-value"> <span class="sidebar-collapsed-value">
<span v-if="showFromText">From</span> <span>{{ dateText('min') }}</span> <span v-if="showFromText">{{ __('From') }}</span> <span>{{ dateText('min') }}</span>
</span> </span>
</collapsed-calendar-icon> </collapsed-calendar-icon>
<div v-if="hasMinAndMaxDates" class="text-center sidebar-collapsed-divider">-</div> <div v-if="hasMinAndMaxDates" class="text-center sidebar-collapsed-divider">-</div>
...@@ -96,7 +96,7 @@ export default { ...@@ -96,7 +96,7 @@ export default {
@click="toggleSidebar" @click="toggleSidebar"
> >
<span class="sidebar-collapsed-value"> <span class="sidebar-collapsed-value">
<span v-if="!minDate">Until</span> <span>{{ dateText('max') }}</span> <span v-if="!minDate">{{ __('Until') }}</span> <span>{{ dateText('max') }}</span>
</span> </span>
</collapsed-calendar-icon> </collapsed-calendar-icon>
</div> </div>
......
...@@ -74,7 +74,7 @@ export default { ...@@ -74,7 +74,7 @@ export default {
return dateInWords(this.selectedDate, true); return dateInWords(this.selectedDate, true);
}, },
collapsedText() { collapsedText() {
return this.selectedDateWords ? this.selectedDateWords : 'None'; return this.selectedDateWords ? this.selectedDateWords : __('None');
}, },
}, },
methods: { methods: {
...@@ -112,7 +112,7 @@ export default { ...@@ -112,7 +112,7 @@ export default {
class="btn-blank btn-link btn-primary-hover-link btn-sidebar-action" class="btn-blank btn-link btn-primary-hover-link btn-sidebar-action"
@click="toggleDatePicker" @click="toggleDatePicker"
> >
Edit {{ __('Edit') }}
</button> </button>
<toggle-sidebar v-if="showToggleSidebar" :collapsed="collapsed" @toggle="toggleSidebar" /> <toggle-sidebar v-if="showToggleSidebar" :collapsed="collapsed" @toggle="toggleSidebar" />
</div> </div>
...@@ -137,11 +137,11 @@ export default { ...@@ -137,11 +137,11 @@ export default {
class="btn-blank btn-link btn-secondary-hover-link" class="btn-blank btn-link btn-secondary-hover-link"
@click="newDateSelected(null)" @click="newDateSelected(null)"
> >
remove {{ __('remove') }}
</button> </button>
</span> </span>
</template> </template>
<span v-else class="no-value"> None </span> <span v-else class="no-value">{{ __('None') }}</span>
</span> </span>
</div> </div>
</div> </div>
......
...@@ -48,7 +48,7 @@ export default { ...@@ -48,7 +48,7 @@ export default {
'fa-angle-double-right': !collapsed, 'fa-angle-double-right': !collapsed,
'fa-angle-double-left': collapsed, 'fa-angle-double-left': collapsed,
}" }"
aria-label="toggle collapse" :aria-label="__('toggle collapse')"
class="fa" class="fa"
> >
</i> </i>
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
import { GlTooltip } from '@gitlab/ui'; import { GlTooltip } from '@gitlab/ui';
import defaultAvatarUrl from 'images/no_avatar.png'; import defaultAvatarUrl from 'images/no_avatar.png';
import { __ } from '~/locale';
import { placeholderImage } from '../../../lazy_loader'; import { placeholderImage } from '../../../lazy_loader';
export default { export default {
...@@ -43,7 +44,7 @@ export default { ...@@ -43,7 +44,7 @@ export default {
imgAlt: { imgAlt: {
type: String, type: String,
required: false, required: false,
default: 'user avatar', default: __('user avatar'),
}, },
size: { size: {
type: Number, type: Number,
......
...@@ -156,6 +156,9 @@ msgstr "" ...@@ -156,6 +156,9 @@ msgstr ""
msgid "%{group_docs_link_start}Groups%{group_docs_link_end} allow you to manage and collaborate across multiple projects. Members of a group have access to all of its projects." msgid "%{group_docs_link_start}Groups%{group_docs_link_end} allow you to manage and collaborate across multiple projects. Members of a group have access to all of its projects."
msgstr "" msgstr ""
msgid "%{icon}You are about to add %{usersTag} people to the discussion. Proceed with caution."
msgstr ""
msgid "%{issuableType} will be removed! Are you sure?" msgid "%{issuableType} will be removed! Are you sure?"
msgstr "" msgstr ""
...@@ -1905,6 +1908,9 @@ msgstr "" ...@@ -1905,6 +1908,9 @@ msgstr ""
msgid "Cancel this job" msgid "Cancel this job"
msgstr "" msgstr ""
msgid "Cancelling Preview"
msgstr ""
msgid "Cannot be merged automatically" msgid "Cannot be merged automatically"
msgstr "" msgstr ""
...@@ -3646,6 +3652,9 @@ msgstr "" ...@@ -3646,6 +3652,9 @@ msgstr ""
msgid "Deployed" msgid "Deployed"
msgstr "" msgstr ""
msgid "Deployed %{deployedSince}"
msgstr ""
msgid "Deployed to" msgid "Deployed to"
msgstr "" msgstr ""
...@@ -4054,6 +4063,9 @@ msgstr "" ...@@ -4054,6 +4063,9 @@ msgstr ""
msgid "Enter the merge request title" msgid "Enter the merge request title"
msgstr "" msgstr ""
msgid "Enter zen mode"
msgstr ""
msgid "Environment variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. Additionally, they can be masked so they are hidden in job logs, though they must match certain regexp requirements to do so. You can use environment variables for passwords, secret keys, or whatever you want." msgid "Environment variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. Additionally, they can be masked so they are hidden in job logs, though they must match certain regexp requirements to do so. You can use environment variables for passwords, secret keys, or whatever you want."
msgstr "" msgstr ""
...@@ -4423,6 +4435,9 @@ msgstr "" ...@@ -4423,6 +4435,9 @@ msgstr ""
msgid "Expand all" msgid "Expand all"
msgstr "" msgstr ""
msgid "Expand dropdown"
msgstr ""
msgid "Expand sidebar" msgid "Expand sidebar"
msgstr "" msgstr ""
...@@ -4803,6 +4818,9 @@ msgstr "" ...@@ -4803,6 +4818,9 @@ msgstr ""
msgid "Friday" msgid "Friday"
msgstr "" msgstr ""
msgid "From"
msgstr ""
msgid "From %{providerTitle}" msgid "From %{providerTitle}"
msgstr "" msgstr ""
...@@ -5375,6 +5393,12 @@ msgstr "" ...@@ -5375,6 +5393,12 @@ msgstr ""
msgid "ImageDiffViewer|Swipe" msgid "ImageDiffViewer|Swipe"
msgstr "" msgstr ""
msgid "ImageViewerDimensions|H"
msgstr ""
msgid "ImageViewerDimensions|W"
msgstr ""
msgid "Impersonation has been disabled" msgid "Impersonation has been disabled"
msgstr "" msgstr ""
...@@ -6282,6 +6306,9 @@ msgstr "" ...@@ -6282,6 +6306,9 @@ msgstr ""
msgid "Markdown enabled" msgid "Markdown enabled"
msgstr "" msgstr ""
msgid "Markdown is supported"
msgstr ""
msgid "Marks this issue as a duplicate of %{duplicate_reference}." msgid "Marks this issue as a duplicate of %{duplicate_reference}."
msgstr "" msgstr ""
...@@ -10785,6 +10812,9 @@ msgstr "" ...@@ -10785,6 +10812,9 @@ msgstr ""
msgid "This is your current session" msgid "This is your current session"
msgstr "" msgstr ""
msgid "This issue is %{confidentialLinkStart}confidential%{linkEnd} and %{lockedLinkStart}locked%{linkEnd}."
msgstr ""
msgid "This issue is confidential" msgid "This issue is confidential"
msgstr "" msgstr ""
...@@ -11404,6 +11434,9 @@ msgstr "" ...@@ -11404,6 +11434,9 @@ msgstr ""
msgid "U2F only works with HTTPS-enabled websites. Contact your administrator for more details." msgid "U2F only works with HTTPS-enabled websites. Contact your administrator for more details."
msgstr "" msgstr ""
msgid "Unable to apply suggestions to a deleted line."
msgstr ""
msgid "Unable to connect to Prometheus server" msgid "Unable to connect to Prometheus server"
msgstr "" msgstr ""
...@@ -11512,6 +11545,9 @@ msgstr "" ...@@ -11512,6 +11545,9 @@ msgstr ""
msgid "Unsubscribe from %{type}" msgid "Unsubscribe from %{type}"
msgstr "" msgstr ""
msgid "Until"
msgstr ""
msgid "Unverified" msgid "Unverified"
msgstr "" msgstr ""
...@@ -12588,6 +12624,9 @@ msgstr "" ...@@ -12588,6 +12624,9 @@ msgstr ""
msgid "branch name" msgid "branch name"
msgstr "" msgstr ""
msgid "by"
msgstr ""
msgid "cannot be changed if a personal project has container registry tags." msgid "cannot be changed if a personal project has container registry tags."
msgstr "" msgstr ""
...@@ -12618,6 +12657,9 @@ msgstr "" ...@@ -12618,6 +12657,9 @@ msgstr ""
msgid "could not read private key, is the passphrase correct?" msgid "could not read private key, is the passphrase correct?"
msgstr "" msgstr ""
msgid "created"
msgstr ""
msgid "customize" msgid "customize"
msgstr "" msgstr ""
...@@ -13058,6 +13100,9 @@ msgstr "" ...@@ -13058,6 +13100,9 @@ msgstr ""
msgid "project" msgid "project"
msgstr "" msgstr ""
msgid "project avatar"
msgstr ""
msgid "quick actions" msgid "quick actions"
msgstr "" msgstr ""
...@@ -13070,6 +13115,9 @@ msgstr "" ...@@ -13070,6 +13115,9 @@ msgstr ""
msgid "remaining" msgid "remaining"
msgstr "" msgstr ""
msgid "remove"
msgstr ""
msgid "remove due date" msgid "remove due date"
msgstr "" msgstr ""
...@@ -13140,12 +13188,21 @@ msgstr[1] "" ...@@ -13140,12 +13188,21 @@ msgstr[1] ""
msgid "to list" msgid "to list"
msgstr "" msgstr ""
msgid "toggle collapse"
msgstr ""
msgid "toggle dropdown"
msgstr ""
msgid "triggered" msgid "triggered"
msgstr "" msgstr ""
msgid "updated" msgid "updated"
msgstr "" msgstr ""
msgid "user avatar"
msgstr ""
msgid "username" msgid "username"
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