From 8bbaf266cc8d1ff03c4f7a4173ce9a7ac60c0cbb Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Thu, 8 Mar 2018 17:33:06 +0000 Subject: Handle empty states for job page --- app/views/projects/jobs/_empty_state.html.haml | 5 ++-- app/views/projects/jobs/_empty_status.html.haml | 29 ++++++++++++++++++++++ app/views/projects/jobs/show.html.haml | 23 +++-------------- .../unreleased/42568-pipeline-empty-state.yml | 5 ++++ db/fixtures/development/14_pipelines.rb | 4 +++ spec/features/projects/jobs_spec.rb | 27 ++++++++++++++++++++ 6 files changed, 72 insertions(+), 21 deletions(-) create mode 100644 app/views/projects/jobs/_empty_status.html.haml create mode 100644 changelogs/unreleased/42568-pipeline-empty-state.yml diff --git a/app/views/projects/jobs/_empty_state.html.haml b/app/views/projects/jobs/_empty_state.html.haml index c66313bdbf3..311934d9c33 100644 --- a/app/views/projects/jobs/_empty_state.html.haml +++ b/app/views/projects/jobs/_empty_state.html.haml @@ -1,7 +1,7 @@ - illustration = local_assigns.fetch(:illustration) - illustration_size = local_assigns.fetch(:illustration_size) - title = local_assigns.fetch(:title) -- content = local_assigns.fetch(:content) +- content = local_assigns.fetch(:content, nil) - action = local_assigns.fetch(:action, nil) .row.empty-state @@ -11,7 +11,8 @@ .col-xs-12 .text-content %h4.text-center= title - %p= content + - if content + %p= content - if action .text-center = action diff --git a/app/views/projects/jobs/_empty_status.html.haml b/app/views/projects/jobs/_empty_status.html.haml new file mode 100644 index 00000000000..707085cddd5 --- /dev/null +++ b/app/views/projects/jobs/_empty_status.html.haml @@ -0,0 +1,29 @@ +- if @build.playable? + = render 'empty_state', + illustration: 'illustrations/manual_action.svg', + illustration_size: 'svg-394', + title: _('This job requires a manual action'), + content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), + action: ( link_to _('Trigger this manual action'), play_project_job_path(@project, @build), method: :post, class: 'btn btn-primary', title: _('Trigger this manual action') ) +- elsif @build.created? + = render 'empty_state', + illustration: 'illustrations/job_not_triggered.svg', + illustration_size: 'svg-306', + title: _('This job has not been triggered yet'), + content: _('This job depends on upstream jobs that need to succeed in order for this job to be triggered') +- elsif @build.canceled? + = render 'empty_state', + illustration: 'illustrations/canceled-job_empty.svg', + illustration_size: 'svg-430', + title: _('This job has been canceled') +- elsif @build.skipped? + = render 'empty_state', + illustration: 'illustrations/canceled-job_empty.svg', + illustration_size: 'svg-430', + title: _('This job has been skipped') +- else + = render 'empty_state', + illustration: 'illustrations/pending_job_empty.svg', + illustration_size: 'svg-430', + title: _('This job has not started yet'), + content: _('This job is in pending state and is waiting to be picked by a runner') diff --git a/app/views/projects/jobs/show.html.haml b/app/views/projects/jobs/show.html.haml index 849c273db8c..04c28841511 100644 --- a/app/views/projects/jobs/show.html.haml +++ b/app/views/projects/jobs/show.html.haml @@ -54,7 +54,8 @@ Job has been erased by #{link_to(@build.erased_by_name, user_path(@build.erased_by))} #{time_ago_with_tooltip(@build.erased_at)} - else Job has been erased #{time_ago_with_tooltip(@build.erased_at)} - - if @build.started? + + - if @build.has_trace? .build-trace-container.prepend-top-default .top-bar.js-top-bar .js-truncated-info.truncated-info.hidden-xs.pull-left.hidden< @@ -88,25 +89,9 @@ %pre.build-trace#build-trace %code.bash.js-build-output .build-loader-animation.js-build-refresh - - elsif @build.playable? - = render 'empty_state', - illustration: 'illustrations/manual_action.svg', - illustration_size: 'svg-394', - title: _('This job requires a manual action'), - content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), - action: ( link_to _('Trigger this manual action'), play_project_job_path(@project, @build), method: :post, class: 'btn btn-primary', title: _('Trigger this manual action') ) - - elsif @build.created? - = render 'empty_state', - illustration: 'illustrations/job_not_triggered.svg', - illustration_size: 'svg-306', - title: _('This job has not been triggered yet'), - content: _('This job depends on upstream jobs that need to succeed in order for this job to be triggered') - else - = render 'empty_state', - illustration: 'illustrations/pending_job_empty.svg', - illustration_size: 'svg-430', - title: _('This job has not started yet'), - content: _('This job is in pending state and is waiting to be picked by a runner') + = render "empty_status" + = render "sidebar" .js-build-options{ data: javascript_build_options } diff --git a/changelogs/unreleased/42568-pipeline-empty-state.yml b/changelogs/unreleased/42568-pipeline-empty-state.yml new file mode 100644 index 00000000000..d36edcf1b37 --- /dev/null +++ b/changelogs/unreleased/42568-pipeline-empty-state.yml @@ -0,0 +1,5 @@ +--- +title: Improve empty state for canceled job +merge_request: 17646 +author: +type: fixed diff --git a/db/fixtures/development/14_pipelines.rb b/db/fixtures/development/14_pipelines.rb index d3a63aa2a78..fe21b7aad0e 100644 --- a/db/fixtures/development/14_pipelines.rb +++ b/db/fixtures/development/14_pipelines.rb @@ -30,6 +30,10 @@ class Gitlab::Seeder::Pipelines queued_at: 8.hour.ago, started_at: 8.hour.ago, finished_at: 7.hour.ago }, { name: 'spinach:osx', stage: 'test', status: :failed, allow_failure: true, queued_at: 8.hour.ago, started_at: 8.hour.ago, finished_at: 7.hour.ago }, + { name: 'spinach:osx1', stage: 'test', status: :canceled, + queued_at: 8.hour.ago, started_at: 8.hour.ago, finished_at: 7.hour.ago }, + { name: 'spinach:osx1', stage: 'test', status: :running, + queued_at: 8.hour.ago, started_at: 8.hour.ago, finished_at: 7.hour.ago }, # deploy stage { name: 'staging', stage: 'deploy', environment: 'staging', status_event: :success, diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index 5d311f2dde3..aa4c2757a25 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -419,6 +419,33 @@ feature 'Jobs' do expect(page).to have_content('This job is in pending state and is waiting to be picked by a runner') end end + + context 'Canceled job' do + context 'with log' do + let(:job) { create(:ci_build, :canceled, :trace_artifact, pipeline: pipeline) } + + before do + visit project_job_path(project, job) + end + + it 'renders job log' do + expect(page).to have_selector('.js-build-output') + end + end + + context 'without log' do + let(:job) { create(:ci_build, :canceled, pipeline: pipeline) } + + before do + visit project_job_path(project, job) + end + + it 'renders empty state' do + expect(page).not_to have_selector('.js-build-output') + expect(page).to have_content('This job has been canceled') + end + end + end end describe "POST /:project/jobs/:id/cancel", :js do -- cgit v1.2.1 From cd6a58c8100356be95019be6a69724066469bd42 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Fri, 9 Mar 2018 17:59:59 +0000 Subject: Fix broken test --- features/steps/shared/builds.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/steps/shared/builds.rb b/features/steps/shared/builds.rb index a3e4459f169..f5950145348 100644 --- a/features/steps/shared/builds.rb +++ b/features/steps/shared/builds.rb @@ -11,7 +11,7 @@ module SharedBuilds step 'project has a recent build' do @pipeline = create(:ci_empty_pipeline, project: @project, sha: @project.commit.sha, ref: 'master') - @build = create(:ci_build, :running, :coverage, pipeline: @pipeline) + @build = create(:ci_build, :running, :coverage, :trace_artifact, pipeline: @pipeline) end step 'recent build is successful' do -- cgit v1.2.1 From c7776a1d32621740f1eea17ec0385889280df65e Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Mon, 12 Mar 2018 19:13:13 +0000 Subject: Render skipped illustration for skipped state --- app/views/projects/jobs/_empty_status.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/projects/jobs/_empty_status.html.haml b/app/views/projects/jobs/_empty_status.html.haml index 707085cddd5..9e144dbfe32 100644 --- a/app/views/projects/jobs/_empty_status.html.haml +++ b/app/views/projects/jobs/_empty_status.html.haml @@ -18,7 +18,7 @@ title: _('This job has been canceled') - elsif @build.skipped? = render 'empty_state', - illustration: 'illustrations/canceled-job_empty.svg', + illustration: 'illustrations/skipped-job_empty.svg', illustration_size: 'svg-430', title: _('This job has been skipped') - else -- cgit v1.2.1 From 18bce8fcfeaaeeda5aea37f21adedcdc49dd4147 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Mon, 19 Mar 2018 10:07:30 +0000 Subject: Update partial name and remove changes to database fixtures --- app/views/projects/jobs/_empty_states.html.haml | 29 +++++++++++++++++++++++++ app/views/projects/jobs/_empty_status.html.haml | 29 ------------------------- app/views/projects/jobs/show.html.haml | 2 +- db/fixtures/development/14_pipelines.rb | 4 ---- 4 files changed, 30 insertions(+), 34 deletions(-) create mode 100644 app/views/projects/jobs/_empty_states.html.haml delete mode 100644 app/views/projects/jobs/_empty_status.html.haml diff --git a/app/views/projects/jobs/_empty_states.html.haml b/app/views/projects/jobs/_empty_states.html.haml new file mode 100644 index 00000000000..9e144dbfe32 --- /dev/null +++ b/app/views/projects/jobs/_empty_states.html.haml @@ -0,0 +1,29 @@ +- if @build.playable? + = render 'empty_state', + illustration: 'illustrations/manual_action.svg', + illustration_size: 'svg-394', + title: _('This job requires a manual action'), + content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), + action: ( link_to _('Trigger this manual action'), play_project_job_path(@project, @build), method: :post, class: 'btn btn-primary', title: _('Trigger this manual action') ) +- elsif @build.created? + = render 'empty_state', + illustration: 'illustrations/job_not_triggered.svg', + illustration_size: 'svg-306', + title: _('This job has not been triggered yet'), + content: _('This job depends on upstream jobs that need to succeed in order for this job to be triggered') +- elsif @build.canceled? + = render 'empty_state', + illustration: 'illustrations/canceled-job_empty.svg', + illustration_size: 'svg-430', + title: _('This job has been canceled') +- elsif @build.skipped? + = render 'empty_state', + illustration: 'illustrations/skipped-job_empty.svg', + illustration_size: 'svg-430', + title: _('This job has been skipped') +- else + = render 'empty_state', + illustration: 'illustrations/pending_job_empty.svg', + illustration_size: 'svg-430', + title: _('This job has not started yet'), + content: _('This job is in pending state and is waiting to be picked by a runner') diff --git a/app/views/projects/jobs/_empty_status.html.haml b/app/views/projects/jobs/_empty_status.html.haml deleted file mode 100644 index 9e144dbfe32..00000000000 --- a/app/views/projects/jobs/_empty_status.html.haml +++ /dev/null @@ -1,29 +0,0 @@ -- if @build.playable? - = render 'empty_state', - illustration: 'illustrations/manual_action.svg', - illustration_size: 'svg-394', - title: _('This job requires a manual action'), - content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), - action: ( link_to _('Trigger this manual action'), play_project_job_path(@project, @build), method: :post, class: 'btn btn-primary', title: _('Trigger this manual action') ) -- elsif @build.created? - = render 'empty_state', - illustration: 'illustrations/job_not_triggered.svg', - illustration_size: 'svg-306', - title: _('This job has not been triggered yet'), - content: _('This job depends on upstream jobs that need to succeed in order for this job to be triggered') -- elsif @build.canceled? - = render 'empty_state', - illustration: 'illustrations/canceled-job_empty.svg', - illustration_size: 'svg-430', - title: _('This job has been canceled') -- elsif @build.skipped? - = render 'empty_state', - illustration: 'illustrations/skipped-job_empty.svg', - illustration_size: 'svg-430', - title: _('This job has been skipped') -- else - = render 'empty_state', - illustration: 'illustrations/pending_job_empty.svg', - illustration_size: 'svg-430', - title: _('This job has not started yet'), - content: _('This job is in pending state and is waiting to be picked by a runner') diff --git a/app/views/projects/jobs/show.html.haml b/app/views/projects/jobs/show.html.haml index 04c28841511..1db01133900 100644 --- a/app/views/projects/jobs/show.html.haml +++ b/app/views/projects/jobs/show.html.haml @@ -90,7 +90,7 @@ %code.bash.js-build-output .build-loader-animation.js-build-refresh - else - = render "empty_status" + = render "empty_states" = render "sidebar" diff --git a/db/fixtures/development/14_pipelines.rb b/db/fixtures/development/14_pipelines.rb index fe21b7aad0e..d3a63aa2a78 100644 --- a/db/fixtures/development/14_pipelines.rb +++ b/db/fixtures/development/14_pipelines.rb @@ -30,10 +30,6 @@ class Gitlab::Seeder::Pipelines queued_at: 8.hour.ago, started_at: 8.hour.ago, finished_at: 7.hour.ago }, { name: 'spinach:osx', stage: 'test', status: :failed, allow_failure: true, queued_at: 8.hour.ago, started_at: 8.hour.ago, finished_at: 7.hour.ago }, - { name: 'spinach:osx1', stage: 'test', status: :canceled, - queued_at: 8.hour.ago, started_at: 8.hour.ago, finished_at: 7.hour.ago }, - { name: 'spinach:osx1', stage: 'test', status: :running, - queued_at: 8.hour.ago, started_at: 8.hour.ago, finished_at: 7.hour.ago }, # deploy stage { name: 'staging', stage: 'deploy', environment: 'staging', status_event: :success, -- cgit v1.2.1 From d696194f8f80dd6fe4feb9ec7bb42a29ab9e98f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Sat, 24 Mar 2018 11:46:04 +0100 Subject: Add illustrations to build statuses --- lib/gitlab/ci/status/canceled.rb | 4 ++++ lib/gitlab/ci/status/core.rb | 4 ++++ lib/gitlab/ci/status/created.rb | 4 ++++ lib/gitlab/ci/status/manual.rb | 4 ++++ lib/gitlab/ci/status/pending.rb | 4 ++++ lib/gitlab/ci/status/skipped.rb | 4 ++++ spec/lib/gitlab/ci/status/build/factory_spec.rb | 4 ++++ spec/lib/gitlab/ci/status/canceled_spec.rb | 4 ++++ spec/lib/gitlab/ci/status/created_spec.rb | 4 ++++ spec/lib/gitlab/ci/status/manual_spec.rb | 4 ++++ spec/lib/gitlab/ci/status/pending_spec.rb | 4 ++++ spec/lib/gitlab/ci/status/skipped_spec.rb | 4 ++++ 12 files changed, 48 insertions(+) diff --git a/lib/gitlab/ci/status/canceled.rb b/lib/gitlab/ci/status/canceled.rb index e6195a60d4f..9a25375678d 100644 --- a/lib/gitlab/ci/status/canceled.rb +++ b/lib/gitlab/ci/status/canceled.rb @@ -17,6 +17,10 @@ module Gitlab def favicon 'favicon_status_canceled' end + + def illustration + 'canceled-job_empty' + end end end end diff --git a/lib/gitlab/ci/status/core.rb b/lib/gitlab/ci/status/core.rb index d4fd83b93f8..89fb9a0b7bc 100644 --- a/lib/gitlab/ci/status/core.rb +++ b/lib/gitlab/ci/status/core.rb @@ -22,6 +22,10 @@ module Gitlab raise NotImplementedError end + def illustration + raise NotImplementedError + end + def label raise NotImplementedError end diff --git a/lib/gitlab/ci/status/created.rb b/lib/gitlab/ci/status/created.rb index 846f00b83dd..033ecbe9380 100644 --- a/lib/gitlab/ci/status/created.rb +++ b/lib/gitlab/ci/status/created.rb @@ -17,6 +17,10 @@ module Gitlab def favicon 'favicon_status_created' end + + def illustration + 'job_not_triggered' + end end end end diff --git a/lib/gitlab/ci/status/manual.rb b/lib/gitlab/ci/status/manual.rb index fc387e2fd25..92c449e2c63 100644 --- a/lib/gitlab/ci/status/manual.rb +++ b/lib/gitlab/ci/status/manual.rb @@ -17,6 +17,10 @@ module Gitlab def favicon 'favicon_status_manual' end + + def illustration + 'manual_action' + end end end end diff --git a/lib/gitlab/ci/status/pending.rb b/lib/gitlab/ci/status/pending.rb index 6780780db32..63c0b5b501f 100644 --- a/lib/gitlab/ci/status/pending.rb +++ b/lib/gitlab/ci/status/pending.rb @@ -17,6 +17,10 @@ module Gitlab def favicon 'favicon_status_pending' end + + def illustration + 'pending_job_empty' + end end end end diff --git a/lib/gitlab/ci/status/skipped.rb b/lib/gitlab/ci/status/skipped.rb index 0dbdc4de426..5dbe2847344 100644 --- a/lib/gitlab/ci/status/skipped.rb +++ b/lib/gitlab/ci/status/skipped.rb @@ -17,6 +17,10 @@ module Gitlab def favicon 'favicon_status_skipped' end + + def illustration + 'skipped-job_empty' + end end end end diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index d196bc6a4c2..04b718c5897 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -115,6 +115,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.text).to eq 'canceled' expect(status.icon).to eq 'status_canceled' expect(status.favicon).to eq 'favicon_status_canceled' + expect(status.illustration).to eq 'canceled-job_empty' expect(status.label).to eq 'canceled' expect(status).to have_details expect(status).to have_action @@ -167,6 +168,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.text).to eq 'pending' expect(status.icon).to eq 'status_pending' expect(status.favicon).to eq 'favicon_status_pending' + expect(status.illustration).to eq 'pending_job_empty' expect(status.label).to eq 'pending' expect(status).to have_details expect(status).to have_action @@ -192,6 +194,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.text).to eq 'skipped' expect(status.icon).to eq 'status_skipped' expect(status.favicon).to eq 'favicon_status_skipped' + expect(status.illustration).to eq 'skipped-job_empty' expect(status.label).to eq 'skipped' expect(status).to have_details expect(status).not_to have_action @@ -221,6 +224,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.group).to eq 'manual' expect(status.icon).to eq 'status_manual' expect(status.favicon).to eq 'favicon_status_manual' + expect(status.illustration).to eq 'manual_action' expect(status.label).to include 'manual play action' expect(status).to have_details expect(status.action_path).to include 'play' diff --git a/spec/lib/gitlab/ci/status/canceled_spec.rb b/spec/lib/gitlab/ci/status/canceled_spec.rb index dc74d7e28c5..fc1d9e726ab 100644 --- a/spec/lib/gitlab/ci/status/canceled_spec.rb +++ b/spec/lib/gitlab/ci/status/canceled_spec.rb @@ -21,6 +21,10 @@ describe Gitlab::Ci::Status::Canceled do it { expect(subject.favicon).to eq 'favicon_status_canceled' } end + describe '#illustration' do + it { expect(subject.illustration).to eq 'canceled-job_empty' } + end + describe '#group' do it { expect(subject.group).to eq 'canceled' } end diff --git a/spec/lib/gitlab/ci/status/created_spec.rb b/spec/lib/gitlab/ci/status/created_spec.rb index ce4333f2aca..f7e3b0d8f1a 100644 --- a/spec/lib/gitlab/ci/status/created_spec.rb +++ b/spec/lib/gitlab/ci/status/created_spec.rb @@ -21,6 +21,10 @@ describe Gitlab::Ci::Status::Created do it { expect(subject.favicon).to eq 'favicon_status_created' } end + describe '#illustration' do + it { expect(subject.illustration).to eq 'job_not_triggered' } + end + describe '#group' do it { expect(subject.group).to eq 'created' } end diff --git a/spec/lib/gitlab/ci/status/manual_spec.rb b/spec/lib/gitlab/ci/status/manual_spec.rb index 0463f2e1aff..161c4774ff3 100644 --- a/spec/lib/gitlab/ci/status/manual_spec.rb +++ b/spec/lib/gitlab/ci/status/manual_spec.rb @@ -21,6 +21,10 @@ describe Gitlab::Ci::Status::Manual do it { expect(subject.favicon).to eq 'favicon_status_manual' } end + describe '#illustration' do + it { expect(subject.illustration).to eq 'manual_action' } + end + describe '#group' do it { expect(subject.group).to eq 'manual' } end diff --git a/spec/lib/gitlab/ci/status/pending_spec.rb b/spec/lib/gitlab/ci/status/pending_spec.rb index 0e25358dd8a..92349308842 100644 --- a/spec/lib/gitlab/ci/status/pending_spec.rb +++ b/spec/lib/gitlab/ci/status/pending_spec.rb @@ -21,6 +21,10 @@ describe Gitlab::Ci::Status::Pending do it { expect(subject.favicon).to eq 'favicon_status_pending' } end + describe '#illustration' do + it { expect(subject.illustration).to eq 'pending_job_empty' } + end + describe '#group' do it { expect(subject.group).to eq 'pending' } end diff --git a/spec/lib/gitlab/ci/status/skipped_spec.rb b/spec/lib/gitlab/ci/status/skipped_spec.rb index 63694ca0ea6..993490c6d4e 100644 --- a/spec/lib/gitlab/ci/status/skipped_spec.rb +++ b/spec/lib/gitlab/ci/status/skipped_spec.rb @@ -21,6 +21,10 @@ describe Gitlab::Ci::Status::Skipped do it { expect(subject.favicon).to eq 'favicon_status_skipped' } end + describe '#illustration' do + it { expect(subject.illustration).to eq 'skipped-job_empty' } + end + describe '#group' do it { expect(subject.group).to eq 'skipped' } end -- cgit v1.2.1 From ec5dae98cf78c458e8d4f7ca71700a02715cb8c3 Mon Sep 17 00:00:00 2001 From: Fabian Schneider Date: Sun, 25 Mar 2018 15:50:09 +0200 Subject: Fix personal access token clipboard button style --- app/assets/stylesheets/pages/profile.scss | 7 +------ app/views/profiles/personal_access_tokens/index.html.haml | 6 ++++-- .../unreleased/43976-fix-access-token-clipboard-button-style.yml | 5 +++++ 3 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 changelogs/unreleased/43976-fix-access-token-clipboard-button-style.yml diff --git a/app/assets/stylesheets/pages/profile.scss b/app/assets/stylesheets/pages/profile.scss index ac745019319..b199f9876d3 100644 --- a/app/assets/stylesheets/pages/profile.scss +++ b/app/assets/stylesheets/pages/profile.scss @@ -210,13 +210,8 @@ } .created-personal-access-token-container { - #created-personal-access-token { - width: 90%; - display: inline; - } - .btn-clipboard { - margin-left: 5px; + border: 1px solid $border-color; } } diff --git a/app/views/profiles/personal_access_tokens/index.html.haml b/app/views/profiles/personal_access_tokens/index.html.haml index 78848542810..b96251cd982 100644 --- a/app/views/profiles/personal_access_tokens/index.html.haml +++ b/app/views/profiles/personal_access_tokens/index.html.haml @@ -19,8 +19,10 @@ %h5.prepend-top-0 Your New Personal Access Token .form-group - = text_field_tag 'created-personal-access-token', @new_personal_access_token, readonly: true, class: "form-control js-select-on-focus", 'aria-describedby' => "created-personal-access-token-help-block" - = clipboard_button(text: @new_personal_access_token, title: "Copy personal access token to clipboard", placement: "left") + .input-group + = text_field_tag 'created-personal-access-token', @new_personal_access_token, readonly: true, class: "form-control js-select-on-focus", 'aria-describedby' => "created-personal-access-token-help-block" + %span.input-group-btn + = clipboard_button(text: @new_personal_access_token, title: "Copy personal access token to clipboard", placement: "left", class: "btn-default btn-clipboard") %span#created-personal-access-token-help-block.help-block.text-danger Make sure you save it - you won't be able to access it again. %hr diff --git a/changelogs/unreleased/43976-fix-access-token-clipboard-button-style.yml b/changelogs/unreleased/43976-fix-access-token-clipboard-button-style.yml new file mode 100644 index 00000000000..b341d5dfa7f --- /dev/null +++ b/changelogs/unreleased/43976-fix-access-token-clipboard-button-style.yml @@ -0,0 +1,5 @@ +--- +title: Fix personal access token clipboard button style +merge_request: 17978 +author: Fabian Schneider +type: fixed -- cgit v1.2.1 From d0349362a7681dc72636b0041a28d58a6e979707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 26 Mar 2018 17:28:53 +0200 Subject: Extend Gitlab::Ci::Status#illustration to include metadata --- lib/gitlab/ci/status/canceled.rb | 6 +++++- lib/gitlab/ci/status/created.rb | 7 ++++++- lib/gitlab/ci/status/manual.rb | 7 ++++++- lib/gitlab/ci/status/pending.rb | 7 ++++++- lib/gitlab/ci/status/skipped.rb | 6 +++++- spec/lib/gitlab/ci/status/build/factory_spec.rb | 8 ++++---- spec/lib/gitlab/ci/status/canceled_spec.rb | 2 +- spec/lib/gitlab/ci/status/created_spec.rb | 2 +- spec/lib/gitlab/ci/status/manual_spec.rb | 2 +- spec/lib/gitlab/ci/status/pending_spec.rb | 2 +- spec/lib/gitlab/ci/status/skipped_spec.rb | 2 +- 11 files changed, 37 insertions(+), 14 deletions(-) diff --git a/lib/gitlab/ci/status/canceled.rb b/lib/gitlab/ci/status/canceled.rb index 9a25375678d..bea8dcd5587 100644 --- a/lib/gitlab/ci/status/canceled.rb +++ b/lib/gitlab/ci/status/canceled.rb @@ -19,7 +19,11 @@ module Gitlab end def illustration - 'canceled-job_empty' + { + image: 'illustrations/canceled-job_empty.svg', + size: 'svg-430', + title: _('This job has been canceled') + } end end end diff --git a/lib/gitlab/ci/status/created.rb b/lib/gitlab/ci/status/created.rb index 033ecbe9380..3b2a9e5d0ef 100644 --- a/lib/gitlab/ci/status/created.rb +++ b/lib/gitlab/ci/status/created.rb @@ -19,7 +19,12 @@ module Gitlab end def illustration - 'job_not_triggered' + { + image: 'illustrations/job_not_triggered.svg', + size: 'svg-306', + title: _('This job has not been triggered yet'), + content: _('This job depends on upstream jobs that need to succeed in order for this job to be triggered') + } end end end diff --git a/lib/gitlab/ci/status/manual.rb b/lib/gitlab/ci/status/manual.rb index 92c449e2c63..cb587a7815e 100644 --- a/lib/gitlab/ci/status/manual.rb +++ b/lib/gitlab/ci/status/manual.rb @@ -19,7 +19,12 @@ module Gitlab end def illustration - 'manual_action' + { + image: 'illustrations/manual_action.svg', + size: 'svg-394', + title: _('This job requires a manual action'), + content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments') + } end end end diff --git a/lib/gitlab/ci/status/pending.rb b/lib/gitlab/ci/status/pending.rb index 63c0b5b501f..6a27a83696a 100644 --- a/lib/gitlab/ci/status/pending.rb +++ b/lib/gitlab/ci/status/pending.rb @@ -19,7 +19,12 @@ module Gitlab end def illustration - 'pending_job_empty' + { + image: 'illustrations/pending_job_empty.svg', + size: 'svg-430', + title: _('This job has not started yet'), + content: _('This job is in pending state and is waiting to be picked by a runner') + } end end end diff --git a/lib/gitlab/ci/status/skipped.rb b/lib/gitlab/ci/status/skipped.rb index 5dbe2847344..ff7529b5f03 100644 --- a/lib/gitlab/ci/status/skipped.rb +++ b/lib/gitlab/ci/status/skipped.rb @@ -19,7 +19,11 @@ module Gitlab end def illustration - 'skipped-job_empty' + { + image: 'illustrations/skipped-job_empty.svg', + size: 'svg-430', + title: _('This job has been skipped') + } end end end diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index 04b718c5897..0c9a751561f 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -115,7 +115,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.text).to eq 'canceled' expect(status.icon).to eq 'status_canceled' expect(status.favicon).to eq 'favicon_status_canceled' - expect(status.illustration).to eq 'canceled-job_empty' + expect(status.illustration).to include(:image, :size, :title) expect(status.label).to eq 'canceled' expect(status).to have_details expect(status).to have_action @@ -168,7 +168,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.text).to eq 'pending' expect(status.icon).to eq 'status_pending' expect(status.favicon).to eq 'favicon_status_pending' - expect(status.illustration).to eq 'pending_job_empty' + expect(status.illustration).to include(:image, :size, :title, :content) expect(status.label).to eq 'pending' expect(status).to have_details expect(status).to have_action @@ -194,7 +194,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.text).to eq 'skipped' expect(status.icon).to eq 'status_skipped' expect(status.favicon).to eq 'favicon_status_skipped' - expect(status.illustration).to eq 'skipped-job_empty' + expect(status.illustration).to include(:image, :size, :title) expect(status.label).to eq 'skipped' expect(status).to have_details expect(status).not_to have_action @@ -224,7 +224,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.group).to eq 'manual' expect(status.icon).to eq 'status_manual' expect(status.favicon).to eq 'favicon_status_manual' - expect(status.illustration).to eq 'manual_action' + expect(status.illustration).to include(:image, :size, :title, :content) expect(status.label).to include 'manual play action' expect(status).to have_details expect(status.action_path).to include 'play' diff --git a/spec/lib/gitlab/ci/status/canceled_spec.rb b/spec/lib/gitlab/ci/status/canceled_spec.rb index fc1d9e726ab..70cf2c1d300 100644 --- a/spec/lib/gitlab/ci/status/canceled_spec.rb +++ b/spec/lib/gitlab/ci/status/canceled_spec.rb @@ -22,7 +22,7 @@ describe Gitlab::Ci::Status::Canceled do end describe '#illustration' do - it { expect(subject.illustration).to eq 'canceled-job_empty' } + it { expect(subject.illustration).to include(:image, :size, :title) } end describe '#group' do diff --git a/spec/lib/gitlab/ci/status/created_spec.rb b/spec/lib/gitlab/ci/status/created_spec.rb index f7e3b0d8f1a..8a7771e0dc8 100644 --- a/spec/lib/gitlab/ci/status/created_spec.rb +++ b/spec/lib/gitlab/ci/status/created_spec.rb @@ -22,7 +22,7 @@ describe Gitlab::Ci::Status::Created do end describe '#illustration' do - it { expect(subject.illustration).to eq 'job_not_triggered' } + it { expect(subject.illustration).to include(:image, :size, :title, :content) } end describe '#group' do diff --git a/spec/lib/gitlab/ci/status/manual_spec.rb b/spec/lib/gitlab/ci/status/manual_spec.rb index 161c4774ff3..9b2dffe53d0 100644 --- a/spec/lib/gitlab/ci/status/manual_spec.rb +++ b/spec/lib/gitlab/ci/status/manual_spec.rb @@ -22,7 +22,7 @@ describe Gitlab::Ci::Status::Manual do end describe '#illustration' do - it { expect(subject.illustration).to eq 'manual_action' } + it { expect(subject.illustration).to include(:image, :size, :title, :content) } end describe '#group' do diff --git a/spec/lib/gitlab/ci/status/pending_spec.rb b/spec/lib/gitlab/ci/status/pending_spec.rb index 92349308842..d859371df9d 100644 --- a/spec/lib/gitlab/ci/status/pending_spec.rb +++ b/spec/lib/gitlab/ci/status/pending_spec.rb @@ -22,7 +22,7 @@ describe Gitlab::Ci::Status::Pending do end describe '#illustration' do - it { expect(subject.illustration).to eq 'pending_job_empty' } + it { expect(subject.illustration).to include(:image, :size, :title, :content) } end describe '#group' do diff --git a/spec/lib/gitlab/ci/status/skipped_spec.rb b/spec/lib/gitlab/ci/status/skipped_spec.rb index 993490c6d4e..f7fa8a035f2 100644 --- a/spec/lib/gitlab/ci/status/skipped_spec.rb +++ b/spec/lib/gitlab/ci/status/skipped_spec.rb @@ -22,7 +22,7 @@ describe Gitlab::Ci::Status::Skipped do end describe '#illustration' do - it { expect(subject.illustration).to eq 'skipped-job_empty' } + it { expect(subject.illustration).to include(:image, :size, :title) } end describe '#group' do -- cgit v1.2.1 From 4b0cbf630629cf1db5285baa0880513e4dd5ca16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 26 Mar 2018 20:23:11 +0200 Subject: Set up traces in jobs feature spec --- spec/features/projects/jobs_spec.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index aa4c2757a25..d1cee58fce5 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -113,7 +113,7 @@ feature 'Jobs' do describe "GET /:project/jobs/:id" do context "Job from project" do - let(:job) { create(:ci_build, :success, pipeline: pipeline) } + let(:job) { create(:ci_build, :success, :trace_live, pipeline: pipeline) } before do visit project_job_path(project, job) @@ -136,7 +136,7 @@ feature 'Jobs' do end context 'when job is not running', :js do - let(:job) { create(:ci_build, :success, pipeline: pipeline) } + let(:job) { create(:ci_build, :success, :trace_artifact, pipeline: pipeline) } before do visit project_job_path(project, job) @@ -153,7 +153,7 @@ feature 'Jobs' do end context 'if job failed' do - let(:job) { create(:ci_build, :failed, pipeline: pipeline) } + let(:job) { create(:ci_build, :failed, :trace_artifact, pipeline: pipeline) } before do visit project_job_path(project, job) @@ -339,7 +339,7 @@ feature 'Jobs' do context 'job is successfull and has deployment' do let(:deployment) { create(:deployment) } - let(:job) { create(:ci_build, :success, environment: environment.name, deployments: [deployment], pipeline: pipeline) } + let(:job) { create(:ci_build, :success, :trace_artifact, environment: environment.name, deployments: [deployment], pipeline: pipeline) } it 'shows a link for the job' do visit project_job_path(project, job) @@ -349,7 +349,7 @@ feature 'Jobs' do end context 'job is complete and not successful' do - let(:job) { create(:ci_build, :failed, environment: environment.name, pipeline: pipeline) } + let(:job) { create(:ci_build, :failed, :trace_artifact, environment: environment.name, pipeline: pipeline) } it 'shows a link for the job' do visit project_job_path(project, job) @@ -360,7 +360,7 @@ feature 'Jobs' do context 'job creates a new deployment' do let!(:deployment) { create(:deployment, environment: environment, sha: project.commit.id) } - let(:job) { create(:ci_build, :success, environment: environment.name, pipeline: pipeline) } + let(:job) { create(:ci_build, :success, :trace_artifact, environment: environment.name, pipeline: pipeline) } it 'shows a link to latest deployment' do visit project_job_path(project, job) -- cgit v1.2.1 From 6df1eb14fa02268f16b961d15fc43b7b03586778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Mon, 26 Mar 2018 20:47:06 +0200 Subject: Use Gitlab::Ci::Status#illustration in job empty_states partial --- app/views/projects/jobs/_empty_states.html.haml | 38 ++++++------------------- spec/features/projects/jobs_spec.rb | 18 ++++++++++++ 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/app/views/projects/jobs/_empty_states.html.haml b/app/views/projects/jobs/_empty_states.html.haml index 9e144dbfe32..6d4a9931923 100644 --- a/app/views/projects/jobs/_empty_states.html.haml +++ b/app/views/projects/jobs/_empty_states.html.haml @@ -1,29 +1,9 @@ -- if @build.playable? - = render 'empty_state', - illustration: 'illustrations/manual_action.svg', - illustration_size: 'svg-394', - title: _('This job requires a manual action'), - content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), - action: ( link_to _('Trigger this manual action'), play_project_job_path(@project, @build), method: :post, class: 'btn btn-primary', title: _('Trigger this manual action') ) -- elsif @build.created? - = render 'empty_state', - illustration: 'illustrations/job_not_triggered.svg', - illustration_size: 'svg-306', - title: _('This job has not been triggered yet'), - content: _('This job depends on upstream jobs that need to succeed in order for this job to be triggered') -- elsif @build.canceled? - = render 'empty_state', - illustration: 'illustrations/canceled-job_empty.svg', - illustration_size: 'svg-430', - title: _('This job has been canceled') -- elsif @build.skipped? - = render 'empty_state', - illustration: 'illustrations/skipped-job_empty.svg', - illustration_size: 'svg-430', - title: _('This job has been skipped') -- else - = render 'empty_state', - illustration: 'illustrations/pending_job_empty.svg', - illustration_size: 'svg-430', - title: _('This job has not started yet'), - content: _('This job is in pending state and is waiting to be picked by a runner') +- detailed_status = @build.detailed_status(current_user) +- illustration = detailed_status.illustration + += render 'empty_state', + illustration: illustration[:image], + illustration_size: illustration[:size], + title: illustration[:title], + content: illustration[:content], + action: @build.playable? ? link_to(_("Trigger this manual action"), detailed_status.action_path, method: detailed_status.action_method, class: 'btn btn-primary', title: _("Trigger this manual action")) : nil diff --git a/spec/features/projects/jobs_spec.rb b/spec/features/projects/jobs_spec.rb index d1cee58fce5..749a1b81872 100644 --- a/spec/features/projects/jobs_spec.rb +++ b/spec/features/projects/jobs_spec.rb @@ -379,6 +379,7 @@ feature 'Jobs' do end it 'shows manual action empty state' do + expect(page).to have_content(job.detailed_status(user).illustration[:title]) expect(page).to have_content('This job requires a manual action') expect(page).to have_content('This job depends on a user to trigger its process. Often they are used to deploy code to production environments') expect(page).to have_link('Trigger this manual action') @@ -402,6 +403,7 @@ feature 'Jobs' do end it 'shows empty state' do + expect(page).to have_content(job.detailed_status(user).illustration[:title]) expect(page).to have_content('This job has not been triggered yet') expect(page).to have_content('This job depends on upstream jobs that need to succeed in order for this job to be triggered') end @@ -415,6 +417,7 @@ feature 'Jobs' do end it 'shows pending empty state' do + expect(page).to have_content(job.detailed_status(user).illustration[:title]) expect(page).to have_content('This job has not started yet') expect(page).to have_content('This job is in pending state and is waiting to be picked by a runner') end @@ -441,11 +444,26 @@ feature 'Jobs' do end it 'renders empty state' do + expect(page).to have_content(job.detailed_status(user).illustration[:title]) expect(page).not_to have_selector('.js-build-output') expect(page).to have_content('This job has been canceled') end end end + + context 'Skipped job' do + let(:job) { create(:ci_build, :skipped, pipeline: pipeline) } + + before do + visit project_job_path(project, job) + end + + it 'renders empty state' do + expect(page).to have_content(job.detailed_status(user).illustration[:title]) + expect(page).not_to have_selector('.js-build-output') + expect(page).to have_content('This job has been skipped') + end + end end describe "POST /:project/jobs/:id/cancel", :js do -- cgit v1.2.1 From 0969f198496c2ab0b4be6dcd0d9c6434f71e780d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 28 Mar 2018 13:31:53 +0200 Subject: Move illustration to build specific statuses --- lib/gitlab/ci/status/build/action.rb | 9 +++++++++ lib/gitlab/ci/status/build/canceled.rb | 21 +++++++++++++++++++++ lib/gitlab/ci/status/build/created.rb | 22 ++++++++++++++++++++++ lib/gitlab/ci/status/build/factory.rb | 7 ++++++- lib/gitlab/ci/status/build/pending.rb | 22 ++++++++++++++++++++++ lib/gitlab/ci/status/build/skipped.rb | 21 +++++++++++++++++++++ lib/gitlab/ci/status/canceled.rb | 8 -------- lib/gitlab/ci/status/created.rb | 9 --------- lib/gitlab/ci/status/manual.rb | 9 --------- lib/gitlab/ci/status/pending.rb | 9 --------- lib/gitlab/ci/status/skipped.rb | 8 -------- 11 files changed, 101 insertions(+), 44 deletions(-) create mode 100644 lib/gitlab/ci/status/build/canceled.rb create mode 100644 lib/gitlab/ci/status/build/created.rb create mode 100644 lib/gitlab/ci/status/build/pending.rb create mode 100644 lib/gitlab/ci/status/build/skipped.rb diff --git a/lib/gitlab/ci/status/build/action.rb b/lib/gitlab/ci/status/build/action.rb index 6c9125647ad..17eb37448cb 100644 --- a/lib/gitlab/ci/status/build/action.rb +++ b/lib/gitlab/ci/status/build/action.rb @@ -14,6 +14,15 @@ module Gitlab end end + def illustration + { + image: 'illustrations/manual_action.svg', + size: 'svg-394', + title: _('This job requires a manual action'), + content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), + } + end + def self.matches?(build, user) build.playable? end diff --git a/lib/gitlab/ci/status/build/canceled.rb b/lib/gitlab/ci/status/build/canceled.rb new file mode 100644 index 00000000000..c83e2734a73 --- /dev/null +++ b/lib/gitlab/ci/status/build/canceled.rb @@ -0,0 +1,21 @@ +module Gitlab + module Ci + module Status + module Build + class Canceled < Status::Extended + def illustration + { + image: 'illustrations/canceled-job_empty.svg', + size: 'svg-430', + title: _('This job has been canceled') + } + end + + def self.matches?(build, user) + build.canceled? + end + end + end + end + end +end diff --git a/lib/gitlab/ci/status/build/created.rb b/lib/gitlab/ci/status/build/created.rb new file mode 100644 index 00000000000..5be8e9de425 --- /dev/null +++ b/lib/gitlab/ci/status/build/created.rb @@ -0,0 +1,22 @@ +module Gitlab + module Ci + module Status + module Build + class Created < Status::Extended + def illustration + { + image: 'illustrations/job_not_triggered.svg', + size: 'svg-306', + title: _('This job has not been triggered yet'), + content: _('This job depends on upstream jobs that need to succeed in order for this job to be triggered') + } + end + + def self.matches?(build, user) + build.created? + end + end + end + end + end +end diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb index c852d607373..ae4b2bd79bc 100644 --- a/lib/gitlab/ci/status/build/factory.rb +++ b/lib/gitlab/ci/status/build/factory.rb @@ -9,7 +9,12 @@ module Gitlab [Status::Build::FailedAllowed, Status::Build::Play, Status::Build::Stop], - [Status::Build::Action]] + [Status::Build::Action], + [Status::Build::Action, + Status::Build::Canceled, + Status::Build::Created, + Status::Build::Pending, + Status::Build::Skipped]] end def self.common_helpers diff --git a/lib/gitlab/ci/status/build/pending.rb b/lib/gitlab/ci/status/build/pending.rb new file mode 100644 index 00000000000..9dd9a27ad57 --- /dev/null +++ b/lib/gitlab/ci/status/build/pending.rb @@ -0,0 +1,22 @@ +module Gitlab + module Ci + module Status + module Build + class Pending < Status::Extended + def illustration + { + image: 'illustrations/pending_job_empty.svg', + size: 'svg-430', + title: _('This job has not started yet'), + content: _('This job is in pending state and is waiting to be picked by a runner') + } + end + + def self.matches?(build, user) + build.pending? + end + end + end + end + end +end diff --git a/lib/gitlab/ci/status/build/skipped.rb b/lib/gitlab/ci/status/build/skipped.rb new file mode 100644 index 00000000000..3e678d0baee --- /dev/null +++ b/lib/gitlab/ci/status/build/skipped.rb @@ -0,0 +1,21 @@ +module Gitlab + module Ci + module Status + module Build + class Skipped < Status::Extended + def illustration + { + image: 'illustrations/skipped-job_empty.svg', + size: 'svg-430', + title: _('This job has been skipped') + } + end + + def self.matches?(build, user) + build.skipped? + end + end + end + end + end +end diff --git a/lib/gitlab/ci/status/canceled.rb b/lib/gitlab/ci/status/canceled.rb index bea8dcd5587..e6195a60d4f 100644 --- a/lib/gitlab/ci/status/canceled.rb +++ b/lib/gitlab/ci/status/canceled.rb @@ -17,14 +17,6 @@ module Gitlab def favicon 'favicon_status_canceled' end - - def illustration - { - image: 'illustrations/canceled-job_empty.svg', - size: 'svg-430', - title: _('This job has been canceled') - } - end end end end diff --git a/lib/gitlab/ci/status/created.rb b/lib/gitlab/ci/status/created.rb index 3b2a9e5d0ef..846f00b83dd 100644 --- a/lib/gitlab/ci/status/created.rb +++ b/lib/gitlab/ci/status/created.rb @@ -17,15 +17,6 @@ module Gitlab def favicon 'favicon_status_created' end - - def illustration - { - image: 'illustrations/job_not_triggered.svg', - size: 'svg-306', - title: _('This job has not been triggered yet'), - content: _('This job depends on upstream jobs that need to succeed in order for this job to be triggered') - } - end end end end diff --git a/lib/gitlab/ci/status/manual.rb b/lib/gitlab/ci/status/manual.rb index cb587a7815e..fc387e2fd25 100644 --- a/lib/gitlab/ci/status/manual.rb +++ b/lib/gitlab/ci/status/manual.rb @@ -17,15 +17,6 @@ module Gitlab def favicon 'favicon_status_manual' end - - def illustration - { - image: 'illustrations/manual_action.svg', - size: 'svg-394', - title: _('This job requires a manual action'), - content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments') - } - end end end end diff --git a/lib/gitlab/ci/status/pending.rb b/lib/gitlab/ci/status/pending.rb index 6a27a83696a..6780780db32 100644 --- a/lib/gitlab/ci/status/pending.rb +++ b/lib/gitlab/ci/status/pending.rb @@ -17,15 +17,6 @@ module Gitlab def favicon 'favicon_status_pending' end - - def illustration - { - image: 'illustrations/pending_job_empty.svg', - size: 'svg-430', - title: _('This job has not started yet'), - content: _('This job is in pending state and is waiting to be picked by a runner') - } - end end end end diff --git a/lib/gitlab/ci/status/skipped.rb b/lib/gitlab/ci/status/skipped.rb index ff7529b5f03..0dbdc4de426 100644 --- a/lib/gitlab/ci/status/skipped.rb +++ b/lib/gitlab/ci/status/skipped.rb @@ -17,14 +17,6 @@ module Gitlab def favicon 'favicon_status_skipped' end - - def illustration - { - image: 'illustrations/skipped-job_empty.svg', - size: 'svg-430', - title: _('This job has been skipped') - } - end end end end -- cgit v1.2.1 From c48f33c5bec02e8fd49326514023f6b6af66d693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 28 Mar 2018 13:51:30 +0200 Subject: Move action link to build extended status illustration --- app/views/projects/jobs/_empty_states.html.haml | 2 +- lib/gitlab/ci/status/build/action.rb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/views/projects/jobs/_empty_states.html.haml b/app/views/projects/jobs/_empty_states.html.haml index 6d4a9931923..4d2c776e538 100644 --- a/app/views/projects/jobs/_empty_states.html.haml +++ b/app/views/projects/jobs/_empty_states.html.haml @@ -6,4 +6,4 @@ illustration_size: illustration[:size], title: illustration[:title], content: illustration[:content], - action: @build.playable? ? link_to(_("Trigger this manual action"), detailed_status.action_path, method: detailed_status.action_method, class: 'btn btn-primary', title: _("Trigger this manual action")) : nil + action: illustration[:action_path] ? link_to(_("Trigger this manual action"), illustration[:action_path], method: illustration[:action_method], class: 'btn btn-primary', title: _("Trigger this manual action")) : nil diff --git a/lib/gitlab/ci/status/build/action.rb b/lib/gitlab/ci/status/build/action.rb index 17eb37448cb..f7f3d47c098 100644 --- a/lib/gitlab/ci/status/build/action.rb +++ b/lib/gitlab/ci/status/build/action.rb @@ -20,6 +20,8 @@ module Gitlab size: 'svg-394', title: _('This job requires a manual action'), content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), + action_path: action_path, + action_method: action_method } end -- cgit v1.2.1 From b57fcbe6162a17b02fc0516af2487ddd57c251bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 28 Mar 2018 14:57:09 +0200 Subject: Separate the manual empty state from the action empty state --- lib/gitlab/ci/status/build/action.rb | 11 ----------- lib/gitlab/ci/status/build/factory.rb | 2 +- lib/gitlab/ci/status/build/manual.rb | 24 ++++++++++++++++++++++++ 3 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 lib/gitlab/ci/status/build/manual.rb diff --git a/lib/gitlab/ci/status/build/action.rb b/lib/gitlab/ci/status/build/action.rb index f7f3d47c098..6c9125647ad 100644 --- a/lib/gitlab/ci/status/build/action.rb +++ b/lib/gitlab/ci/status/build/action.rb @@ -14,17 +14,6 @@ module Gitlab end end - def illustration - { - image: 'illustrations/manual_action.svg', - size: 'svg-394', - title: _('This job requires a manual action'), - content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), - action_path: action_path, - action_method: action_method - } - end - def self.matches?(build, user) build.playable? end diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb index ae4b2bd79bc..004a9b305b7 100644 --- a/lib/gitlab/ci/status/build/factory.rb +++ b/lib/gitlab/ci/status/build/factory.rb @@ -10,7 +10,7 @@ module Gitlab Status::Build::Play, Status::Build::Stop], [Status::Build::Action], - [Status::Build::Action, + [Status::Build::Manual, Status::Build::Canceled, Status::Build::Created, Status::Build::Pending, diff --git a/lib/gitlab/ci/status/build/manual.rb b/lib/gitlab/ci/status/build/manual.rb new file mode 100644 index 00000000000..01e94e159a1 --- /dev/null +++ b/lib/gitlab/ci/status/build/manual.rb @@ -0,0 +1,24 @@ +module Gitlab + module Ci + module Status + module Build + class Manual < Status::Extended + def illustration + { + image: 'illustrations/manual_action.svg', + size: 'svg-394', + title: _('This job requires a manual action'), + content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), + action_path: play_project_job_path(subject.project, subject), + action_method: :post + } + end + + def self.matches?(build, user) + build.playable? + end + end + end + end + end +end -- cgit v1.2.1 From d6509274f32fce8b879051d19e4c9d2bb8f9d09e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 28 Mar 2018 14:58:32 +0200 Subject: Fix tests for build empty state statuses --- spec/lib/gitlab/ci/status/build/canceled_spec.rb | 11 +++++++++++ spec/lib/gitlab/ci/status/build/created_spec.rb | 11 +++++++++++ spec/lib/gitlab/ci/status/build/manual_spec.rb | 13 +++++++++++++ spec/lib/gitlab/ci/status/build/pending_spec.rb | 11 +++++++++++ spec/lib/gitlab/ci/status/build/skipped_spec.rb | 11 +++++++++++ spec/lib/gitlab/ci/status/canceled_spec.rb | 4 ---- spec/lib/gitlab/ci/status/created_spec.rb | 4 ---- spec/lib/gitlab/ci/status/manual_spec.rb | 4 ---- spec/lib/gitlab/ci/status/pending_spec.rb | 4 ---- spec/lib/gitlab/ci/status/skipped_spec.rb | 4 ---- 10 files changed, 57 insertions(+), 20 deletions(-) create mode 100644 spec/lib/gitlab/ci/status/build/canceled_spec.rb create mode 100644 spec/lib/gitlab/ci/status/build/created_spec.rb create mode 100644 spec/lib/gitlab/ci/status/build/manual_spec.rb create mode 100644 spec/lib/gitlab/ci/status/build/pending_spec.rb create mode 100644 spec/lib/gitlab/ci/status/build/skipped_spec.rb diff --git a/spec/lib/gitlab/ci/status/build/canceled_spec.rb b/spec/lib/gitlab/ci/status/build/canceled_spec.rb new file mode 100644 index 00000000000..689b4237b6e --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/canceled_spec.rb @@ -0,0 +1,11 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Canceled do + subject do + described_class.new(double('subject')) + end + + describe '#illustration' do + it { expect(subject.illustration).to include(:image, :size, :title) } + end +end diff --git a/spec/lib/gitlab/ci/status/build/created_spec.rb b/spec/lib/gitlab/ci/status/build/created_spec.rb new file mode 100644 index 00000000000..ace553c67a1 --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/created_spec.rb @@ -0,0 +1,11 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Created do + subject do + described_class.new(double('subject')) + end + + describe '#illustration' do + it { expect(subject.illustration).to include(:image, :size, :title, :content) } + end +end diff --git a/spec/lib/gitlab/ci/status/build/manual_spec.rb b/spec/lib/gitlab/ci/status/build/manual_spec.rb new file mode 100644 index 00000000000..1cbbbfa7570 --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/manual_spec.rb @@ -0,0 +1,13 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Manual do + subject do + user = create(:user) + build = create(:ci_build, :manual) + described_class.new(Gitlab::Ci::Status::Core.new(build, user)) + end + + describe '#illustration' do + it { expect(subject.illustration).to include(:image, :size, :title, :content, :action_path, :action_method) } + end +end diff --git a/spec/lib/gitlab/ci/status/build/pending_spec.rb b/spec/lib/gitlab/ci/status/build/pending_spec.rb new file mode 100644 index 00000000000..2c114313536 --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/pending_spec.rb @@ -0,0 +1,11 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Pending do + subject do + described_class.new(double('subject')) + end + + describe '#illustration' do + it { expect(subject.illustration).to include(:image, :size, :title, :content) } + end +end diff --git a/spec/lib/gitlab/ci/status/build/skipped_spec.rb b/spec/lib/gitlab/ci/status/build/skipped_spec.rb new file mode 100644 index 00000000000..4667d10e6f6 --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/skipped_spec.rb @@ -0,0 +1,11 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Skipped do + subject do + described_class.new(double('subject')) + end + + describe '#illustration' do + it { expect(subject.illustration).to include(:image, :size, :title) } + end +end diff --git a/spec/lib/gitlab/ci/status/canceled_spec.rb b/spec/lib/gitlab/ci/status/canceled_spec.rb index 70cf2c1d300..dc74d7e28c5 100644 --- a/spec/lib/gitlab/ci/status/canceled_spec.rb +++ b/spec/lib/gitlab/ci/status/canceled_spec.rb @@ -21,10 +21,6 @@ describe Gitlab::Ci::Status::Canceled do it { expect(subject.favicon).to eq 'favicon_status_canceled' } end - describe '#illustration' do - it { expect(subject.illustration).to include(:image, :size, :title) } - end - describe '#group' do it { expect(subject.group).to eq 'canceled' } end diff --git a/spec/lib/gitlab/ci/status/created_spec.rb b/spec/lib/gitlab/ci/status/created_spec.rb index 8a7771e0dc8..ce4333f2aca 100644 --- a/spec/lib/gitlab/ci/status/created_spec.rb +++ b/spec/lib/gitlab/ci/status/created_spec.rb @@ -21,10 +21,6 @@ describe Gitlab::Ci::Status::Created do it { expect(subject.favicon).to eq 'favicon_status_created' } end - describe '#illustration' do - it { expect(subject.illustration).to include(:image, :size, :title, :content) } - end - describe '#group' do it { expect(subject.group).to eq 'created' } end diff --git a/spec/lib/gitlab/ci/status/manual_spec.rb b/spec/lib/gitlab/ci/status/manual_spec.rb index 9b2dffe53d0..0463f2e1aff 100644 --- a/spec/lib/gitlab/ci/status/manual_spec.rb +++ b/spec/lib/gitlab/ci/status/manual_spec.rb @@ -21,10 +21,6 @@ describe Gitlab::Ci::Status::Manual do it { expect(subject.favicon).to eq 'favicon_status_manual' } end - describe '#illustration' do - it { expect(subject.illustration).to include(:image, :size, :title, :content) } - end - describe '#group' do it { expect(subject.group).to eq 'manual' } end diff --git a/spec/lib/gitlab/ci/status/pending_spec.rb b/spec/lib/gitlab/ci/status/pending_spec.rb index d859371df9d..0e25358dd8a 100644 --- a/spec/lib/gitlab/ci/status/pending_spec.rb +++ b/spec/lib/gitlab/ci/status/pending_spec.rb @@ -21,10 +21,6 @@ describe Gitlab::Ci::Status::Pending do it { expect(subject.favicon).to eq 'favicon_status_pending' } end - describe '#illustration' do - it { expect(subject.illustration).to include(:image, :size, :title, :content) } - end - describe '#group' do it { expect(subject.group).to eq 'pending' } end diff --git a/spec/lib/gitlab/ci/status/skipped_spec.rb b/spec/lib/gitlab/ci/status/skipped_spec.rb index f7fa8a035f2..63694ca0ea6 100644 --- a/spec/lib/gitlab/ci/status/skipped_spec.rb +++ b/spec/lib/gitlab/ci/status/skipped_spec.rb @@ -21,10 +21,6 @@ describe Gitlab::Ci::Status::Skipped do it { expect(subject.favicon).to eq 'favicon_status_skipped' } end - describe '#illustration' do - it { expect(subject.illustration).to include(:image, :size, :title) } - end - describe '#group' do it { expect(subject.group).to eq 'skipped' } end -- cgit v1.2.1 From bb0483dc2f9501461407766f74600e0f3d283686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 28 Mar 2018 16:18:06 +0200 Subject: Move the empty state extended status to be the beginning --- lib/gitlab/ci/status/build/factory.rb | 14 +++++++------- spec/lib/gitlab/ci/status/build/factory_spec.rb | 18 ++++++++++-------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb index 004a9b305b7..b809a9cf766 100644 --- a/lib/gitlab/ci/status/build/factory.rb +++ b/lib/gitlab/ci/status/build/factory.rb @@ -4,17 +4,17 @@ module Gitlab module Build class Factory < Status::Factory def self.extended_statuses - [[Status::Build::Cancelable, + [[Status::Build::Manual, + Status::Build::Canceled, + Status::Build::Created, + Status::Build::Pending, + Status::Build::Skipped], + [Status::Build::Cancelable, Status::Build::Retryable], [Status::Build::FailedAllowed, Status::Build::Play, Status::Build::Stop], - [Status::Build::Action], - [Status::Build::Manual, - Status::Build::Canceled, - Status::Build::Created, - Status::Build::Pending, - Status::Build::Skipped]] + [Status::Build::Action]] end def self.common_helpers diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index 0c9a751561f..a68fed0a41c 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -104,7 +104,7 @@ describe Gitlab::Ci::Status::Build::Factory do it 'matches correct extended statuses' do expect(factory.extended_statuses) - .to eq [Gitlab::Ci::Status::Build::Retryable] + .to eq [Gitlab::Ci::Status::Build::Canceled, Gitlab::Ci::Status::Build::Retryable] end it 'fabricates a retryable build status' do @@ -157,7 +157,7 @@ describe Gitlab::Ci::Status::Build::Factory do it 'matches correct extended statuses' do expect(factory.extended_statuses) - .to eq [Gitlab::Ci::Status::Build::Cancelable] + .to eq [Gitlab::Ci::Status::Build::Pending, Gitlab::Ci::Status::Build::Cancelable] end it 'fabricates a cancelable build status' do @@ -182,12 +182,12 @@ describe Gitlab::Ci::Status::Build::Factory do expect(factory.core_status).to be_a Gitlab::Ci::Status::Skipped end - it 'does not match extended statuses' do - expect(factory.extended_statuses).to be_empty + it 'matches correct extended statuses' do + expect(factory.extended_statuses).to eq [Gitlab::Ci::Status::Build::Skipped] end - it 'fabricates a core skipped status' do - expect(status).to be_a Gitlab::Ci::Status::Skipped + it 'fabricates a skipped build status' do + expect(status).to be_a Gitlab::Ci::Status::Build::Skipped end it 'fabricates status with correct details' do @@ -211,7 +211,8 @@ describe Gitlab::Ci::Status::Build::Factory do it 'matches correct extended statuses' do expect(factory.extended_statuses) - .to eq [Gitlab::Ci::Status::Build::Play, + .to eq [Gitlab::Ci::Status::Build::Manual, + Gitlab::Ci::Status::Build::Play, Gitlab::Ci::Status::Build::Action] end @@ -259,7 +260,8 @@ describe Gitlab::Ci::Status::Build::Factory do it 'matches correct extended statuses' do expect(factory.extended_statuses) - .to eq [Gitlab::Ci::Status::Build::Stop, + .to eq [Gitlab::Ci::Status::Build::Manual, + Gitlab::Ci::Status::Build::Stop, Gitlab::Ci::Status::Build::Action] end -- cgit v1.2.1 From ddabac46b918611ecaa82ea5af554a7f0f9b7407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Thu, 29 Mar 2018 19:24:19 +0200 Subject: Move action button titles to respective statuses --- app/views/projects/jobs/_empty_states.html.haml | 2 +- lib/gitlab/ci/status/build/cancelable.rb | 4 ++++ lib/gitlab/ci/status/build/manual.rb | 4 +--- lib/gitlab/ci/status/build/play.rb | 4 ++++ lib/gitlab/ci/status/build/retryable.rb | 4 ++++ lib/gitlab/ci/status/build/stop.rb | 4 ++++ spec/lib/gitlab/ci/status/build/cancelable_spec.rb | 4 ++++ spec/lib/gitlab/ci/status/build/manual_spec.rb | 2 +- spec/lib/gitlab/ci/status/build/play_spec.rb | 4 ++++ spec/lib/gitlab/ci/status/build/retryable_spec.rb | 4 ++++ spec/lib/gitlab/ci/status/build/stop_spec.rb | 4 ++++ 11 files changed, 35 insertions(+), 5 deletions(-) diff --git a/app/views/projects/jobs/_empty_states.html.haml b/app/views/projects/jobs/_empty_states.html.haml index 4d2c776e538..e5198d047df 100644 --- a/app/views/projects/jobs/_empty_states.html.haml +++ b/app/views/projects/jobs/_empty_states.html.haml @@ -6,4 +6,4 @@ illustration_size: illustration[:size], title: illustration[:title], content: illustration[:content], - action: illustration[:action_path] ? link_to(_("Trigger this manual action"), illustration[:action_path], method: illustration[:action_method], class: 'btn btn-primary', title: _("Trigger this manual action")) : nil + action: detailed_status.has_action? ? link_to(detailed_status.action_button_title, detailed_status.action_path, method: detailed_status.action_method, class: 'btn btn-primary', title: detailed_status.action_button_title) : nil diff --git a/lib/gitlab/ci/status/build/cancelable.rb b/lib/gitlab/ci/status/build/cancelable.rb index 2d9166d6bdd..024047d4983 100644 --- a/lib/gitlab/ci/status/build/cancelable.rb +++ b/lib/gitlab/ci/status/build/cancelable.rb @@ -23,6 +23,10 @@ module Gitlab 'Cancel' end + def action_button_title + _('Cancel this job') + end + def self.matches?(build, user) build.cancelable? end diff --git a/lib/gitlab/ci/status/build/manual.rb b/lib/gitlab/ci/status/build/manual.rb index 01e94e159a1..042da6392d3 100644 --- a/lib/gitlab/ci/status/build/manual.rb +++ b/lib/gitlab/ci/status/build/manual.rb @@ -8,9 +8,7 @@ module Gitlab image: 'illustrations/manual_action.svg', size: 'svg-394', title: _('This job requires a manual action'), - content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments'), - action_path: play_project_job_path(subject.project, subject), - action_method: :post + content: _('This job depends on a user to trigger its process. Often they are used to deploy code to production environments') } end diff --git a/lib/gitlab/ci/status/build/play.rb b/lib/gitlab/ci/status/build/play.rb index b7b45466d3b..a8b9ebf0803 100644 --- a/lib/gitlab/ci/status/build/play.rb +++ b/lib/gitlab/ci/status/build/play.rb @@ -19,6 +19,10 @@ module Gitlab 'Play' end + def action_button_title + _('Trigger this manual action') + end + def action_path play_project_job_path(subject.project, subject) end diff --git a/lib/gitlab/ci/status/build/retryable.rb b/lib/gitlab/ci/status/build/retryable.rb index 44ffe783e50..5aeb8e51480 100644 --- a/lib/gitlab/ci/status/build/retryable.rb +++ b/lib/gitlab/ci/status/build/retryable.rb @@ -15,6 +15,10 @@ module Gitlab 'Retry' end + def action_button_title + _('Retry this job') + end + def action_path retry_project_job_path(subject.project, subject) end diff --git a/lib/gitlab/ci/status/build/stop.rb b/lib/gitlab/ci/status/build/stop.rb index 46e730797e4..dea838bfa39 100644 --- a/lib/gitlab/ci/status/build/stop.rb +++ b/lib/gitlab/ci/status/build/stop.rb @@ -19,6 +19,10 @@ module Gitlab 'Stop' end + def action_button_title + _('Stop this environment') + end + def action_path play_project_job_path(subject.project, subject) end diff --git a/spec/lib/gitlab/ci/status/build/cancelable_spec.rb b/spec/lib/gitlab/ci/status/build/cancelable_spec.rb index 9cdebaa5cf2..0b88e0c7c9c 100644 --- a/spec/lib/gitlab/ci/status/build/cancelable_spec.rb +++ b/spec/lib/gitlab/ci/status/build/cancelable_spec.rb @@ -72,6 +72,10 @@ describe Gitlab::Ci::Status::Build::Cancelable do describe '#action_title' do it { expect(subject.action_title).to eq 'Cancel' } end + + describe '#action_button_title' do + it { expect(subject.action_button_title).to eq 'Cancel this job' } + end end describe '.matches?' do diff --git a/spec/lib/gitlab/ci/status/build/manual_spec.rb b/spec/lib/gitlab/ci/status/build/manual_spec.rb index 1cbbbfa7570..c8c650d4e56 100644 --- a/spec/lib/gitlab/ci/status/build/manual_spec.rb +++ b/spec/lib/gitlab/ci/status/build/manual_spec.rb @@ -8,6 +8,6 @@ describe Gitlab::Ci::Status::Build::Manual do end describe '#illustration' do - it { expect(subject.illustration).to include(:image, :size, :title, :content, :action_path, :action_method) } + it { expect(subject.illustration).to include(:image, :size, :title, :content) } end end diff --git a/spec/lib/gitlab/ci/status/build/play_spec.rb b/spec/lib/gitlab/ci/status/build/play_spec.rb index 81d5f553fd1..b0c3a8bb398 100644 --- a/spec/lib/gitlab/ci/status/build/play_spec.rb +++ b/spec/lib/gitlab/ci/status/build/play_spec.rb @@ -53,6 +53,10 @@ describe Gitlab::Ci::Status::Build::Play do it { expect(subject.action_title).to eq 'Play' } end + describe '#action_button_title' do + it { expect(subject.action_button_title).to eq 'Trigger this manual action' } + end + describe '.matches?' do subject { described_class.matches?(build, user) } diff --git a/spec/lib/gitlab/ci/status/build/retryable_spec.rb b/spec/lib/gitlab/ci/status/build/retryable_spec.rb index 14d42e0d70f..d6e909f6268 100644 --- a/spec/lib/gitlab/ci/status/build/retryable_spec.rb +++ b/spec/lib/gitlab/ci/status/build/retryable_spec.rb @@ -72,6 +72,10 @@ describe Gitlab::Ci::Status::Build::Retryable do describe '#action_title' do it { expect(subject.action_title).to eq 'Retry' } end + + describe '#action_button_title' do + it { expect(subject.action_button_title).to eq 'Retry this job' } + end end describe '.matches?' do diff --git a/spec/lib/gitlab/ci/status/build/stop_spec.rb b/spec/lib/gitlab/ci/status/build/stop_spec.rb index 18e250772f0..7a72ca2c14d 100644 --- a/spec/lib/gitlab/ci/status/build/stop_spec.rb +++ b/spec/lib/gitlab/ci/status/build/stop_spec.rb @@ -44,6 +44,10 @@ describe Gitlab::Ci::Status::Build::Stop do describe '#action_title' do it { expect(subject.action_title).to eq 'Stop' } end + + describe '#action_button_title' do + it { expect(subject.action_button_title).to eq 'Stop this environment' } + end end describe '.matches?' do -- cgit v1.2.1 From 3447d71e73a538dbcb30fb478474bdd526ff38a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Thu, 29 Mar 2018 19:39:30 +0200 Subject: Add specs for empty states .matches? methods --- spec/lib/gitlab/ci/status/build/canceled_spec.rb | 22 ++++++++++++++++++++++ spec/lib/gitlab/ci/status/build/created_spec.rb | 22 ++++++++++++++++++++++ spec/lib/gitlab/ci/status/build/manual_spec.rb | 23 ++++++++++++++++++++++- spec/lib/gitlab/ci/status/build/pending_spec.rb | 22 ++++++++++++++++++++++ spec/lib/gitlab/ci/status/build/skipped_spec.rb | 22 ++++++++++++++++++++++ 5 files changed, 110 insertions(+), 1 deletion(-) diff --git a/spec/lib/gitlab/ci/status/build/canceled_spec.rb b/spec/lib/gitlab/ci/status/build/canceled_spec.rb index 689b4237b6e..c6b5cc68770 100644 --- a/spec/lib/gitlab/ci/status/build/canceled_spec.rb +++ b/spec/lib/gitlab/ci/status/build/canceled_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' describe Gitlab::Ci::Status::Build::Canceled do + let(:user) { create(:user) } + subject do described_class.new(double('subject')) end @@ -8,4 +10,24 @@ describe Gitlab::Ci::Status::Build::Canceled do describe '#illustration' do it { expect(subject.illustration).to include(:image, :size, :title) } end + + describe '.matches?' do + subject {described_class.matches?(build, user) } + + context 'when build is canceled' do + let(:build) { create(:ci_build, :canceled) } + + it 'is a correct match' do + expect(subject).to be true + end + end + + context 'when build is not canceled' do + let(:build) { create(:ci_build) } + + it 'does not match' do + expect(subject).to be false + end + end + end end diff --git a/spec/lib/gitlab/ci/status/build/created_spec.rb b/spec/lib/gitlab/ci/status/build/created_spec.rb index ace553c67a1..8bdfe6ef7a2 100644 --- a/spec/lib/gitlab/ci/status/build/created_spec.rb +++ b/spec/lib/gitlab/ci/status/build/created_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' describe Gitlab::Ci::Status::Build::Created do + let(:user) { create(:user) } + subject do described_class.new(double('subject')) end @@ -8,4 +10,24 @@ describe Gitlab::Ci::Status::Build::Created do describe '#illustration' do it { expect(subject.illustration).to include(:image, :size, :title, :content) } end + + describe '.matches?' do + subject {described_class.matches?(build, user) } + + context 'when build is created' do + let(:build) { create(:ci_build, :created) } + + it 'is a correct match' do + expect(subject).to be true + end + end + + context 'when build is not created' do + let(:build) { create(:ci_build) } + + it 'does not match' do + expect(subject).to be false + end + end + end end diff --git a/spec/lib/gitlab/ci/status/build/manual_spec.rb b/spec/lib/gitlab/ci/status/build/manual_spec.rb index c8c650d4e56..6386296f992 100644 --- a/spec/lib/gitlab/ci/status/build/manual_spec.rb +++ b/spec/lib/gitlab/ci/status/build/manual_spec.rb @@ -1,8 +1,9 @@ require 'spec_helper' describe Gitlab::Ci::Status::Build::Manual do + let(:user) { create(:user) } + subject do - user = create(:user) build = create(:ci_build, :manual) described_class.new(Gitlab::Ci::Status::Core.new(build, user)) end @@ -10,4 +11,24 @@ describe Gitlab::Ci::Status::Build::Manual do describe '#illustration' do it { expect(subject.illustration).to include(:image, :size, :title, :content) } end + + describe '.matches?' do + subject {described_class.matches?(build, user) } + + context 'when build is manual' do + let(:build) { create(:ci_build, :manual) } + + it 'is a correct match' do + expect(subject).to be true + end + end + + context 'when build is not manual' do + let(:build) { create(:ci_build) } + + it 'does not match' do + expect(subject).to be false + end + end + end end diff --git a/spec/lib/gitlab/ci/status/build/pending_spec.rb b/spec/lib/gitlab/ci/status/build/pending_spec.rb index 2c114313536..4cf70828e53 100644 --- a/spec/lib/gitlab/ci/status/build/pending_spec.rb +++ b/spec/lib/gitlab/ci/status/build/pending_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' describe Gitlab::Ci::Status::Build::Pending do + let(:user) { create(:user) } + subject do described_class.new(double('subject')) end @@ -8,4 +10,24 @@ describe Gitlab::Ci::Status::Build::Pending do describe '#illustration' do it { expect(subject.illustration).to include(:image, :size, :title, :content) } end + + describe '.matches?' do + subject {described_class.matches?(build, user) } + + context 'when build is pending' do + let(:build) { create(:ci_build, :pending) } + + it 'is a correct match' do + expect(subject).to be true + end + end + + context 'when build is not pending' do + let(:build) { create(:ci_build, :success) } + + it 'does not match' do + expect(subject).to be false + end + end + end end diff --git a/spec/lib/gitlab/ci/status/build/skipped_spec.rb b/spec/lib/gitlab/ci/status/build/skipped_spec.rb index 4667d10e6f6..46f6933025a 100644 --- a/spec/lib/gitlab/ci/status/build/skipped_spec.rb +++ b/spec/lib/gitlab/ci/status/build/skipped_spec.rb @@ -1,6 +1,8 @@ require 'spec_helper' describe Gitlab::Ci::Status::Build::Skipped do + let(:user) { create(:user) } + subject do described_class.new(double('subject')) end @@ -8,4 +10,24 @@ describe Gitlab::Ci::Status::Build::Skipped do describe '#illustration' do it { expect(subject.illustration).to include(:image, :size, :title) } end + + describe '.matches?' do + subject {described_class.matches?(build, user) } + + context 'when build is skipped' do + let(:build) { create(:ci_build, :skipped) } + + it 'is a correct match' do + expect(subject).to be true + end + end + + context 'when build is not skipped' do + let(:build) { create(:ci_build) } + + it 'does not match' do + expect(subject).to be false + end + end + end end -- cgit v1.2.1 From 92434d00bf1b0d8aa231d2d8f233fe45899cc5a4 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Fri, 30 Mar 2018 18:16:09 +0900 Subject: Fix database trace to read raw --- app/controllers/projects/jobs_controller.rb | 30 +++++++++++------------------ lib/gitlab/ci/trace/stream.rb | 2 +- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/app/controllers/projects/jobs_controller.rb b/app/controllers/projects/jobs_controller.rb index 85e972d9731..5d6abcf906d 100644 --- a/app/controllers/projects/jobs_controller.rb +++ b/app/controllers/projects/jobs_controller.rb @@ -119,17 +119,17 @@ class Projects::JobsController < Projects::ApplicationController end def raw - if trace_artifact_file - send_upload(trace_artifact_file, - send_params: raw_send_params, - redirect_params: raw_redirect_params) - else - build.trace.read do |stream| - if stream.file? - send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' - else - render_404 - end + build.trace.read do |stream| + if trace_artifact_file + send_upload(trace_artifact_file, + send_params: { type: 'text/plain; charset=utf-8', disposition: 'inline' }, + redirect_params: { query: { 'response-content-type' => 'text/plain; charset=utf-8', 'response-content-disposition' => 'inline' } } ) + elsif stream.file? + send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' + elsif build.old_trace + send_data stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' + else + render_404 end end end @@ -144,14 +144,6 @@ class Projects::JobsController < Projects::ApplicationController return access_denied! unless can?(current_user, :erase_build, build) end - def raw_send_params - { type: 'text/plain; charset=utf-8', disposition: 'inline' } - end - - def raw_redirect_params - { query: { 'response-content-type' => 'text/plain; charset=utf-8', 'response-content-disposition' => 'inline' } } - end - def trace_artifact_file @trace_artifact_file ||= build.job_artifacts_trace&.file end diff --git a/lib/gitlab/ci/trace/stream.rb b/lib/gitlab/ci/trace/stream.rb index b3fe3ef1c4d..ffb9ec61715 100644 --- a/lib/gitlab/ci/trace/stream.rb +++ b/lib/gitlab/ci/trace/stream.rb @@ -22,7 +22,7 @@ module Gitlab end def file? - self.path.present? + self.path.present? if self.respond_to(:path) end def limit(last_bytes = LIMIT_SIZE) -- cgit v1.2.1 From c0997eca4b78c3daae0c158520d30164a146e26a Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 3 Apr 2018 21:30:14 +0900 Subject: Fix --- app/controllers/projects/jobs_controller.rb | 32 +++++++++++++++++++---------- lib/gitlab/ci/trace/stream.rb | 2 +- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/app/controllers/projects/jobs_controller.rb b/app/controllers/projects/jobs_controller.rb index 5d6abcf906d..a604f623e49 100644 --- a/app/controllers/projects/jobs_controller.rb +++ b/app/controllers/projects/jobs_controller.rb @@ -119,17 +119,19 @@ class Projects::JobsController < Projects::ApplicationController end def raw - build.trace.read do |stream| - if trace_artifact_file - send_upload(trace_artifact_file, - send_params: { type: 'text/plain; charset=utf-8', disposition: 'inline' }, - redirect_params: { query: { 'response-content-type' => 'text/plain; charset=utf-8', 'response-content-disposition' => 'inline' } } ) - elsif stream.file? - send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' - elsif build.old_trace - send_data stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' - else - render_404 + if trace_artifact_file + send_upload(trace_artifact_file, + send_params: raw_send_params, + redirect_params: raw_redirect_params) + else + build.trace.read do |stream| + if stream.file? + send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' + elsif build.old_trace + send_data stream.raw, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' + else + render_404 + end end end end @@ -144,6 +146,14 @@ class Projects::JobsController < Projects::ApplicationController return access_denied! unless can?(current_user, :erase_build, build) end + def raw_send_params + { type: 'text/plain; charset=utf-8', disposition: 'inline' } + end + + def raw_redirect_params + { query: { 'response-content-type' => 'text/plain; charset=utf-8', 'response-content-disposition' => 'inline' } } + end + def trace_artifact_file @trace_artifact_file ||= build.job_artifacts_trace&.file end diff --git a/lib/gitlab/ci/trace/stream.rb b/lib/gitlab/ci/trace/stream.rb index ffb9ec61715..ca9f62ad80c 100644 --- a/lib/gitlab/ci/trace/stream.rb +++ b/lib/gitlab/ci/trace/stream.rb @@ -22,7 +22,7 @@ module Gitlab end def file? - self.path.present? if self.respond_to(:path) + self.path.present? if respond_to?(:path) end def limit(last_bytes = LIMIT_SIZE) -- cgit v1.2.1 From 5cdbec20e92c2ff92b2270d0e879573e9bc80629 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 3 Apr 2018 21:52:23 +0900 Subject: Add test --- lib/gitlab/ci/trace/stream.rb | 8 ++++++-- spec/controllers/projects/jobs_controller_spec.rb | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/gitlab/ci/trace/stream.rb b/lib/gitlab/ci/trace/stream.rb index ca9f62ad80c..54894a46077 100644 --- a/lib/gitlab/ci/trace/stream.rb +++ b/lib/gitlab/ci/trace/stream.rb @@ -8,7 +8,7 @@ module Gitlab attr_reader :stream - delegate :close, :tell, :seek, :size, :path, :url, :truncate, to: :stream, allow_nil: true + delegate :close, :tell, :seek, :size, :url, :truncate, to: :stream, allow_nil: true delegate :valid?, to: :stream, as: :present?, allow_nil: true @@ -22,7 +22,11 @@ module Gitlab end def file? - self.path.present? if respond_to?(:path) + self.path.present? + end + + def path + self.stream.path if self.stream.respond_to?(:path) end def limit(last_bytes = LIMIT_SIZE) diff --git a/spec/controllers/projects/jobs_controller_spec.rb b/spec/controllers/projects/jobs_controller_spec.rb index 31046c202e6..20a826cc198 100644 --- a/spec/controllers/projects/jobs_controller_spec.rb +++ b/spec/controllers/projects/jobs_controller_spec.rb @@ -513,6 +513,22 @@ describe Projects::JobsController do end end + context 'when job has a trace in database' do + let(:job) { create(:ci_build, pipeline: pipeline) } + + before do + job.update_column(:trace, 'Sample trace') + end + + it 'send a trace file' do + response = subject + + expect(response).to have_gitlab_http_status(:ok) + expect(response.content_type).to eq 'text/plain; charset=utf-8' + expect(response.body).to eq 'Sample trace' + end + end + context 'when job does not have a trace file' do let(:job) { create(:ci_build, pipeline: pipeline) } -- cgit v1.2.1 From 8a4ec84965bb746c86e7e73aa2f9abb238d85ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Tue, 3 Apr 2018 16:54:03 +0200 Subject: Add action_button_title Core status method --- lib/gitlab/ci/status/core.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/gitlab/ci/status/core.rb b/lib/gitlab/ci/status/core.rb index 89fb9a0b7bc..031bd4cd29c 100644 --- a/lib/gitlab/ci/status/core.rb +++ b/lib/gitlab/ci/status/core.rb @@ -61,6 +61,10 @@ module Gitlab def action_title raise NotImplementedError end + + def action_button_title + raise NotImplementedError + end end end end -- cgit v1.2.1 From 6c55a9d8f29a4d934dab2c3294c319bb8592fe2b Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Thu, 29 Mar 2018 19:37:00 +0200 Subject: Remove support for legacy tar.gz pages artifacts --- app/services/projects/update_pages_service.rb | 14 +-- .../services/projects/update_pages_service_spec.rb | 104 ++++++++++----------- 2 files changed, 51 insertions(+), 67 deletions(-) diff --git a/app/services/projects/update_pages_service.rb b/app/services/projects/update_pages_service.rb index 7e228d1833d..de77f6bf585 100644 --- a/app/services/projects/update_pages_service.rb +++ b/app/services/projects/update_pages_service.rb @@ -74,25 +74,13 @@ module Projects end def extract_archive!(temp_path) - if artifacts.ends_with?('.tar.gz') || artifacts.ends_with?('.tgz') - extract_tar_archive!(temp_path) - elsif artifacts.ends_with?('.zip') + if artifacts.ends_with?('.zip') extract_zip_archive!(temp_path) else raise InvaildStateError, 'unsupported artifacts format' end end - def extract_tar_archive!(temp_path) - build.artifacts_file.use_file do |artifacts_path| - results = Open3.pipeline(%W(gunzip -c #{artifacts_path}), - %W(dd bs=#{BLOCK_SIZE} count=#{blocks}), - %W(tar -x -C #{temp_path} #{SITE_PATH}), - err: '/dev/null') - raise FailedToExtractError, 'pages failed to extract' unless results.compact.all?(&:success?) - end - end - def extract_zip_archive!(temp_path) raise InvaildStateError, 'missing artifacts metadata' unless build.artifacts_metadata? diff --git a/spec/services/projects/update_pages_service_spec.rb b/spec/services/projects/update_pages_service_spec.rb index dd31a677dfe..1b6caeab15d 100644 --- a/spec/services/projects/update_pages_service_spec.rb +++ b/spec/services/projects/update_pages_service_spec.rb @@ -21,76 +21,72 @@ describe Projects::UpdatePagesService do end context 'legacy artifacts' do - %w(tar.gz zip).each do |format| - let(:extension) { format } + let(:extension) { 'zip' } - context "for valid #{format}" do + before do + build.update_attributes(legacy_artifacts_file: file) + build.update_attributes(legacy_artifacts_metadata: metadata) + end + + describe 'pages artifacts' do + context 'with expiry date' do before do - build.update_attributes(legacy_artifacts_file: file) - build.update_attributes(legacy_artifacts_metadata: metadata) + build.artifacts_expire_in = "2 days" + build.save! end - describe 'pages artifacts' do - context 'with expiry date' do - before do - build.artifacts_expire_in = "2 days" - build.save! - end - - it "doesn't delete artifacts" do - expect(execute).to eq(:success) - - expect(build.reload.artifacts?).to eq(true) - end - end - - context 'without expiry date' do - it "does delete artifacts" do - expect(execute).to eq(:success) + it "doesn't delete artifacts" do + expect(execute).to eq(:success) - expect(build.reload.artifacts?).to eq(false) - end - end + expect(build.reload.artifacts?).to eq(true) end + end - it 'succeeds' do - expect(project.pages_deployed?).to be_falsey + context 'without expiry date' do + it "does delete artifacts" do expect(execute).to eq(:success) - expect(project.pages_deployed?).to be_truthy - # Check that all expected files are extracted - %w[index.html zero .hidden/file].each do |filename| - expect(File.exist?(File.join(project.public_pages_path, filename))).to be_truthy - end + expect(build.reload.artifacts?).to eq(false) end + end + end - it 'limits pages size' do - stub_application_setting(max_pages_size: 1) - expect(execute).not_to eq(:success) - end + it 'succeeds' do + expect(project.pages_deployed?).to be_falsey + expect(execute).to eq(:success) + expect(project.pages_deployed?).to be_truthy - it 'removes pages after destroy' do - expect(PagesWorker).to receive(:perform_in) - expect(project.pages_deployed?).to be_falsey - expect(execute).to eq(:success) - expect(project.pages_deployed?).to be_truthy - project.destroy - expect(project.pages_deployed?).to be_falsey - end + # Check that all expected files are extracted + %w[index.html zero .hidden/file].each do |filename| + expect(File.exist?(File.join(project.public_pages_path, filename))).to be_truthy + end + end - it 'fails if sha on branch is not latest' do - build.update_attributes(ref: 'feature') + it 'limits pages size' do + stub_application_setting(max_pages_size: 1) + expect(execute).not_to eq(:success) + end - expect(execute).not_to eq(:success) - end + it 'removes pages after destroy' do + expect(PagesWorker).to receive(:perform_in) + expect(project.pages_deployed?).to be_falsey + expect(execute).to eq(:success) + expect(project.pages_deployed?).to be_truthy + project.destroy + expect(project.pages_deployed?).to be_falsey + end - it 'fails for empty file fails' do - build.update_attributes(legacy_artifacts_file: empty_file) + it 'fails if sha on branch is not latest' do + build.update_attributes(ref: 'feature') - expect { execute } - .to raise_error(Projects::UpdatePagesService::FailedToExtractError) - end - end + expect(execute).not_to eq(:success) + end + + it 'fails for empty file fails' do + build.update_attributes(legacy_artifacts_file: empty_file) + + expect { execute } + .to raise_error(Projects::UpdatePagesService::FailedToExtractError) end end -- cgit v1.2.1 From 16b6c46ab1b6f2f001a48cb33aaf3a5cddd1d6eb Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 3 Apr 2018 15:57:36 +0000 Subject: Update jobs_controller.rb --- app/controllers/projects/jobs_controller.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/controllers/projects/jobs_controller.rb b/app/controllers/projects/jobs_controller.rb index a604f623e49..38b97ac1fd3 100644 --- a/app/controllers/projects/jobs_controller.rb +++ b/app/controllers/projects/jobs_controller.rb @@ -129,8 +129,6 @@ class Projects::JobsController < Projects::ApplicationController send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' elsif build.old_trace send_data stream.raw, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' - else - render_404 end end end -- cgit v1.2.1 From 326a8c64538ade3a6d09893fb5d5d78c2a5c3f77 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 3 Apr 2018 15:59:24 +0000 Subject: Update jobs_controller.rb --- app/controllers/projects/jobs_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/projects/jobs_controller.rb b/app/controllers/projects/jobs_controller.rb index 38b97ac1fd3..ac9eb2047a0 100644 --- a/app/controllers/projects/jobs_controller.rb +++ b/app/controllers/projects/jobs_controller.rb @@ -127,7 +127,7 @@ class Projects::JobsController < Projects::ApplicationController build.trace.read do |stream| if stream.file? send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' - elsif build.old_trace + else send_data stream.raw, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' end end -- cgit v1.2.1 From 8ac7ea4301eb9c1c90a592e878ac32154f6eb354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Tue, 3 Apr 2018 19:47:04 +0200 Subject: Set up traces in build show spec --- spec/views/projects/jobs/show.html.haml_spec.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/spec/views/projects/jobs/show.html.haml_spec.rb b/spec/views/projects/jobs/show.html.haml_spec.rb index 6a67da79ec5..64d6ae6d2a3 100644 --- a/spec/views/projects/jobs/show.html.haml_spec.rb +++ b/spec/views/projects/jobs/show.html.haml_spec.rb @@ -18,7 +18,7 @@ describe 'projects/jobs/show' do describe 'environment info in job view' do context 'job with latest deployment' do let(:build) do - create(:ci_build, :success, environment: 'staging') + create(:ci_build, :success, :trace_artifact, environment: 'staging') end before do @@ -37,11 +37,11 @@ describe 'projects/jobs/show' do context 'job with outdated deployment' do let(:build) do - create(:ci_build, :success, environment: 'staging', pipeline: pipeline) + create(:ci_build, :success, :trace_artifact, environment: 'staging', pipeline: pipeline) end let(:second_build) do - create(:ci_build, :success, environment: 'staging', pipeline: pipeline) + create(:ci_build, :success, :trace_artifact, environment: 'staging', pipeline: pipeline) end let(:environment) do @@ -67,7 +67,7 @@ describe 'projects/jobs/show' do context 'job failed to deploy' do let(:build) do - create(:ci_build, :failed, environment: 'staging', pipeline: pipeline) + create(:ci_build, :failed, :trace_artifact, environment: 'staging', pipeline: pipeline) end let!(:environment) do @@ -85,7 +85,7 @@ describe 'projects/jobs/show' do context 'job will deploy' do let(:build) do - create(:ci_build, :running, environment: 'staging', pipeline: pipeline) + create(:ci_build, :running, :trace_live, environment: 'staging', pipeline: pipeline) end context 'when environment exists' do @@ -133,7 +133,7 @@ describe 'projects/jobs/show' do context 'job that failed to deploy and environment has not been created' do let(:build) do - create(:ci_build, :failed, environment: 'staging', pipeline: pipeline) + create(:ci_build, :failed, :trace_artifact, environment: 'staging', pipeline: pipeline) end let!(:environment) do @@ -151,7 +151,7 @@ describe 'projects/jobs/show' do context 'job that will deploy and environment has not been created' do let(:build) do - create(:ci_build, :running, environment: 'staging', pipeline: pipeline) + create(:ci_build, :running, :trace_live, environment: 'staging', pipeline: pipeline) end let!(:environment) do @@ -171,8 +171,9 @@ describe 'projects/jobs/show' do end context 'when job is running' do + let(:build) { create(:ci_build, :trace_live, :running, pipeline: pipeline) } + before do - build.run! render end -- cgit v1.2.1 From 5af00309d3a4d50e89b278981dcd6485ae4e77f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Tue, 3 Apr 2018 20:14:33 +0200 Subject: Properly set up jobs in mini pipeline graph spec --- .../features/merge_request/user_sees_mini_pipeline_graph_spec.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/spec/features/merge_request/user_sees_mini_pipeline_graph_spec.rb b/spec/features/merge_request/user_sees_mini_pipeline_graph_spec.rb index a43ba05c64c..fd1629746ef 100644 --- a/spec/features/merge_request/user_sees_mini_pipeline_graph_spec.rb +++ b/spec/features/merge_request/user_sees_mini_pipeline_graph_spec.rb @@ -9,6 +9,7 @@ describe 'Merge request < User sees mini pipeline graph', :js do before do build.run + build.trace.set('hello') sign_in(user) visit_merge_request end @@ -26,15 +27,15 @@ describe 'Merge request < User sees mini pipeline graph', :js do let(:artifacts_file2) { fixture_file_upload(Rails.root.join('spec/fixtures/dk.png'), 'image/png') } before do - create(:ci_build, pipeline: pipeline, legacy_artifacts_file: artifacts_file1) - create(:ci_build, pipeline: pipeline, when: 'manual') + create(:ci_build, :success, :trace_artifact, pipeline: pipeline, legacy_artifacts_file: artifacts_file1) + create(:ci_build, :manual, pipeline: pipeline, when: 'manual') end it 'avoids repeated database queries' do before = ActiveRecord::QueryRecorder.new { visit_merge_request(format: :json, serializer: 'widget') } - create(:ci_build, pipeline: pipeline, legacy_artifacts_file: artifacts_file2) - create(:ci_build, pipeline: pipeline, when: 'manual') + create(:ci_build, :success, :trace_artifact, pipeline: pipeline, legacy_artifacts_file: artifacts_file2) + create(:ci_build, :manual, pipeline: pipeline, when: 'manual') after = ActiveRecord::QueryRecorder.new { visit_merge_request(format: :json, serializer: 'widget') } -- cgit v1.2.1 From ff1383fb11267996bf040260513e6d3d8f468def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Tue, 3 Apr 2018 20:17:26 +0200 Subject: Properly set up job trace in user_browses_job_spec --- spec/features/projects/jobs/user_browses_job_spec.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/spec/features/projects/jobs/user_browses_job_spec.rb b/spec/features/projects/jobs/user_browses_job_spec.rb index 4c49cff30d4..8fa902cc386 100644 --- a/spec/features/projects/jobs/user_browses_job_spec.rb +++ b/spec/features/projects/jobs/user_browses_job_spec.rb @@ -1,16 +1,14 @@ require 'spec_helper' describe 'User browses a job', :js do - let!(:build) { create(:ci_build, :running, :coverage, pipeline: pipeline) } - let(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.sha, ref: 'master') } - let(:project) { create(:project, :repository, namespace: user.namespace) } let(:user) { create(:user) } + let(:project) { create(:project, :repository, namespace: user.namespace) } + let(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.sha, ref: 'master') } + let!(:build) { create(:ci_build, :success, :trace_artifact, :coverage, pipeline: pipeline) } before do project.add_master(user) project.enable_ci - build.success - build.trace.set('job trace') sign_in(user) -- cgit v1.2.1 From c1b71e2fa1e49da82b15ee7f12148a372face09c Mon Sep 17 00:00:00 2001 From: Jan Provaznik Date: Fri, 23 Mar 2018 15:27:15 +0100 Subject: Check if at least one filter is set on dashboard When listing issues and merge requests on dasboard page, make sure that at least one filter is enabled. User's id is used in search autocomplete widget instead of username, which allows presetting user in filter dropdowns. Related to #43246 --- app/assets/javascripts/search_autocomplete.js | 8 ++++---- app/controllers/dashboard_controller.rb | 14 +++++++++++++ app/helpers/application_helper.rb | 2 -- app/helpers/issuables_helper.rb | 24 ++++++---------------- app/views/dashboard/issues.html.haml | 2 +- app/views/dashboard/merge_requests.html.haml | 2 +- app/views/shared/issuable/_filter.html.haml | 4 ---- app/views/shared/issuable/_nav.html.haml | 11 +++++----- spec/controllers/dashboard_controller_spec.rb | 2 ++ spec/features/dashboard/issues_spec.rb | 9 -------- .../issuables_list_metadata_shared_examples.rb | 8 ++++---- .../issuables_requiring_filter_shared_examples.rb | 15 ++++++++++++++ 12 files changed, 53 insertions(+), 48 deletions(-) create mode 100644 spec/support/issuables_requiring_filter_shared_examples.rb diff --git a/app/assets/javascripts/search_autocomplete.js b/app/assets/javascripts/search_autocomplete.js index 7dd3e9858c6..2da022fde63 100644 --- a/app/assets/javascripts/search_autocomplete.js +++ b/app/assets/javascripts/search_autocomplete.js @@ -233,21 +233,21 @@ export default class SearchAutocomplete { const issueItems = [ { text: 'Issues assigned to me', - url: `${issuesPath}/?assignee_username=${userName}`, + url: `${issuesPath}/?assignee_id=${userId}`, }, { text: "Issues I've created", - url: `${issuesPath}/?author_username=${userName}`, + url: `${issuesPath}/?author_id=${userId}`, }, ]; const mergeRequestItems = [ { text: 'Merge requests assigned to me', - url: `${mrPath}/?assignee_username=${userName}`, + url: `${mrPath}/?assignee_id=${userId}`, }, { text: "Merge requests I've created", - url: `${mrPath}/?author_username=${userName}`, + url: `${mrPath}/?author_id=${userId}`, }, ]; diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index 280ed93faf8..d228956d8e3 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -2,9 +2,17 @@ class DashboardController < Dashboard::ApplicationController include IssuesAction include MergeRequestsAction + FILTER_PARAMS = [ + :author_id, + :assignee_id, + :milestone_title, + :label_name + ].freeze + before_action :event_filter, only: :activity before_action :projects, only: [:issues, :merge_requests] before_action :set_show_full_reference, only: [:issues, :merge_requests] + before_action :check_filters_presence, only: [:issues, :merge_requests] respond_to :html @@ -39,4 +47,10 @@ class DashboardController < Dashboard::ApplicationController def set_show_full_reference @show_full_reference = true end + + def check_filters_presence + @no_filters_set = FILTER_PARAMS.none? { |k| params.key?(k) } + + render action: action_name if @no_filters_set + end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 86ec500ceb3..228c8d2e8f9 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -228,9 +228,7 @@ module ApplicationHelper scope: params[:scope], milestone_title: params[:milestone_title], assignee_id: params[:assignee_id], - assignee_username: params[:assignee_username], author_id: params[:author_id], - author_username: params[:author_username], search: params[:search], label_name: params[:label_name] } diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb index 6d6b840f485..06c3e569c84 100644 --- a/app/helpers/issuables_helper.rb +++ b/app/helpers/issuables_helper.rb @@ -159,16 +159,18 @@ module IssuablesHelper label_names.join(', ') end - def issuables_state_counter_text(issuable_type, state) + def issuables_state_counter_text(issuable_type, state, display_count) titles = { opened: "Open" } state_title = titles[state] || state.to_s.humanize - count = issuables_count_for_state(issuable_type, state) - html = content_tag(:span, state_title) - html << " " << content_tag(:span, number_with_delimiter(count), class: 'badge') + + if display_count + count = issuables_count_for_state(issuable_type, state) + html << " " << content_tag(:span, number_with_delimiter(count), class: 'badge') + end html.html_safe end @@ -191,24 +193,10 @@ module IssuablesHelper end end - def issuable_filter_params - [ - :search, - :author_id, - :assignee_id, - :milestone_title, - :label_name - ] - end - def issuable_reference(issuable) @show_full_reference ? issuable.to_reference(full: true) : issuable.to_reference(@group || @project) end - def issuable_filter_present? - issuable_filter_params.any? { |k| params.key?(k) } - end - def issuable_initial_data(issuable) data = { endpoint: issuable_path(issuable), diff --git a/app/views/dashboard/issues.html.haml b/app/views/dashboard/issues.html.haml index 3e85535dae0..24d69b56c20 100644 --- a/app/views/dashboard/issues.html.haml +++ b/app/views/dashboard/issues.html.haml @@ -5,7 +5,7 @@ = auto_discovery_link_tag(:atom, params.merge(rss_url_options), title: "#{current_user.name} issues") .top-area - = render 'shared/issuable/nav', type: :issues + = render 'shared/issuable/nav', type: :issues, display_count: !@no_filters_set .nav-controls = link_to params.merge(rss_url_options), class: 'btn has-tooltip', data: { container: 'body' }, title: 'Subscribe' do = icon('rss') diff --git a/app/views/dashboard/merge_requests.html.haml b/app/views/dashboard/merge_requests.html.haml index 53cd1130299..fb57ec7835c 100644 --- a/app/views/dashboard/merge_requests.html.haml +++ b/app/views/dashboard/merge_requests.html.haml @@ -3,7 +3,7 @@ - header_title "Merge Requests", merge_requests_dashboard_path(assignee_id: current_user.id) .top-area - = render 'shared/issuable/nav', type: :merge_requests + = render 'shared/issuable/nav', type: :merge_requests, display_count: !@no_filters_set .nav-controls = render 'shared/new_project_item_select', path: 'merge_requests/new', label: "New merge request", with_feature_enabled: 'merge_requests', type: :merge_requests diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml index 7704c88905b..58b37290cd5 100644 --- a/app/views/shared/issuable/_filter.html.haml +++ b/app/views/shared/issuable/_filter.html.haml @@ -24,10 +24,6 @@ .filter-item.inline.labels-filter = render "shared/issuable/label_dropdown", selected: selected_labels, use_id: false, selected_toggle: params[:label_name], data_options: { field_name: "label_name[]" } - - if issuable_filter_present? - .filter-item.inline.reset-filters - %a{ href: page_filter_path(without: issuable_filter_params) } Reset filters - .pull-right = render 'shared/sort_dropdown' diff --git a/app/views/shared/issuable/_nav.html.haml b/app/views/shared/issuable/_nav.html.haml index 4d8109eb90c..a5f40ea934b 100644 --- a/app/views/shared/issuable/_nav.html.haml +++ b/app/views/shared/issuable/_nav.html.haml @@ -1,22 +1,23 @@ - type = local_assigns.fetch(:type, :issues) - page_context_word = type.to_s.humanize(capitalize: false) +- display_count = local_assigns.fetch(:display_count, :true) %ul.nav-links.issues-state-filters.mobile-separator %li{ class: active_when(params[:state] == 'opened') }> = link_to page_filter_path(state: 'opened', label: true), id: 'state-opened', title: "Filter by #{page_context_word} that are currently opened.", data: { state: 'opened' } do - #{issuables_state_counter_text(type, :opened)} + #{issuables_state_counter_text(type, :opened, display_count)} - if type == :merge_requests %li{ class: active_when(params[:state] == 'merged') }> = link_to page_filter_path(state: 'merged', label: true), id: 'state-merged', title: 'Filter by merge requests that are currently merged.', data: { state: 'merged' } do - #{issuables_state_counter_text(type, :merged)} + #{issuables_state_counter_text(type, :merged, display_count)} %li{ class: active_when(params[:state] == 'closed') }> = link_to page_filter_path(state: 'closed', label: true), id: 'state-closed', title: 'Filter by merge requests that are currently closed and unmerged.', data: { state: 'closed' } do - #{issuables_state_counter_text(type, :closed)} + #{issuables_state_counter_text(type, :closed, display_count)} - else %li{ class: active_when(params[:state] == 'closed') }> = link_to page_filter_path(state: 'closed', label: true), id: 'state-closed', title: 'Filter by issues that are currently closed.', data: { state: 'closed' } do - #{issuables_state_counter_text(type, :closed)} + #{issuables_state_counter_text(type, :closed, display_count)} - = render 'shared/issuable/nav_links/all', page_context_word: page_context_word, counter: issuables_state_counter_text(type, :all) + = render 'shared/issuable/nav_links/all', page_context_word: page_context_word, counter: issuables_state_counter_text(type, :all, display_count) diff --git a/spec/controllers/dashboard_controller_spec.rb b/spec/controllers/dashboard_controller_spec.rb index 97c2c3fb940..3458d679107 100644 --- a/spec/controllers/dashboard_controller_spec.rb +++ b/spec/controllers/dashboard_controller_spec.rb @@ -11,9 +11,11 @@ describe DashboardController do describe 'GET issues' do it_behaves_like 'issuables list meta-data', :issue, :issues + it_behaves_like 'issuables requiring filter', :issues end describe 'GET merge requests' do it_behaves_like 'issuables list meta-data', :merge_request, :merge_requests + it_behaves_like 'issuables requiring filter', :merge_requests end end diff --git a/spec/features/dashboard/issues_spec.rb b/spec/features/dashboard/issues_spec.rb index 8d1d5a51750..e41a2e4ce09 100644 --- a/spec/features/dashboard/issues_spec.rb +++ b/spec/features/dashboard/issues_spec.rb @@ -51,15 +51,6 @@ RSpec.describe 'Dashboard Issues' do expect(page).not_to have_content(other_issue.title) end - it 'shows all issues' do - click_link('Reset filters') - - expect(page).to have_content(authored_issue.title) - expect(page).to have_content(authored_issue_on_public_project.title) - expect(page).to have_content(assigned_issue.title) - expect(page).to have_content(other_issue.title) - end - it 'state filter tabs work' do find('#state-closed').click expect(page).to have_current_path(issues_dashboard_url(assignee_id: current_user.id, state: 'closed'), url: true) diff --git a/spec/support/issuables_list_metadata_shared_examples.rb b/spec/support/issuables_list_metadata_shared_examples.rb index 75982432ab4..e61983c60b4 100644 --- a/spec/support/issuables_list_metadata_shared_examples.rb +++ b/spec/support/issuables_list_metadata_shared_examples.rb @@ -5,9 +5,9 @@ shared_examples 'issuables list meta-data' do |issuable_type, action = nil| %w[fix improve/awesome].each do |source_branch| issuable = if issuable_type == :issue - create(issuable_type, project: project) + create(issuable_type, project: project, author: project.creator) else - create(issuable_type, source_project: project, source_branch: source_branch) + create(issuable_type, source_project: project, source_branch: source_branch, author: project.creator) end @issuable_ids << issuable.id @@ -16,7 +16,7 @@ shared_examples 'issuables list meta-data' do |issuable_type, action = nil| it "creates indexed meta-data object for issuable notes and votes count" do if action - get action + get action, author_id: project.creator.id else get :index, namespace_id: project.namespace, project_id: project end @@ -35,7 +35,7 @@ shared_examples 'issuables list meta-data' do |issuable_type, action = nil| it "doesn't execute any queries with false conditions" do get_action = if action - proc { get action } + proc { get action, author_id: project.creator.id } else proc { get :index, namespace_id: project2.namespace, project_id: project2 } end diff --git a/spec/support/issuables_requiring_filter_shared_examples.rb b/spec/support/issuables_requiring_filter_shared_examples.rb new file mode 100644 index 00000000000..439ef5ed92e --- /dev/null +++ b/spec/support/issuables_requiring_filter_shared_examples.rb @@ -0,0 +1,15 @@ +shared_examples 'issuables requiring filter' do |action| + it "doesn't load any issuables if no filter is set" do + expect_any_instance_of(described_class).not_to receive(:issuables_collection) + + get action + + expect(response).to render_template(action) + end + + it "loads issuables if at least one filter is set" do + expect_any_instance_of(described_class).to receive(:issuables_collection).and_call_original + + get action, author_id: user.id + end +end -- cgit v1.2.1 From a32941aee32ddfd7b114011f951741e06a53be5d Mon Sep 17 00:00:00 2001 From: Winnie Hellmann Date: Thu, 29 Mar 2018 13:43:53 +0200 Subject: Display illustration and message if no filter is selected --- app/assets/stylesheets/framework/images.scss | 2 +- app/views/dashboard/issues.html.haml | 6 +++++- app/views/dashboard/merge_requests.html.haml | 6 +++++- app/views/shared/dashboard/_no_filter_selected.html.haml | 8 ++++++++ app/views/shared/issuable/_filter.html.haml | 5 +++-- 5 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 app/views/shared/dashboard/_no_filter_selected.html.haml diff --git a/app/assets/stylesheets/framework/images.scss b/app/assets/stylesheets/framework/images.scss index df1cafc9f8e..62a0fba3da3 100644 --- a/app/assets/stylesheets/framework/images.scss +++ b/app/assets/stylesheets/framework/images.scss @@ -20,7 +20,7 @@ width: 100%; } - $image-widths: 80 250 306 394 430; + $image-widths: 80 130 250 306 394 430; @each $width in $image-widths { &.svg-#{$width} { img, diff --git a/app/views/dashboard/issues.html.haml b/app/views/dashboard/issues.html.haml index 24d69b56c20..35bf92a0d07 100644 --- a/app/views/dashboard/issues.html.haml +++ b/app/views/dashboard/issues.html.haml @@ -12,4 +12,8 @@ = render 'shared/new_project_item_select', path: 'issues/new', label: "New issue", with_feature_enabled: 'issues', type: :issues = render 'shared/issuable/filter', type: :issues -= render 'shared/issues' + +- if current_user && @no_filters_set + = render 'shared/dashboard/no_filter_selected' +- else + = render 'shared/issues' diff --git a/app/views/dashboard/merge_requests.html.haml b/app/views/dashboard/merge_requests.html.haml index fb57ec7835c..7b69a6f5d0f 100644 --- a/app/views/dashboard/merge_requests.html.haml +++ b/app/views/dashboard/merge_requests.html.haml @@ -8,4 +8,8 @@ = render 'shared/new_project_item_select', path: 'merge_requests/new', label: "New merge request", with_feature_enabled: 'merge_requests', type: :merge_requests = render 'shared/issuable/filter', type: :merge_requests -= render 'shared/merge_requests' + +- if current_user && @no_filters_set + = render 'shared/dashboard/no_filter_selected' +- else + = render 'shared/merge_requests' diff --git a/app/views/shared/dashboard/_no_filter_selected.html.haml b/app/views/shared/dashboard/_no_filter_selected.html.haml new file mode 100644 index 00000000000..e5c2f5b2346 --- /dev/null +++ b/app/views/shared/dashboard/_no_filter_selected.html.haml @@ -0,0 +1,8 @@ +.row.empty-state.text-center + .col-xs-12 + .svg-130 + = image_tag 'illustrations/issue-dashboard_results-without-filter.svg' + .col-xs-12 + .text-content + %h4 + = _("Please select at least one filter to see results") diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml index 58b37290cd5..994198e2f69 100644 --- a/app/views/shared/issuable/_filter.html.haml +++ b/app/views/shared/issuable/_filter.html.haml @@ -24,8 +24,9 @@ .filter-item.inline.labels-filter = render "shared/issuable/label_dropdown", selected: selected_labels, use_id: false, selected_toggle: params[:label_name], data_options: { field_name: "label_name[]" } - .pull-right - = render 'shared/sort_dropdown' + - if !@no_filters_set + .pull-right + = render 'shared/sort_dropdown' - has_labels = @labels && @labels.any? .row-content-block.second-block.filtered-labels{ class: ("hidden" unless has_labels) } -- cgit v1.2.1 From d10416e231a27c63c322ba7338f2ea8279436336 Mon Sep 17 00:00:00 2001 From: Jan Provaznik Date: Tue, 27 Mar 2018 17:29:13 +0200 Subject: Fixed dashboard filtering tests --- app/controllers/dashboard_controller.rb | 11 +- changelogs/unreleased/43246-checkfilter.yml | 6 + spec/features/atom/dashboard_issues_spec.rb | 17 ++- spec/features/dashboard/issues_filter_spec.rb | 32 +++--- spec/features/dashboard/merge_requests_spec.rb | 8 +- .../search/user_uses_header_search_field_spec.rb | 127 ++++++++++++++------- spec/helpers/issuables_helper_spec.rb | 29 +---- spec/javascripts/search_autocomplete_spec.js | 8 +- 8 files changed, 137 insertions(+), 101 deletions(-) create mode 100644 changelogs/unreleased/43246-checkfilter.yml diff --git a/app/controllers/dashboard_controller.rb b/app/controllers/dashboard_controller.rb index d228956d8e3..68d328fa797 100644 --- a/app/controllers/dashboard_controller.rb +++ b/app/controllers/dashboard_controller.rb @@ -12,7 +12,7 @@ class DashboardController < Dashboard::ApplicationController before_action :event_filter, only: :activity before_action :projects, only: [:issues, :merge_requests] before_action :set_show_full_reference, only: [:issues, :merge_requests] - before_action :check_filters_presence, only: [:issues, :merge_requests] + before_action :check_filters_presence!, only: [:issues, :merge_requests] respond_to :html @@ -48,9 +48,14 @@ class DashboardController < Dashboard::ApplicationController @show_full_reference = true end - def check_filters_presence + def check_filters_presence! @no_filters_set = FILTER_PARAMS.none? { |k| params.key?(k) } - render action: action_name if @no_filters_set + return unless @no_filters_set + + respond_to do |format| + format.html + format.atom { head :bad_request } + end end end diff --git a/changelogs/unreleased/43246-checkfilter.yml b/changelogs/unreleased/43246-checkfilter.yml new file mode 100644 index 00000000000..e6c0e716213 --- /dev/null +++ b/changelogs/unreleased/43246-checkfilter.yml @@ -0,0 +1,6 @@ +--- +title: Require at least one filter when listing issues or merge requests on dashboard + page +merge_request: +author: +type: performance diff --git a/spec/features/atom/dashboard_issues_spec.rb b/spec/features/atom/dashboard_issues_spec.rb index d673bac4995..fb6c71ce997 100644 --- a/spec/features/atom/dashboard_issues_spec.rb +++ b/spec/features/atom/dashboard_issues_spec.rb @@ -13,17 +13,26 @@ describe "Dashboard Issues Feed" do end describe "atom feed" do - it "renders atom feed via personal access token" do + it "returns 400 if no filter is used" do personal_access_token = create(:personal_access_token, user: user) visit issues_dashboard_path(:atom, private_token: personal_access_token.token) + expect(response_headers['Content-Type']).to have_content('application/atom+xml') + expect(page.status_code).to eq(400) + end + + it "renders atom feed via personal access token" do + personal_access_token = create(:personal_access_token, user: user) + + visit issues_dashboard_path(:atom, private_token: personal_access_token.token, assignee_id: user.id) + expect(response_headers['Content-Type']).to have_content('application/atom+xml') expect(body).to have_selector('title', text: "#{user.name} issues") end it "renders atom feed via RSS token" do - visit issues_dashboard_path(:atom, rss_token: user.rss_token) + visit issues_dashboard_path(:atom, rss_token: user.rss_token, assignee_id: user.id) expect(response_headers['Content-Type']).to have_content('application/atom+xml') expect(body).to have_selector('title', text: "#{user.name} issues") @@ -44,7 +53,7 @@ describe "Dashboard Issues Feed" do let!(:issue2) { create(:issue, author: user, assignees: [assignee], project: project2, description: 'test desc') } it "renders issue fields" do - visit issues_dashboard_path(:atom, rss_token: user.rss_token) + visit issues_dashboard_path(:atom, rss_token: user.rss_token, assignee_id: assignee.id) entry = find(:xpath, "//feed/entry[contains(summary/text(),'#{issue2.title}')]") @@ -67,7 +76,7 @@ describe "Dashboard Issues Feed" do end it "renders issue label and milestone info" do - visit issues_dashboard_path(:atom, rss_token: user.rss_token) + visit issues_dashboard_path(:atom, rss_token: user.rss_token, assignee_id: assignee.id) entry = find(:xpath, "//feed/entry[contains(summary/text(),'#{issue1.title}')]") diff --git a/spec/features/dashboard/issues_filter_spec.rb b/spec/features/dashboard/issues_filter_spec.rb index 029fc45c791..b15f3afca4a 100644 --- a/spec/features/dashboard/issues_filter_spec.rb +++ b/spec/features/dashboard/issues_filter_spec.rb @@ -17,6 +17,12 @@ feature 'Dashboard Issues filtering', :js do visit_issues end + context 'without any filter' do + it 'shows error message' do + expect(page).to have_content 'Please select at least one filter to see results' + end + end + context 'filtering by milestone' do it 'shows all issues with no milestone' do show_milestone_dropdown @@ -27,15 +33,6 @@ feature 'Dashboard Issues filtering', :js do expect(page).to have_selector('.issue', count: 1) end - it 'shows all issues with any milestone' do - show_milestone_dropdown - - click_link 'Any Milestone' - - expect(page).to have_issuable_counts(open: 2, closed: 0, all: 2) - expect(page).to have_selector('.issue', count: 2) - end - it 'shows all issues with the selected milestone' do show_milestone_dropdown @@ -68,13 +65,6 @@ feature 'Dashboard Issues filtering', :js do let(:label) { create(:label, project: project) } let!(:label_link) { create(:label_link, label: label, target: issue) } - it 'shows all issues without filter' do - page.within 'ul.content-list' do - expect(page).to have_content issue.title - expect(page).to have_content issue2.title - end - end - it 'shows all issues with the selected label' do page.within '.labels-filter' do find('.dropdown').click @@ -89,9 +79,19 @@ feature 'Dashboard Issues filtering', :js do end context 'sorting' do +<<<<<<< HEAD it 'shows sorted issues' do sort_by('Created date') visit_issues +======= + before do + visit_issues(assignee_id: user.id) + end + + it 'remembers last sorting value' do + sorting_by('Created date') + visit_issues(assignee_id: user.id) +>>>>>>> Fixed dashboard filtering tests expect(find('.issues-filters')).to have_content('Created date') end diff --git a/spec/features/dashboard/merge_requests_spec.rb b/spec/features/dashboard/merge_requests_spec.rb index 4a9344115d2..0965b745c03 100644 --- a/spec/features/dashboard/merge_requests_spec.rb +++ b/spec/features/dashboard/merge_requests_spec.rb @@ -103,15 +103,11 @@ feature 'Dashboard Merge Requests' do expect(page).not_to have_content(other_merge_request.title) end - it 'shows all merge requests', :js do + it 'shows error message without filter', :js do filter_item_select('Any Assignee', '.js-assignee-search') filter_item_select('Any Author', '.js-author-search') - expect(page).to have_content(authored_merge_request.title) - expect(page).to have_content(authored_merge_request_from_fork.title) - expect(page).to have_content(assigned_merge_request.title) - expect(page).to have_content(assigned_merge_request_from_fork.title) - expect(page).to have_content(other_merge_request.title) + expect(page).to have_content('Please select at least one filter to see results') end it 'shows sorted merge requests' do diff --git a/spec/features/search/user_uses_header_search_field_spec.rb b/spec/features/search/user_uses_header_search_field_spec.rb index 5ddea36add5..a9128104b87 100644 --- a/spec/features/search/user_uses_header_search_field_spec.rb +++ b/spec/features/search/user_uses_header_search_field_spec.rb @@ -9,49 +9,25 @@ describe 'User uses header search field' do before do project.add_reporter(user) sign_in(user) - - visit(project_path(project)) - end - - it 'starts searching by pressing the enter key', :js do - fill_in('search', with: 'gitlab') - find('#search').native.send_keys(:enter) - - page.within('.breadcrumbs-sub-title') do - expect(page).to have_content('Search') - end end - it 'contains location badge' do - expect(page).to have_selector('.has-location-badge') - end - - context 'when clicking the search field', :js do + context 'when user is in a global scope', :js do before do + visit(root_path) page.find('#search').click end - it 'shows category search dropdown' do - expect(page).to have_selector('.dropdown-header', text: /#{project.name}/i) - end - context 'when clicking issues' do - let!(:issue) { create(:issue, project: project, author: user, assignees: [user]) } - it 'shows assigned issues' do - find('.dropdown-menu').click_link('Issues assigned to me') + find('.search-input-container .dropdown-menu').click_link('Issues assigned to me') - expect(page).to have_selector('.filtered-search') - expect_tokens([assignee_token(user.name)]) - expect_filtered_search_input_empty + expect(find('.js-assignee-search')).to have_content(user.name) end it 'shows created issues' do - find('.dropdown-menu').click_link("Issues I've created") + find('.search-input-container .dropdown-menu').click_link("Issues I've created") - expect(page).to have_selector('.filtered-search') - expect_tokens([author_token(user.name)]) - expect_filtered_search_input_empty + expect(find('.js-author-search')).to have_content(user.name) end end @@ -59,32 +35,97 @@ describe 'User uses header search field' do let!(:merge_request) { create(:merge_request, source_project: project, author: user, assignee: user) } it 'shows assigned merge requests' do - find('.dropdown-menu').click_link('Merge requests assigned to me') + find('.search-input-container .dropdown-menu').click_link('Merge requests assigned to me') - expect(page).to have_selector('.merge-requests-holder') - expect_tokens([assignee_token(user.name)]) - expect_filtered_search_input_empty + expect(find('.js-assignee-search')).to have_content(user.name) end it 'shows created merge requests' do - find('.dropdown-menu').click_link("Merge requests I've created") + find('.search-input-container .dropdown-menu').click_link("Merge requests I've created") - expect(page).to have_selector('.merge-requests-holder') - expect_tokens([author_token(user.name)]) - expect_filtered_search_input_empty + expect(find('.js-author-search')).to have_content(user.name) end end end - context 'when entering text into the search field', :js do + context 'when user is in a project scope' do before do - page.within('.search-input-wrap') do - fill_in('search', with: project.name[0..3]) + visit(project_path(project)) + end + + it 'starts searching by pressing the enter key', :js do + fill_in('search', with: 'gitlab') + find('#search').native.send_keys(:enter) + + page.within('.breadcrumbs-sub-title') do + expect(page).to have_content('Search') end end - it 'does not display the category search dropdown' do - expect(page).not_to have_selector('.dropdown-header', text: /#{project.name}/i) + it 'contains location badge' do + expect(page).to have_selector('.has-location-badge') + end + + context 'when clicking the search field', :js do + before do + page.find('#search').click + end + + it 'shows category search dropdown' do + expect(page).to have_selector('.dropdown-header', text: /#{project.name}/i) + end + + context 'when clicking issues' do + let!(:issue) { create(:issue, project: project, author: user, assignees: [user]) } + + it 'shows assigned issues' do + find('.dropdown-menu').click_link('Issues assigned to me') + + expect(page).to have_selector('.filtered-search') + expect_tokens([assignee_token(user.name)]) + expect_filtered_search_input_empty + end + + it 'shows created issues' do + find('.dropdown-menu').click_link("Issues I've created") + + expect(page).to have_selector('.filtered-search') + expect_tokens([author_token(user.name)]) + expect_filtered_search_input_empty + end + end + + context 'when clicking merge requests' do + let!(:merge_request) { create(:merge_request, source_project: project, author: user, assignee: user) } + + it 'shows assigned merge requests' do + find('.dropdown-menu').click_link('Merge requests assigned to me') + + expect(page).to have_selector('.merge-requests-holder') + expect_tokens([assignee_token(user.name)]) + expect_filtered_search_input_empty + end + + it 'shows created merge requests' do + find('.dropdown-menu').click_link("Merge requests I've created") + + expect(page).to have_selector('.merge-requests-holder') + expect_tokens([author_token(user.name)]) + expect_filtered_search_input_empty + end + end + end + + context 'when entering text into the search field', :js do + before do + page.within('.search-input-wrap') do + fill_in('search', with: project.name[0..3]) + end + end + + it 'does not display the category search dropdown' do + expect(page).not_to have_selector('.dropdown-header', text: /#{project.name}/i) + end end end end diff --git a/spec/helpers/issuables_helper_spec.rb b/spec/helpers/issuables_helper_spec.rb index 2fecd1a3d27..4224cea4652 100644 --- a/spec/helpers/issuables_helper_spec.rb +++ b/spec/helpers/issuables_helper_spec.rb @@ -40,22 +40,22 @@ describe IssuablesHelper do end it 'returns "Open" when state is :opened' do - expect(helper.issuables_state_counter_text(:issues, :opened)) + expect(helper.issuables_state_counter_text(:issues, :opened, true)) .to eq('Open 42') end it 'returns "Closed" when state is :closed' do - expect(helper.issuables_state_counter_text(:issues, :closed)) + expect(helper.issuables_state_counter_text(:issues, :closed, true)) .to eq('Closed 42') end it 'returns "Merged" when state is :merged' do - expect(helper.issuables_state_counter_text(:merge_requests, :merged)) + expect(helper.issuables_state_counter_text(:merge_requests, :merged, true)) .to eq('Merged 42') end it 'returns "All" when state is :all' do - expect(helper.issuables_state_counter_text(:merge_requests, :all)) + expect(helper.issuables_state_counter_text(:merge_requests, :all, true)) .to eq('All 42') end end @@ -101,27 +101,6 @@ describe IssuablesHelper do end end - describe '#issuable_filter_present?' do - it 'returns true when any key is present' do - allow(helper).to receive(:params).and_return( - ActionController::Parameters.new(milestone_title: 'Velit consectetur asperiores natus delectus.', - project_id: 'gitlabhq', - scope: 'all') - ) - - expect(helper.issuable_filter_present?).to be_truthy - end - - it 'returns false when no key is present' do - allow(helper).to receive(:params).and_return( - ActionController::Parameters.new(project_id: 'gitlabhq', - scope: 'all') - ) - - expect(helper.issuable_filter_present?).to be_falsey - end - end - describe '#updated_at_by' do let(:user) { create(:user) } let(:unedited_issuable) { create(:issue) } diff --git a/spec/javascripts/search_autocomplete_spec.js b/spec/javascripts/search_autocomplete_spec.js index 40115792652..ac47f14ab46 100644 --- a/spec/javascripts/search_autocomplete_spec.js +++ b/spec/javascripts/search_autocomplete_spec.js @@ -98,8 +98,8 @@ import * as urlUtils from '~/lib/utils/url_utility'; assertLinks = function(list, issuesPath, mrsPath) { var a1, a2, a3, a4, issuesAssignedToMeLink, issuesIHaveCreatedLink, mrsAssignedToMeLink, mrsIHaveCreatedLink; if (issuesPath) { - issuesAssignedToMeLink = issuesPath + "/?assignee_username=" + userName; - issuesIHaveCreatedLink = issuesPath + "/?author_username=" + userName; + issuesAssignedToMeLink = issuesPath + "/?assignee_id=" + userId; + issuesIHaveCreatedLink = issuesPath + "/?author_id=" + userId; a1 = "a[href='" + issuesAssignedToMeLink + "']"; a2 = "a[href='" + issuesIHaveCreatedLink + "']"; expect(list.find(a1).length).toBe(1); @@ -107,8 +107,8 @@ import * as urlUtils from '~/lib/utils/url_utility'; expect(list.find(a2).length).toBe(1); expect(list.find(a2).text()).toBe("Issues I've created"); } - mrsAssignedToMeLink = mrsPath + "/?assignee_username=" + userName; - mrsIHaveCreatedLink = mrsPath + "/?author_username=" + userName; + mrsAssignedToMeLink = mrsPath + "/?assignee_id=" + userId; + mrsIHaveCreatedLink = mrsPath + "/?author_id=" + userId; a3 = "a[href='" + mrsAssignedToMeLink + "']"; a4 = "a[href='" + mrsIHaveCreatedLink + "']"; expect(list.find(a3).length).toBe(1); -- cgit v1.2.1 From d343ef8bcee69b81190f52aded3f0ae217ffdc94 Mon Sep 17 00:00:00 2001 From: Winnie Hellmann Date: Tue, 3 Apr 2018 20:19:51 +0200 Subject: Resolve conflicts in issues_filter_spec.rb --- spec/features/dashboard/issues_filter_spec.rb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/spec/features/dashboard/issues_filter_spec.rb b/spec/features/dashboard/issues_filter_spec.rb index b15f3afca4a..bab34ac9346 100644 --- a/spec/features/dashboard/issues_filter_spec.rb +++ b/spec/features/dashboard/issues_filter_spec.rb @@ -79,19 +79,13 @@ feature 'Dashboard Issues filtering', :js do end context 'sorting' do -<<<<<<< HEAD - it 'shows sorted issues' do - sort_by('Created date') - visit_issues -======= before do visit_issues(assignee_id: user.id) end it 'remembers last sorting value' do - sorting_by('Created date') + sort_by('Created date') visit_issues(assignee_id: user.id) ->>>>>>> Fixed dashboard filtering tests expect(find('.issues-filters')).to have_content('Created date') end -- cgit v1.2.1 From d7f81b7e5def5b241c9bf7ba35a8b6c0f55a686e Mon Sep 17 00:00:00 2001 From: Winnie Hellmann Date: Wed, 4 Apr 2018 15:39:17 +0200 Subject: Increase top margin of illustration --- app/views/shared/dashboard/_no_filter_selected.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/shared/dashboard/_no_filter_selected.html.haml b/app/views/shared/dashboard/_no_filter_selected.html.haml index e5c2f5b2346..b2e6967f6aa 100644 --- a/app/views/shared/dashboard/_no_filter_selected.html.haml +++ b/app/views/shared/dashboard/_no_filter_selected.html.haml @@ -1,6 +1,6 @@ .row.empty-state.text-center .col-xs-12 - .svg-130 + .svg-130.prepend-top-default = image_tag 'illustrations/issue-dashboard_results-without-filter.svg' .col-xs-12 .text-content -- cgit v1.2.1 From 75f8a45f6a202aa5bec00613dcd16573fc1cc46a Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Wed, 4 Apr 2018 19:28:53 +0100 Subject: Scrolls to the top of the page before erase click --- spec/features/projects/jobs/user_browses_job_spec.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spec/features/projects/jobs/user_browses_job_spec.rb b/spec/features/projects/jobs/user_browses_job_spec.rb index 8fa902cc386..a728e6eb996 100644 --- a/spec/features/projects/jobs/user_browses_job_spec.rb +++ b/spec/features/projects/jobs/user_browses_job_spec.rb @@ -2,6 +2,7 @@ require 'spec_helper' describe 'User browses a job', :js do let(:user) { create(:user) } + let(:user_access_level) { :developer } let(:project) { create(:project, :repository, namespace: user.namespace) } let(:pipeline) { create(:ci_empty_pipeline, project: project, sha: project.commit.sha, ref: 'master') } let!(:build) { create(:ci_build, :success, :trace_artifact, :coverage, pipeline: pipeline) } @@ -19,7 +20,9 @@ describe 'User browses a job', :js do expect(page).to have_content("Job ##{build.id}") expect(page).to have_css('#build-trace') - accept_confirm { click_link('Erase') } + # scroll to the top of the page first + execute_script "window.scrollTo(0,0)" + accept_confirm { find('.js-erase-link').click } expect(page).to have_no_css('.artifacts') expect(build).not_to have_trace -- cgit v1.2.1 From d883fe1cce01f53a3acc442e8b94ca20540e0525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 4 Apr 2018 21:00:32 +0200 Subject: Add success CI Build empty state status --- lib/gitlab/ci/status/build/factory.rb | 3 ++- lib/gitlab/ci/status/build/success.rb | 21 ++++++++++++++++ spec/lib/gitlab/ci/status/build/factory_spec.rb | 16 ++++++++++++ spec/lib/gitlab/ci/status/build/success_spec.rb | 33 +++++++++++++++++++++++++ 4 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 lib/gitlab/ci/status/build/success.rb create mode 100644 spec/lib/gitlab/ci/status/build/success_spec.rb diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb index b809a9cf766..d3a34384f6f 100644 --- a/lib/gitlab/ci/status/build/factory.rb +++ b/lib/gitlab/ci/status/build/factory.rb @@ -8,7 +8,8 @@ module Gitlab Status::Build::Canceled, Status::Build::Created, Status::Build::Pending, - Status::Build::Skipped], + Status::Build::Skipped, + Status::Build::Success], [Status::Build::Cancelable, Status::Build::Retryable], [Status::Build::FailedAllowed, diff --git a/lib/gitlab/ci/status/build/success.rb b/lib/gitlab/ci/status/build/success.rb new file mode 100644 index 00000000000..bafc1b2f93a --- /dev/null +++ b/lib/gitlab/ci/status/build/success.rb @@ -0,0 +1,21 @@ +module Gitlab + module Ci + module Status + module Build + class Success < Status::Extended + def illustration + { + image: 'illustrations/skipped-job_empty.svg', + size: 'svg-430', + title: _('Job has been erased') + } + end + + def self.matches?(build, user) + build.success? + end + end + end + end + end +end diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index a68fed0a41c..28166d08c02 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -36,6 +36,22 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status).to have_details expect(status).to have_action end + + context 'when job log gets erased' do + before do + build.trace.set(nil) + end + + it 'matches correct extended statuses' do + expect(factory.extended_statuses) + .to eq [Gitlab::Ci::Status::Build::Success, + Gitlab::Ci::Status::Build::Retryable] + end + + it 'fabricates a retryable build status' do + expect(status).to be_a Gitlab::Ci::Status::Build::Retryable + end + end end context 'when build is failed' do diff --git a/spec/lib/gitlab/ci/status/build/success_spec.rb b/spec/lib/gitlab/ci/status/build/success_spec.rb new file mode 100644 index 00000000000..730cd7aefbc --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/success_spec.rb @@ -0,0 +1,33 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Success do + let(:user) { create(:user) } + + subject do + described_class.new(double('subject')) + end + + describe '#illustration' do + it { expect(subject.illustration).to include(:image, :size, :title) } + end + + describe '.matches?' do + subject {described_class.matches?(build, user) } + + context 'when build succeeded' do + let(:build) { create(:ci_build, :success) } + + it 'is a correct match' do + expect(subject).to be true + end + end + + context 'when build did not succeed' do + let(:build) { create(:ci_build, :skipped) } + + it 'does not match' do + expect(subject).to be false + end + end + end +end -- cgit v1.2.1 From 00b45348b9dca5c394fa64a7f4975232dc712b5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Wed, 4 Apr 2018 22:15:18 +0200 Subject: Fix job setup in success empty state specs --- lib/gitlab/ci/status/build/success.rb | 2 +- spec/lib/gitlab/ci/status/build/factory_spec.rb | 4 ++-- spec/lib/gitlab/ci/status/build/success_spec.rb | 10 ++++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/gitlab/ci/status/build/success.rb b/lib/gitlab/ci/status/build/success.rb index bafc1b2f93a..daf43315c90 100644 --- a/lib/gitlab/ci/status/build/success.rb +++ b/lib/gitlab/ci/status/build/success.rb @@ -12,7 +12,7 @@ module Gitlab end def self.matches?(build, user) - build.success? + !build.has_trace? && build.success? end end end diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index 28166d08c02..d68d8f6f105 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -13,7 +13,7 @@ describe Gitlab::Ci::Status::Build::Factory do end context 'when build is successful' do - let(:build) { create(:ci_build, :success) } + let(:build) { create(:ci_build, :success, :trace_artifact) } it 'matches correct core status' do expect(factory.core_status).to be_a Gitlab::Ci::Status::Success @@ -39,7 +39,7 @@ describe Gitlab::Ci::Status::Build::Factory do context 'when job log gets erased' do before do - build.trace.set(nil) + build.erase end it 'matches correct extended statuses' do diff --git a/spec/lib/gitlab/ci/status/build/success_spec.rb b/spec/lib/gitlab/ci/status/build/success_spec.rb index 730cd7aefbc..e67ab461463 100644 --- a/spec/lib/gitlab/ci/status/build/success_spec.rb +++ b/spec/lib/gitlab/ci/status/build/success_spec.rb @@ -12,18 +12,20 @@ describe Gitlab::Ci::Status::Build::Success do end describe '.matches?' do - subject {described_class.matches?(build, user) } + subject { described_class.matches?(build, user) } - context 'when build succeeded' do + context 'when build succeeded but does not have trace' do let(:build) { create(:ci_build, :success) } it 'is a correct match' do + build.erase + expect(subject).to be true end end - context 'when build did not succeed' do - let(:build) { create(:ci_build, :skipped) } + context 'when build succeed but has trace' do + let!(:build) { create(:ci_build, :success, :trace_artifact) } it 'does not match' do expect(subject).to be false -- cgit v1.2.1 From 0b1b9c409d3adbf4517351dbb9037ed053f73e67 Mon Sep 17 00:00:00 2001 From: James Ramsay Date: Mon, 19 Feb 2018 15:41:04 -0500 Subject: Add option to suppress archive commit sha Repository archives are always named `--` even if the ref is a commit. A consequence of always including the sha even for tags is that packaging a release is more difficult because both the ref and sha must be known by the packager. - add append_sha option (defaults true) to provide a method for toggling this feature. Support added to GitLab Workhorse by gitlab-org/gitlab-workhorse!232 --- app/helpers/workhorse_helper.rb | 4 ++-- lib/api/helpers.rb | 4 ++-- lib/api/repositories.rb | 2 +- lib/api/v3/repositories.rb | 2 +- lib/gitlab/git/repository.rb | 15 +++++++++++---- lib/gitlab/workhorse.rb | 4 ++-- spec/lib/gitlab/git/repository_spec.rb | 10 ++++++++-- 7 files changed, 27 insertions(+), 14 deletions(-) diff --git a/app/helpers/workhorse_helper.rb b/app/helpers/workhorse_helper.rb index 88f374be1e5..9f78b80c71d 100644 --- a/app/helpers/workhorse_helper.rb +++ b/app/helpers/workhorse_helper.rb @@ -24,8 +24,8 @@ module WorkhorseHelper end # Archive a Git repository and send it through Workhorse - def send_git_archive(repository, ref:, format:) - headers.store(*Gitlab::Workhorse.send_git_archive(repository, ref: ref, format: format)) + def send_git_archive(repository, **kwargs) + headers.store(*Gitlab::Workhorse.send_git_archive(repository, **kwargs)) head :ok end diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb index e59e8a45908..e22d32e4c1b 100644 --- a/lib/api/helpers.rb +++ b/lib/api/helpers.rb @@ -489,8 +489,8 @@ module API header(*Gitlab::Workhorse.send_git_blob(repository, blob)) end - def send_git_archive(repository, ref:, format:) - header(*Gitlab::Workhorse.send_git_archive(repository, ref: ref, format: format)) + def send_git_archive(repository, **kwargs) + header(*Gitlab::Workhorse.send_git_archive(repository, **kwargs)) end def send_artifacts_entry(build, entry) diff --git a/lib/api/repositories.rb b/lib/api/repositories.rb index 9638c53a1df..2396dc73f0e 100644 --- a/lib/api/repositories.rb +++ b/lib/api/repositories.rb @@ -88,7 +88,7 @@ module API end get ':id/repository/archive', requirements: { format: Gitlab::PathRegex.archive_formats_regex } do begin - send_git_archive user_project.repository, ref: params[:sha], format: params[:format] + send_git_archive user_project.repository, ref: params[:sha], format: params[:format], append_sha: true rescue not_found!('File') end diff --git a/lib/api/v3/repositories.rb b/lib/api/v3/repositories.rb index 5b54734bb45..f701d64e886 100644 --- a/lib/api/v3/repositories.rb +++ b/lib/api/v3/repositories.rb @@ -75,7 +75,7 @@ module API end get ':id/repository/archive', requirements: { format: Gitlab::PathRegex.archive_formats_regex } do begin - send_git_archive user_project.repository, ref: params[:sha], format: params[:format] + send_git_archive user_project.repository, ref: params[:sha], format: params[:format], append_sha: true rescue not_found!('File') end diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index d16a096ffb9..a928a05f03f 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -394,17 +394,24 @@ module Gitlab nil end - def archive_prefix(ref, sha) + def archive_prefix(ref, sha, append_sha:) + append_sha = (ref != sha) if append_sha.nil? + project_name = self.name.chomp('.git') - "#{project_name}-#{ref.tr('/', '-')}-#{sha}" + formatted_ref = ref.tr('/', '-') + + prefix_segments = [project_name, formatted_ref] + prefix_segments << sha if append_sha + + prefix_segments.join('-') end - def archive_metadata(ref, storage_path, format = "tar.gz") + def archive_metadata(ref, storage_path, format = "tar.gz", append_sha: true) ref ||= root_ref commit = Gitlab::Git::Commit.find(self, ref) return {} if commit.nil? - prefix = archive_prefix(ref, commit.id) + prefix = archive_prefix(ref, commit.id, append_sha: append_sha) { 'RepoPath' => path, diff --git a/lib/gitlab/workhorse.rb b/lib/gitlab/workhorse.rb index b102812ec12..bdb20060cc0 100644 --- a/lib/gitlab/workhorse.rb +++ b/lib/gitlab/workhorse.rb @@ -63,10 +63,10 @@ module Gitlab ] end - def send_git_archive(repository, ref:, format:) + def send_git_archive(repository, ref:, format:, append_sha: true) format ||= 'tar.gz' format.downcase! - params = repository.archive_metadata(ref, Gitlab.config.gitlab.repository_downloads_path, format) + params = repository.archive_metadata(ref, Gitlab.config.gitlab.repository_downloads_path, format, append_sha) raise "Repository or ref not found" if params.empty? if Gitlab::GitalyClient.feature_enabled?(:workhorse_archive, status: Gitlab::GitalyClient::MigrationStatus::OPT_OUT) diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index 5cbe2808d0b..2bb8aa69def 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -247,16 +247,22 @@ describe Gitlab::Git::Repository, seed_helper: true do end it 'returns parameterised string for a ref containing slashes' do - prefix = repository.archive_prefix('test/branch', 'SHA') + prefix = repository.archive_prefix('test/branch', 'SHA', append_sha: true) expect(prefix).to eq("#{project_name}-test-branch-SHA") end it 'returns correct string for a ref containing dots' do - prefix = repository.archive_prefix('test.branch', 'SHA') + prefix = repository.archive_prefix('test.branch', 'SHA', append_sha: true) expect(prefix).to eq("#{project_name}-test.branch-SHA") end + + it 'returns string with sha when append_sha is false' do + prefix = repository.archive_prefix('test.branch', 'SHA', append_sha: false) + + expect(prefix).to eq("#{project_name}-test.branch") + end end describe '#archive' do -- cgit v1.2.1 From 10143937c1fdfe2ef4628f32a1e87ca564233d17 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Thu, 5 Apr 2018 13:54:41 +0530 Subject: Add page helper methods for notesApp --- app/assets/javascripts/lib/utils/dom_utils.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/lib/utils/dom_utils.js b/app/assets/javascripts/lib/utils/dom_utils.js index de65ea15a60..914de9de940 100644 --- a/app/assets/javascripts/lib/utils/dom_utils.js +++ b/app/assets/javascripts/lib/utils/dom_utils.js @@ -1,7 +1,12 @@ -/* eslint-disable import/prefer-default-export */ +import $ from 'jquery'; +import { isInIssuePage, isInMRPage, isInEpicPage, hasVueMRDiscussionsCookie } from './common_utils'; + +const isVueMRDiscussions = () => isInMRPage() && hasVueMRDiscussionsCookie() && !$('#diffs').is(':visible'); export const addClassIfElementExists = (element, className) => { if (element) { element.classList.add(className); } }; + +export const isInVueNoteablePage = () => isInIssuePage() || isInEpicPage() || isVueMRDiscussions(); -- cgit v1.2.1 From 1f27c6382510c91a129715642f146531b1074544 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Thu, 5 Apr 2018 13:54:59 +0530 Subject: Use `isInVueNoteablePage` from dom_utils --- app/assets/javascripts/awards_handler.js | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/awards_handler.js b/app/assets/javascripts/awards_handler.js index 0e1ca7fe883..976d32abe9b 100644 --- a/app/assets/javascripts/awards_handler.js +++ b/app/assets/javascripts/awards_handler.js @@ -4,7 +4,8 @@ import $ from 'jquery'; import _ from 'underscore'; import Cookies from 'js-cookie'; import { __ } from './locale'; -import { isInIssuePage, isInMRPage, isInEpicPage, hasVueMRDiscussionsCookie, updateTooltipTitle } from './lib/utils/common_utils'; +import { updateTooltipTitle } from './lib/utils/common_utils'; +import { isInVueNoteablePage } from './lib/utils/dom_utils'; import flash from './flash'; import axios from './lib/utils/axios_utils'; @@ -243,7 +244,7 @@ class AwardsHandler { addAward(votesBlock, awardUrl, emoji, checkMutuality, callback) { const isMainAwardsBlock = votesBlock.closest('.js-noteable-awards').length; - if (this.isInVueNoteablePage() && !isMainAwardsBlock) { + if (isInVueNoteablePage() && !isMainAwardsBlock) { const id = votesBlock.attr('id').replace('note_', ''); this.hideMenuElement($('.emoji-menu')); @@ -295,16 +296,8 @@ class AwardsHandler { } } - isVueMRDiscussions() { - return isInMRPage() && hasVueMRDiscussionsCookie() && !$('#diffs').is(':visible'); - } - - isInVueNoteablePage() { - return isInIssuePage() || isInEpicPage() || this.isVueMRDiscussions(); - } - getVotesBlock() { - if (this.isInVueNoteablePage()) { + if (isInVueNoteablePage()) { const $el = $('.js-add-award.is-active').closest('.note.timeline-entry'); if ($el.length) { -- cgit v1.2.1 From 1db4ea20c6ce67559a5c28b6b423abe292354dd8 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Thu, 5 Apr 2018 13:55:34 +0530 Subject: Set noteableType on noteableData as provided from DOM dataset --- app/assets/javascripts/mr_notes/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/mr_notes/index.js b/app/assets/javascripts/mr_notes/index.js index 096c4ef5f31..e3c5bf06b3d 100644 --- a/app/assets/javascripts/mr_notes/index.js +++ b/app/assets/javascripts/mr_notes/index.js @@ -13,8 +13,11 @@ export default function initMrNotes() { data() { const notesDataset = document.getElementById('js-vue-mr-discussions') .dataset; + const noteableData = JSON.parse(notesDataset.noteableData); + noteableData.noteableType = notesDataset.noteableType; + return { - noteableData: JSON.parse(notesDataset.noteableData), + noteableData, currentUserData: JSON.parse(notesDataset.currentUserData), notesData: JSON.parse(notesDataset.notesData), }; -- cgit v1.2.1 From 02968711128d4bd8939467181504cbe314274cc2 Mon Sep 17 00:00:00 2001 From: Winnie Hellmann Date: Thu, 5 Apr 2018 10:19:55 +0200 Subject: Use template strings in search_autocomplete_spec.js --- spec/javascripts/search_autocomplete_spec.js | 214 ++++++++++++++------------- 1 file changed, 110 insertions(+), 104 deletions(-) diff --git a/spec/javascripts/search_autocomplete_spec.js b/spec/javascripts/search_autocomplete_spec.js index ac47f14ab46..1a27955983d 100644 --- a/spec/javascripts/search_autocomplete_spec.js +++ b/spec/javascripts/search_autocomplete_spec.js @@ -6,8 +6,21 @@ import SearchAutocomplete from '~/search_autocomplete'; import '~/lib/utils/common_utils'; import * as urlUtils from '~/lib/utils/url_utility'; -(function() { - var assertLinks, dashboardIssuesPath, dashboardMRsPath, groupIssuesPath, groupMRsPath, groupName, mockDashboardOptions, mockGroupOptions, mockProjectOptions, projectIssuesPath, projectMRsPath, projectName, userId, widget; +describe('Search autocomplete dropdown', () => { + var assertLinks, + dashboardIssuesPath, + dashboardMRsPath, + groupIssuesPath, + groupMRsPath, + groupName, + mockDashboardOptions, + mockGroupOptions, + mockProjectOptions, + projectIssuesPath, + projectMRsPath, + projectName, + userId, + widget; var userName = 'root'; widget = null; @@ -66,133 +79,126 @@ import * as urlUtils from '~/lib/utils/url_utility'; // Mock `gl` object in window for dashboard specific page. App code will need it. mockDashboardOptions = function() { window.gl || (window.gl = {}); - return window.gl.dashboardOptions = { + return (window.gl.dashboardOptions = { issuesPath: dashboardIssuesPath, - mrPath: dashboardMRsPath - }; + mrPath: dashboardMRsPath, + }); }; // Mock `gl` object in window for project specific page. App code will need it. mockProjectOptions = function() { window.gl || (window.gl = {}); - return window.gl.projectOptions = { + return (window.gl.projectOptions = { 'gitlab-ce': { issuesPath: projectIssuesPath, mrPath: projectMRsPath, - projectName: projectName - } - }; + projectName: projectName, + }, + }); }; mockGroupOptions = function() { window.gl || (window.gl = {}); - return window.gl.groupOptions = { + return (window.gl.groupOptions = { 'gitlab-org': { issuesPath: groupIssuesPath, mrPath: groupMRsPath, - projectName: groupName - } - }; + projectName: groupName, + }, + }); }; assertLinks = function(list, issuesPath, mrsPath) { - var a1, a2, a3, a4, issuesAssignedToMeLink, issuesIHaveCreatedLink, mrsAssignedToMeLink, mrsIHaveCreatedLink; if (issuesPath) { - issuesAssignedToMeLink = issuesPath + "/?assignee_id=" + userId; - issuesIHaveCreatedLink = issuesPath + "/?author_id=" + userId; - a1 = "a[href='" + issuesAssignedToMeLink + "']"; - a2 = "a[href='" + issuesIHaveCreatedLink + "']"; - expect(list.find(a1).length).toBe(1); - expect(list.find(a1).text()).toBe('Issues assigned to me'); - expect(list.find(a2).length).toBe(1); - expect(list.find(a2).text()).toBe("Issues I've created"); + const issuesAssignedToMeLink = `a[href="${issuesPath}/?assignee_id=${userId}"]`; + const issuesIHaveCreatedLink = `a[href="${issuesPath}/?author_id=${userId}"]`; + expect(list.find(issuesAssignedToMeLink).length).toBe(1); + expect(list.find(issuesAssignedToMeLink).text()).toBe('Issues assigned to me'); + expect(list.find(issuesIHaveCreatedLink).length).toBe(1); + expect(list.find(issuesIHaveCreatedLink).text()).toBe("Issues I've created"); } - mrsAssignedToMeLink = mrsPath + "/?assignee_id=" + userId; - mrsIHaveCreatedLink = mrsPath + "/?author_id=" + userId; - a3 = "a[href='" + mrsAssignedToMeLink + "']"; - a4 = "a[href='" + mrsIHaveCreatedLink + "']"; - expect(list.find(a3).length).toBe(1); - expect(list.find(a3).text()).toBe('Merge requests assigned to me'); - expect(list.find(a4).length).toBe(1); - return expect(list.find(a4).text()).toBe("Merge requests I've created"); + const mrsAssignedToMeLink = `a[href="${mrsPath}/?assignee_id=${userId}"]`; + const mrsIHaveCreatedLink = `a[href="${mrsPath}/?author_id=${userId}"]`; + expect(list.find(mrsAssignedToMeLink).length).toBe(1); + expect(list.find(mrsAssignedToMeLink).text()).toBe('Merge requests assigned to me'); + expect(list.find(mrsIHaveCreatedLink).length).toBe(1); + expect(list.find(mrsIHaveCreatedLink).text()).toBe("Merge requests I've created"); }; - describe('Search autocomplete dropdown', function() { - preloadFixtures('static/search_autocomplete.html.raw'); - beforeEach(function() { - loadFixtures('static/search_autocomplete.html.raw'); + preloadFixtures('static/search_autocomplete.html.raw'); + beforeEach(function() { + loadFixtures('static/search_autocomplete.html.raw'); - // Prevent turbolinks from triggering within gl_dropdown - spyOn(urlUtils, 'visitUrl').and.returnValue(true); + // Prevent turbolinks from triggering within gl_dropdown + spyOn(urlUtils, 'visitUrl').and.returnValue(true); - window.gon = {}; - window.gon.current_user_id = userId; - window.gon.current_username = userName; + window.gon = {}; + window.gon.current_user_id = userId; + window.gon.current_username = userName; - return widget = new SearchAutocomplete(); - }); + return (widget = new SearchAutocomplete()); + }); - afterEach(function() { - // Undo what we did to the shared - removeBodyAttributes(); - window.gon = {}; - }); - it('should show Dashboard specific dropdown menu', function() { - var list; - addBodyAttributes(); - mockDashboardOptions(); - widget.searchInput.triggerHandler('focus'); - list = widget.wrap.find('.dropdown-menu').find('ul'); - return assertLinks(list, dashboardIssuesPath, dashboardMRsPath); - }); - it('should show Group specific dropdown menu', function() { - var list; - addBodyAttributes('group'); - mockGroupOptions(); - widget.searchInput.triggerHandler('focus'); - list = widget.wrap.find('.dropdown-menu').find('ul'); - return assertLinks(list, groupIssuesPath, groupMRsPath); - }); - it('should show Project specific dropdown menu', function() { - var list; - addBodyAttributes('project'); - mockProjectOptions(); - widget.searchInput.triggerHandler('focus'); - list = widget.wrap.find('.dropdown-menu').find('ul'); - return assertLinks(list, projectIssuesPath, projectMRsPath); - }); - it('should show only Project mergeRequest dropdown menu items when project issues are disabled', function() { - addBodyAttributes('project'); - disableProjectIssues(); - mockProjectOptions(); - widget.searchInput.triggerHandler('focus'); - const list = widget.wrap.find('.dropdown-menu').find('ul'); - assertLinks(list, null, projectMRsPath); - }); - it('should not show category related menu if there is text in the input', function() { - var link, list; - addBodyAttributes('project'); - mockProjectOptions(); - widget.searchInput.val('help'); - widget.searchInput.triggerHandler('focus'); - list = widget.wrap.find('.dropdown-menu').find('ul'); - link = "a[href='" + projectIssuesPath + "/?assignee_id=" + userId + "']"; - return expect(list.find(link).length).toBe(0); - }); - return it('should not submit the search form when selecting an autocomplete row with the keyboard', function() { - var ENTER = 13; - var DOWN = 40; - addBodyAttributes(); - mockDashboardOptions(true); - var submitSpy = spyOnEvent('form', 'submit'); - widget.searchInput.triggerHandler('focus'); - widget.wrap.trigger($.Event('keydown', { which: DOWN })); - var enterKeyEvent = $.Event('keydown', { which: ENTER }); - widget.searchInput.trigger(enterKeyEvent); - // This does not currently catch failing behavior. For security reasons, - // browsers will not trigger default behavior (form submit, in this - // example) on JavaScript-created keypresses. - expect(submitSpy).not.toHaveBeenTriggered(); - }); + afterEach(function() { + // Undo what we did to the shared + removeBodyAttributes(); + window.gon = {}; + }); + it('should show Dashboard specific dropdown menu', function() { + var list; + addBodyAttributes(); + mockDashboardOptions(); + widget.searchInput.triggerHandler('focus'); + list = widget.wrap.find('.dropdown-menu').find('ul'); + return assertLinks(list, dashboardIssuesPath, dashboardMRsPath); + }); + it('should show Group specific dropdown menu', function() { + var list; + addBodyAttributes('group'); + mockGroupOptions(); + widget.searchInput.triggerHandler('focus'); + list = widget.wrap.find('.dropdown-menu').find('ul'); + return assertLinks(list, groupIssuesPath, groupMRsPath); + }); + it('should show Project specific dropdown menu', function() { + var list; + addBodyAttributes('project'); + mockProjectOptions(); + widget.searchInput.triggerHandler('focus'); + list = widget.wrap.find('.dropdown-menu').find('ul'); + return assertLinks(list, projectIssuesPath, projectMRsPath); + }); + it('should show only Project mergeRequest dropdown menu items when project issues are disabled', function() { + addBodyAttributes('project'); + disableProjectIssues(); + mockProjectOptions(); + widget.searchInput.triggerHandler('focus'); + const list = widget.wrap.find('.dropdown-menu').find('ul'); + assertLinks(list, null, projectMRsPath); + }); + it('should not show category related menu if there is text in the input', function() { + var link, list; + addBodyAttributes('project'); + mockProjectOptions(); + widget.searchInput.val('help'); + widget.searchInput.triggerHandler('focus'); + list = widget.wrap.find('.dropdown-menu').find('ul'); + link = "a[href='" + projectIssuesPath + '/?assignee_id=' + userId + "']"; + return expect(list.find(link).length).toBe(0); + }); + it('should not submit the search form when selecting an autocomplete row with the keyboard', function() { + var ENTER = 13; + var DOWN = 40; + addBodyAttributes(); + mockDashboardOptions(true); + var submitSpy = spyOnEvent('form', 'submit'); + widget.searchInput.triggerHandler('focus'); + widget.wrap.trigger($.Event('keydown', { which: DOWN })); + var enterKeyEvent = $.Event('keydown', { which: ENTER }); + widget.searchInput.trigger(enterKeyEvent); + // This does not currently catch failing behavior. For security reasons, + // browsers will not trigger default behavior (form submit, in this + // example) on JavaScript-created keypresses. + expect(submitSpy).not.toHaveBeenTriggered(); }); -}).call(window); +}); -- cgit v1.2.1 From 323bac4a6e1de5d9ba9c1cb3a2868f514888c44a Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Thu, 5 Apr 2018 11:30:02 +0200 Subject: Improve docs about pipeline variables expressions --- doc/ci/variables/README.md | 55 ++++++++++++++++++++++++++++++++++++---------- doc/ci/yaml/README.md | 3 ++- 2 files changed, 46 insertions(+), 12 deletions(-) diff --git a/doc/ci/variables/README.md b/doc/ci/variables/README.md index 9f268f47e6f..381405a9db9 100644 --- a/doc/ci/variables/README.md +++ b/doc/ci/variables/README.md @@ -454,8 +454,8 @@ export CI_REGISTRY_PASSWORD="longalfanumstring" > Variables expressions were added in GitLab 10.7. It is possible to use variables expressions with only / except policies in -`.gitlab-ci.yml`. By using this approach you can limit what builds are going to -be created within a pipeline after pushing code to GitLab. +`.gitlab-ci.yml`. By using this approach you can limit what jobs are going to +be created within a pipeline after pushing a code to GitLab. This is particularly useful in combination with secret variables and triggered pipeline variables. @@ -470,22 +470,21 @@ deploy: - $STAGING ``` -Each provided variables expression is going to be evaluated before creating -a pipeline. +Each expression provided is going to be evaluated before creating a pipeline. If any of the conditions in `variables` evaluates to truth when using `only`, a new job is going to be created. If any of the expressions evaluates to truth when `except` is being used, a job is not going to be created. -This follows usual rules for `only` / `except` policies. +This follows usual rules for [`only` / `except` policies][builds-policies]. ### Supported syntax -Below you can find currently supported syntax reference: +Below you can find supported syntax reference: 1. Equality matching using a string - Example: `$VARIABLE == "some value"` + > Example: `$VARIABLE == "some value"` You can use equality operator `==` to compare a variable content to a string. We support both, double quotes and single quotes to define a string @@ -494,26 +493,59 @@ Below you can find currently supported syntax reference: 1. Checking for an undefined value - It sometimes happens that you want to check whether variable is defined or - not. To do that, you can compare variable to `null` value, like + > Example: `$VARIABLE == null` + + It sometimes happens that you want to check whether a variable is defined + or not. To do that, you can compare a variable to `null` keyword, like `$VARIABLE == null`. This expression is going to evaluate to truth if - variable is not set. + variable is not defined. 1. Checking for an empty variable + > Example: `$VARIABLE == ""` + If you want to check whether a variable is defined, but is empty, you can simply compare it against an empty string, like `$VAR == ''`. 1. Comparing two variables - It is possible to compare two variables. `$VARIABLE_1 == $VARIABLE_2`. + > Example: `$VARIABLE_1 == $VARIABLE_2` + + It is possible to compare two variables. This is going to compare values + of these variables. 1. Variable presence check + > Example: `$STAGING` + If you only want to create a job when there is some variable present, which means that it is defined and non-empty, you can simply use variable name as an expression, like `$STAGING`. If `$STAGING` variable is defined, and is non empty, expression will evaluate to truth. + `$STAGING` value needs to a string, with length higher than zero. + Variable that contains only whitespace characters is not an empty variable. + +### Unsupported predefined variables + +Because GitLab evaluates variables before creating jobs, we do not support a +few variables that depend on persistence layer, like `$CI_JOB_ID`. + +Environments (like `production` or `staging`) are also being created based on +what jobs pipeline consists of, thus some environment-specific variables are +not supported as well. + +We do not support variables containing tokens because of security reasons. + +You can find a full list of unsupported variables below: + +- `CI_JOB_ID` +- `CI_JOB_TOKEN` +- `CI_BUILD_ID` +- `CI_BUILD_TOKEN` +- `CI_REGISTRY_USER` +- `CI_REGISTRY_PASSWORD` +- `CI_REPOSITORY_URL` +- `CI_ENVIRONMENT_URL` [ce-13784]: https://gitlab.com/gitlab-org/gitlab-ce/issues/13784 "Simple protection of CI secret variables" [eep]: https://about.gitlab.com/products/ "Available only in GitLab Premium" @@ -525,3 +557,4 @@ Below you can find currently supported syntax reference: [triggered]: ../triggers/README.md [triggers]: ../triggers/README.md#pass-job-variables-to-a-trigger [subgroups]: ../../user/group/subgroups/index.md +[builds-policies]: ../yaml/README.md#only-and-except-complex diff --git a/doc/ci/yaml/README.md b/doc/ci/yaml/README.md index be114e7008e..68aa64b3834 100644 --- a/doc/ci/yaml/README.md +++ b/doc/ci/yaml/README.md @@ -354,7 +354,7 @@ deploy: - $STAGING ``` -Learn more about variables expressions on a separate page. +Learn more about variables expressions on [a separate page][variables-expressions]. ## `tags` @@ -1574,3 +1574,4 @@ CI with various languages. [ce-7447]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7447 [ce-12909]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12909 [schedules]: ../../user/project/pipelines/schedules.md +[variables-expressions]: ../variables/README.md#variables-expressions -- cgit v1.2.1 From edcba1aa277c731ae2e375a571601d527c0ff6dc Mon Sep 17 00:00:00 2001 From: Tomasz Maczukin Date: Tue, 27 Mar 2018 17:35:27 +0200 Subject: Allow HTTP(s) when git request is made by GitLab CI --- .../projects/git_http_client_controller.rb | 1 + app/controllers/projects/git_http_controller.rb | 2 +- lib/gitlab/git_access.rb | 13 ++++++++++-- spec/lib/gitlab/git_access_spec.rb | 24 +++++++++++++++++++++- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/app/controllers/projects/git_http_client_controller.rb b/app/controllers/projects/git_http_client_controller.rb index dd5e66f60e3..07249fe3182 100644 --- a/app/controllers/projects/git_http_client_controller.rb +++ b/app/controllers/projects/git_http_client_controller.rb @@ -7,6 +7,7 @@ class Projects::GitHttpClientController < Projects::ApplicationController attr_reader :authentication_result, :redirected_path delegate :actor, :authentication_abilities, to: :authentication_result, allow_nil: true + delegate :type, to: :authentication_result, allow_nil: true, prefix: :auth_result alias_method :user, :actor alias_method :authenticated_user, :actor diff --git a/app/controllers/projects/git_http_controller.rb b/app/controllers/projects/git_http_controller.rb index 45910a9be44..1dcf837f78e 100644 --- a/app/controllers/projects/git_http_controller.rb +++ b/app/controllers/projects/git_http_controller.rb @@ -64,7 +64,7 @@ class Projects::GitHttpController < Projects::GitHttpClientController @access ||= access_klass.new(access_actor, project, 'http', authentication_abilities: authentication_abilities, namespace_path: params[:namespace_id], project_path: project_path, - redirected_path: redirected_path) + redirected_path: redirected_path, auth_result_type: auth_result_type) end def access_actor diff --git a/lib/gitlab/git_access.rb b/lib/gitlab/git_access.rb index ed0644f6cf1..6a01957184d 100644 --- a/lib/gitlab/git_access.rb +++ b/lib/gitlab/git_access.rb @@ -29,9 +29,9 @@ module Gitlab PUSH_COMMANDS = %w{ git-receive-pack }.freeze ALL_COMMANDS = DOWNLOAD_COMMANDS + PUSH_COMMANDS - attr_reader :actor, :project, :protocol, :authentication_abilities, :namespace_path, :project_path, :redirected_path + attr_reader :actor, :project, :protocol, :authentication_abilities, :namespace_path, :project_path, :redirected_path, :auth_result_type - def initialize(actor, project, protocol, authentication_abilities:, namespace_path: nil, project_path: nil, redirected_path: nil) + def initialize(actor, project, protocol, authentication_abilities:, namespace_path: nil, project_path: nil, redirected_path: nil, auth_result_type: nil) @actor = actor @project = project @protocol = protocol @@ -39,6 +39,7 @@ module Gitlab @namespace_path = namespace_path @project_path = project_path @redirected_path = redirected_path + @auth_result_type = auth_result_type end def check(cmd, changes) @@ -78,6 +79,12 @@ module Gitlab authentication_abilities.include?(:build_download_code) && user_access.can_do_action?(:build_download_code) end + def request_from_ci_build? + return false unless protocol == 'http' + + auth_result_type == :build || auth_result_type == :ci + end + def protocol_allowed? Gitlab::ProtocolAccess.allowed?(protocol) end @@ -93,6 +100,8 @@ module Gitlab end def check_protocol! + return if request_from_ci_build? + unless protocol_allowed? raise UnauthorizedError, "Git access over #{protocol.upcase} is not allowed" end diff --git a/spec/lib/gitlab/git_access_spec.rb b/spec/lib/gitlab/git_access_spec.rb index f8f09d29c73..b845abab5ef 100644 --- a/spec/lib/gitlab/git_access_spec.rb +++ b/spec/lib/gitlab/git_access_spec.rb @@ -10,12 +10,13 @@ describe Gitlab::GitAccess do let(:protocol) { 'ssh' } let(:authentication_abilities) { %i[read_project download_code push_code] } let(:redirected_path) { nil } + let(:auth_result_type) { nil } let(:access) do described_class.new(actor, project, protocol, authentication_abilities: authentication_abilities, namespace_path: namespace_path, project_path: project_path, - redirected_path: redirected_path) + redirected_path: redirected_path, auth_result_type: auth_result_type) end let(:changes) { '_any' } @@ -45,6 +46,7 @@ describe Gitlab::GitAccess do before do disable_protocol('http') + project.add_master(user) end it 'blocks http push and pull' do @@ -53,6 +55,26 @@ describe Gitlab::GitAccess do expect { pull_access_check }.to raise_unauthorized('Git access over HTTP is not allowed') end end + + context 'when request is made from CI' do + let(:auth_result_type) { :build } + + it "doesn't block http pull" do + aggregate_failures do + expect { pull_access_check }.not_to raise_unauthorized('Git access over HTTP is not allowed') + end + end + + context 'when legacy CI credentials are used' do + let(:auth_result_type) { :ci } + + it "doesn't block http pull" do + aggregate_failures do + expect { pull_access_check }.not_to raise_unauthorized('Git access over HTTP is not allowed') + end + end + end + end end end -- cgit v1.2.1 From b6d3e57d2a52f3d44b5840bd3ab53d3e811abeb3 Mon Sep 17 00:00:00 2001 From: Tomasz Maczukin Date: Fri, 30 Mar 2018 20:29:49 +0200 Subject: Add CHANGELOG entry --- .../unreleased/44389-always-allow-http-for-ci-git-operations.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/44389-always-allow-http-for-ci-git-operations.yml diff --git a/changelogs/unreleased/44389-always-allow-http-for-ci-git-operations.yml b/changelogs/unreleased/44389-always-allow-http-for-ci-git-operations.yml new file mode 100644 index 00000000000..2e5a0302ee6 --- /dev/null +++ b/changelogs/unreleased/44389-always-allow-http-for-ci-git-operations.yml @@ -0,0 +1,5 @@ +--- +title: Allow HTTP(s) when git request is made by GitLab CI +merge_request: 18021 +author: +type: changed -- cgit v1.2.1 From 9b1677b2deeec1faf0dd1d60a2b0c47e80b58433 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Thu, 5 Apr 2018 12:01:31 +0200 Subject: Remove artifacts_file/metadata from project export --- lib/gitlab/import_export/import_export.yml | 2 + spec/lib/gitlab/import_export/project.json | 60 ------------------------------ 2 files changed, 2 insertions(+), 60 deletions(-) diff --git a/lib/gitlab/import_export/import_export.yml b/lib/gitlab/import_export/import_export.yml index 4bdd01f5e94..8a0cddff579 100644 --- a/lib/gitlab/import_export/import_export.yml +++ b/lib/gitlab/import_export/import_export.yml @@ -124,6 +124,8 @@ excluded_attributes: - :trace - :token - :when + - :artifacts_file + - :artifacts_metadata push_event_payload: - :event_id project_badges: diff --git a/spec/lib/gitlab/import_export/project.json b/spec/lib/gitlab/import_export/project.json index 4a51777ba9b..08cee7825cd 100644 --- a/spec/lib/gitlab/import_export/project.json +++ b/spec/lib/gitlab/import_export/project.json @@ -6181,12 +6181,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": null - }, - "artifacts_metadata": { - "url": null - }, "erased_by_id": null, "erased_at": null, "type": "Ci::Build", @@ -6219,12 +6213,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/72/p5_build_artifacts.zip" - }, - "artifacts_metadata": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/72/p5_build_artifacts_metadata.gz" - }, "erased_by_id": null, "erased_at": null } @@ -6293,12 +6281,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/74/p5_build_artifacts.zip" - }, - "artifacts_metadata": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/74/p5_build_artifacts_metadata.gz" - }, "erased_by_id": null, "erased_at": null }, @@ -6328,12 +6310,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": null - }, - "artifacts_metadata": { - "url": null - }, "erased_by_id": null, "erased_at": null } @@ -6393,12 +6369,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/76/p5_build_artifacts.zip" - }, - "artifacts_metadata": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/76/p5_build_artifacts_metadata.gz" - }, "erased_by_id": null, "erased_at": null }, @@ -6428,12 +6398,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/75/p5_build_artifacts.zip" - }, - "artifacts_metadata": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/75/p5_build_artifacts_metadata.gz" - }, "erased_by_id": null, "erased_at": null } @@ -6493,12 +6457,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/78/p5_build_artifacts.zip" - }, - "artifacts_metadata": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/78/p5_build_artifacts_metadata.gz" - }, "erased_by_id": null, "erased_at": null }, @@ -6528,12 +6486,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/77/p5_build_artifacts.zip" - }, - "artifacts_metadata": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/77/p5_build_artifacts_metadata.gz" - }, "erased_by_id": null, "erased_at": null } @@ -6593,12 +6545,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": null - }, - "artifacts_metadata": { - "url": null - }, "erased_by_id": null, "erased_at": null }, @@ -6628,12 +6574,6 @@ "user_id": null, "target_url": null, "description": null, - "artifacts_file": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/80/p5_build_artifacts.zip" - }, - "artifacts_metadata": { - "url": "/Users/Test/Test/gitlab-development-kit/gitlab/shared/artifacts/2016_03/5/80/p5_build_artifacts_metadata.gz" - }, "erased_by_id": null, "erased_at": null } -- cgit v1.2.1 From 9b7a0533ede133ad66d9ed0fba15d1b086e416dd Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Fri, 30 Mar 2018 18:16:09 +0900 Subject: Fix database trace to read raw --- app/controllers/projects/jobs_controller.rb | 30 +++++++++++------------------ lib/gitlab/ci/trace/stream.rb | 2 +- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/app/controllers/projects/jobs_controller.rb b/app/controllers/projects/jobs_controller.rb index 85e972d9731..5d6abcf906d 100644 --- a/app/controllers/projects/jobs_controller.rb +++ b/app/controllers/projects/jobs_controller.rb @@ -119,17 +119,17 @@ class Projects::JobsController < Projects::ApplicationController end def raw - if trace_artifact_file - send_upload(trace_artifact_file, - send_params: raw_send_params, - redirect_params: raw_redirect_params) - else - build.trace.read do |stream| - if stream.file? - send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' - else - render_404 - end + build.trace.read do |stream| + if trace_artifact_file + send_upload(trace_artifact_file, + send_params: { type: 'text/plain; charset=utf-8', disposition: 'inline' }, + redirect_params: { query: { 'response-content-type' => 'text/plain; charset=utf-8', 'response-content-disposition' => 'inline' } } ) + elsif stream.file? + send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' + elsif build.old_trace + send_data stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' + else + render_404 end end end @@ -144,14 +144,6 @@ class Projects::JobsController < Projects::ApplicationController return access_denied! unless can?(current_user, :erase_build, build) end - def raw_send_params - { type: 'text/plain; charset=utf-8', disposition: 'inline' } - end - - def raw_redirect_params - { query: { 'response-content-type' => 'text/plain; charset=utf-8', 'response-content-disposition' => 'inline' } } - end - def trace_artifact_file @trace_artifact_file ||= build.job_artifacts_trace&.file end diff --git a/lib/gitlab/ci/trace/stream.rb b/lib/gitlab/ci/trace/stream.rb index b3fe3ef1c4d..ffb9ec61715 100644 --- a/lib/gitlab/ci/trace/stream.rb +++ b/lib/gitlab/ci/trace/stream.rb @@ -22,7 +22,7 @@ module Gitlab end def file? - self.path.present? + self.path.present? if self.respond_to(:path) end def limit(last_bytes = LIMIT_SIZE) -- cgit v1.2.1 From d6b18d3946926cff5c6bd47b609a0d2e0c899317 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 3 Apr 2018 21:30:14 +0900 Subject: Fix --- app/controllers/projects/jobs_controller.rb | 32 +++++++++++++++++++---------- lib/gitlab/ci/trace/stream.rb | 2 +- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/app/controllers/projects/jobs_controller.rb b/app/controllers/projects/jobs_controller.rb index 5d6abcf906d..a604f623e49 100644 --- a/app/controllers/projects/jobs_controller.rb +++ b/app/controllers/projects/jobs_controller.rb @@ -119,17 +119,19 @@ class Projects::JobsController < Projects::ApplicationController end def raw - build.trace.read do |stream| - if trace_artifact_file - send_upload(trace_artifact_file, - send_params: { type: 'text/plain; charset=utf-8', disposition: 'inline' }, - redirect_params: { query: { 'response-content-type' => 'text/plain; charset=utf-8', 'response-content-disposition' => 'inline' } } ) - elsif stream.file? - send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' - elsif build.old_trace - send_data stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' - else - render_404 + if trace_artifact_file + send_upload(trace_artifact_file, + send_params: raw_send_params, + redirect_params: raw_redirect_params) + else + build.trace.read do |stream| + if stream.file? + send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' + elsif build.old_trace + send_data stream.raw, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' + else + render_404 + end end end end @@ -144,6 +146,14 @@ class Projects::JobsController < Projects::ApplicationController return access_denied! unless can?(current_user, :erase_build, build) end + def raw_send_params + { type: 'text/plain; charset=utf-8', disposition: 'inline' } + end + + def raw_redirect_params + { query: { 'response-content-type' => 'text/plain; charset=utf-8', 'response-content-disposition' => 'inline' } } + end + def trace_artifact_file @trace_artifact_file ||= build.job_artifacts_trace&.file end diff --git a/lib/gitlab/ci/trace/stream.rb b/lib/gitlab/ci/trace/stream.rb index ffb9ec61715..ca9f62ad80c 100644 --- a/lib/gitlab/ci/trace/stream.rb +++ b/lib/gitlab/ci/trace/stream.rb @@ -22,7 +22,7 @@ module Gitlab end def file? - self.path.present? if self.respond_to(:path) + self.path.present? if respond_to?(:path) end def limit(last_bytes = LIMIT_SIZE) -- cgit v1.2.1 From 9c990bbe7a4f213778b60fcd63f21719c6433d93 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Tue, 3 Apr 2018 21:52:23 +0900 Subject: Add test --- lib/gitlab/ci/trace/stream.rb | 8 ++++++-- spec/controllers/projects/jobs_controller_spec.rb | 16 ++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/gitlab/ci/trace/stream.rb b/lib/gitlab/ci/trace/stream.rb index ca9f62ad80c..54894a46077 100644 --- a/lib/gitlab/ci/trace/stream.rb +++ b/lib/gitlab/ci/trace/stream.rb @@ -8,7 +8,7 @@ module Gitlab attr_reader :stream - delegate :close, :tell, :seek, :size, :path, :url, :truncate, to: :stream, allow_nil: true + delegate :close, :tell, :seek, :size, :url, :truncate, to: :stream, allow_nil: true delegate :valid?, to: :stream, as: :present?, allow_nil: true @@ -22,7 +22,11 @@ module Gitlab end def file? - self.path.present? if respond_to?(:path) + self.path.present? + end + + def path + self.stream.path if self.stream.respond_to?(:path) end def limit(last_bytes = LIMIT_SIZE) diff --git a/spec/controllers/projects/jobs_controller_spec.rb b/spec/controllers/projects/jobs_controller_spec.rb index 31046c202e6..20a826cc198 100644 --- a/spec/controllers/projects/jobs_controller_spec.rb +++ b/spec/controllers/projects/jobs_controller_spec.rb @@ -513,6 +513,22 @@ describe Projects::JobsController do end end + context 'when job has a trace in database' do + let(:job) { create(:ci_build, pipeline: pipeline) } + + before do + job.update_column(:trace, 'Sample trace') + end + + it 'send a trace file' do + response = subject + + expect(response).to have_gitlab_http_status(:ok) + expect(response.content_type).to eq 'text/plain; charset=utf-8' + expect(response.body).to eq 'Sample trace' + end + end + context 'when job does not have a trace file' do let(:job) { create(:ci_build, pipeline: pipeline) } -- cgit v1.2.1 From f379e1b370d033097c1d0102401eb6156384890c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Thu, 5 Apr 2018 13:52:54 +0200 Subject: Rename success to erased empty state spec --- lib/gitlab/ci/status/build/erased.rb | 21 +++++++++++++++ lib/gitlab/ci/status/build/factory.rb | 2 +- lib/gitlab/ci/status/build/success.rb | 21 --------------- spec/lib/gitlab/ci/status/build/erased_spec.rb | 33 +++++++++++++++++++++++ spec/lib/gitlab/ci/status/build/factory_spec.rb | 35 ++++++++++++++++--------- spec/lib/gitlab/ci/status/build/success_spec.rb | 35 ------------------------- 6 files changed, 78 insertions(+), 69 deletions(-) create mode 100644 lib/gitlab/ci/status/build/erased.rb delete mode 100644 lib/gitlab/ci/status/build/success.rb create mode 100644 spec/lib/gitlab/ci/status/build/erased_spec.rb delete mode 100644 spec/lib/gitlab/ci/status/build/success_spec.rb diff --git a/lib/gitlab/ci/status/build/erased.rb b/lib/gitlab/ci/status/build/erased.rb new file mode 100644 index 00000000000..3a5113b16b6 --- /dev/null +++ b/lib/gitlab/ci/status/build/erased.rb @@ -0,0 +1,21 @@ +module Gitlab + module Ci + module Status + module Build + class Erased < Status::Extended + def illustration + { + image: 'illustrations/skipped-job_empty.svg', + size: 'svg-430', + title: _('Job has been erased') + } + end + + def self.matches?(build, user) + build.erased? + end + end + end + end + end +end diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb index d3a34384f6f..466a0a989ad 100644 --- a/lib/gitlab/ci/status/build/factory.rb +++ b/lib/gitlab/ci/status/build/factory.rb @@ -9,7 +9,7 @@ module Gitlab Status::Build::Created, Status::Build::Pending, Status::Build::Skipped, - Status::Build::Success], + Status::Build::Erased], [Status::Build::Cancelable, Status::Build::Retryable], [Status::Build::FailedAllowed, diff --git a/lib/gitlab/ci/status/build/success.rb b/lib/gitlab/ci/status/build/success.rb deleted file mode 100644 index daf43315c90..00000000000 --- a/lib/gitlab/ci/status/build/success.rb +++ /dev/null @@ -1,21 +0,0 @@ -module Gitlab - module Ci - module Status - module Build - class Success < Status::Extended - def illustration - { - image: 'illustrations/skipped-job_empty.svg', - size: 'svg-430', - title: _('Job has been erased') - } - end - - def self.matches?(build, user) - !build.has_trace? && build.success? - end - end - end - end - end -end diff --git a/spec/lib/gitlab/ci/status/build/erased_spec.rb b/spec/lib/gitlab/ci/status/build/erased_spec.rb new file mode 100644 index 00000000000..0acd271e375 --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/erased_spec.rb @@ -0,0 +1,33 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Erased do + let(:user) { create(:user) } + + subject do + described_class.new(double('subject')) + end + + describe '#illustration' do + it { expect(subject.illustration).to include(:image, :size, :title) } + end + + describe '.matches?' do + subject { described_class.matches?(build, user) } + + context 'when build is erased' do + let(:build) { create(:ci_build, :success, :erased) } + + it 'is a correct match' do + expect(subject).to be true + end + end + + context 'when build is not erased' do + let(:build) { create(:ci_build, :success, :trace_artifact) } + + it 'does not match' do + expect(subject).to be false + end + end + end +end diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index d68d8f6f105..94eedc50bb2 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -36,21 +36,32 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status).to have_details expect(status).to have_action end + end - context 'when job log gets erased' do - before do - build.erase - end + context 'when build is erased' do + let(:build) { create(:ci_build, :success, :erased) } - it 'matches correct extended statuses' do - expect(factory.extended_statuses) - .to eq [Gitlab::Ci::Status::Build::Success, - Gitlab::Ci::Status::Build::Retryable] - end + it 'matches correct core status' do + expect(factory.core_status).to be_a Gitlab::Ci::Status::Success + end - it 'fabricates a retryable build status' do - expect(status).to be_a Gitlab::Ci::Status::Build::Retryable - end + it 'matches correct extended statuses' do + expect(factory.extended_statuses) + .to eq [Gitlab::Ci::Status::Build::Erased, + Gitlab::Ci::Status::Build::Retryable] + end + + it 'fabricates a retryable build status' do + expect(status).to be_a Gitlab::Ci::Status::Build::Retryable + end + + it 'fabricates status with correct details' do + expect(status.text).to eq 'passed' + expect(status.icon).to eq 'status_success' + expect(status.favicon).to eq 'favicon_status_success' + expect(status.label).to eq 'passed' + expect(status).to have_details + expect(status).to have_action end end diff --git a/spec/lib/gitlab/ci/status/build/success_spec.rb b/spec/lib/gitlab/ci/status/build/success_spec.rb deleted file mode 100644 index e67ab461463..00000000000 --- a/spec/lib/gitlab/ci/status/build/success_spec.rb +++ /dev/null @@ -1,35 +0,0 @@ -require 'spec_helper' - -describe Gitlab::Ci::Status::Build::Success do - let(:user) { create(:user) } - - subject do - described_class.new(double('subject')) - end - - describe '#illustration' do - it { expect(subject.illustration).to include(:image, :size, :title) } - end - - describe '.matches?' do - subject { described_class.matches?(build, user) } - - context 'when build succeeded but does not have trace' do - let(:build) { create(:ci_build, :success) } - - it 'is a correct match' do - build.erase - - expect(subject).to be true - end - end - - context 'when build succeed but has trace' do - let!(:build) { create(:ci_build, :success, :trace_artifact) } - - it 'does not match' do - expect(subject).to be false - end - end - end -end -- cgit v1.2.1 From 2dcbaf9f0eb4c63d7cbe3252b20220e798ee0079 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Thu, 5 Apr 2018 20:56:07 +0900 Subject: Fix failed spec --- spec/controllers/projects/jobs_controller_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/controllers/projects/jobs_controller_spec.rb b/spec/controllers/projects/jobs_controller_spec.rb index 20a826cc198..b9a979044fe 100644 --- a/spec/controllers/projects/jobs_controller_spec.rb +++ b/spec/controllers/projects/jobs_controller_spec.rb @@ -535,7 +535,8 @@ describe Projects::JobsController do it 'returns not_found' do response = subject - expect(response).to have_gitlab_http_status(:not_found) + expect(response).to have_gitlab_http_status(:ok) + expect(response.body).to eq '' end end -- cgit v1.2.1 From 678620cce67cc283b19b75137f747f9415aaf942 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 3 Apr 2018 18:47:33 +0200 Subject: Add `direct_upload` setting for artifacts --- app/controllers/projects/lfs_storage_controller.rb | 13 +- app/models/ci/job_artifact.rb | 5 + app/uploaders/job_artifact_uploader.rb | 4 + app/uploaders/legacy_artifact_uploader.rb | 4 + app/uploaders/object_storage.rb | 56 +++----- config/initializers/1_settings.rb | 1 + .../artifacts_direct_upload_support.rb | 7 + doc/administration/job_artifacts.md | 1 + lib/api/api.rb | 8 ++ lib/api/helpers.rb | 22 --- lib/api/runner.rb | 36 +++-- lib/gitlab/middleware/multipart.rb | 2 +- lib/gitlab/workhorse.rb | 4 - lib/uploaded_file.rb | 40 +++++- .../artifacts_direct_upload_support_spec.rb | 71 ++++++++++ spec/lib/uploaded_file_spec.rb | 116 +++++++++++++++ spec/requests/api/runner_spec.rb | 117 ++++++++++++---- spec/requests/lfs_http_spec.rb | 19 +-- spec/support/stub_configuration.rb | 4 + spec/uploaders/object_storage_spec.rb | 155 ++++++--------------- 20 files changed, 465 insertions(+), 220 deletions(-) create mode 100644 config/initializers/artifacts_direct_upload_support.rb create mode 100644 spec/initializers/artifacts_direct_upload_support_spec.rb create mode 100644 spec/lib/uploaded_file_spec.rb diff --git a/app/controllers/projects/lfs_storage_controller.rb b/app/controllers/projects/lfs_storage_controller.rb index 2515e4b9a17..ebde0df1f7b 100644 --- a/app/controllers/projects/lfs_storage_controller.rb +++ b/app/controllers/projects/lfs_storage_controller.rb @@ -31,7 +31,9 @@ class Projects::LfsStorageController < Projects::GitHttpClientController render plain: 'Unprocessable entity', status: 422 end rescue ActiveRecord::RecordInvalid - render_400 + render_lfs_forbidden + rescue UploadedFile::InvalidPathError + render_lfs_forbidden rescue ObjectStorage::RemoteStoreError render_lfs_forbidden end @@ -66,10 +68,11 @@ class Projects::LfsStorageController < Projects::GitHttpClientController end def create_file!(oid, size) - LfsObject.new(oid: oid, size: size).tap do |object| - object.file.store_workhorse_file!(params, :file) - object.save! - end + uploaded_file = UploadedFile.from_params( + params, :file, LfsObjectUploader.workhorse_local_upload_path) + return unless uploaded_file + + LfsObject.create!(oid: oid, size: size, file: uploaded_file) end def link_to_project!(object) diff --git a/app/models/ci/job_artifact.rb b/app/models/ci/job_artifact.rb index df57b4f65e3..fbb95fe16df 100644 --- a/app/models/ci/job_artifact.rb +++ b/app/models/ci/job_artifact.rb @@ -7,6 +7,7 @@ module Ci belongs_to :project belongs_to :job, class_name: "Ci::Build", foreign_key: :job_id + before_save :update_file_store before_save :set_size, if: :file_changed? scope :with_files_stored_locally, -> { where(file_store: [nil, ::JobArtifactUploader::Store::LOCAL]) } @@ -21,6 +22,10 @@ module Ci trace: 3 } + def update_file_store + self.file_store = file.object_store + end + def self.artifacts_size_for(project) self.where(project: project).sum(:size) end diff --git a/app/uploaders/job_artifact_uploader.rb b/app/uploaders/job_artifact_uploader.rb index ef0f8acefd6..dd86753479d 100644 --- a/app/uploaders/job_artifact_uploader.rb +++ b/app/uploaders/job_artifact_uploader.rb @@ -2,6 +2,8 @@ class JobArtifactUploader < GitlabUploader extend Workhorse::UploadPath include ObjectStorage::Concern + ObjectNotReadyError = Class.new(StandardError) + storage_options Gitlab.config.artifacts def size @@ -25,6 +27,8 @@ class JobArtifactUploader < GitlabUploader private def dynamic_segment + raise ObjectNotReadyError, 'JobArtifact is not ready' unless model.id + creation_date = model.created_at.utc.strftime('%Y_%m_%d') File.join(disk_hash[0..1], disk_hash[2..3], disk_hash, diff --git a/app/uploaders/legacy_artifact_uploader.rb b/app/uploaders/legacy_artifact_uploader.rb index b726b053493..efb7893d153 100644 --- a/app/uploaders/legacy_artifact_uploader.rb +++ b/app/uploaders/legacy_artifact_uploader.rb @@ -2,6 +2,8 @@ class LegacyArtifactUploader < GitlabUploader extend Workhorse::UploadPath include ObjectStorage::Concern + ObjectNotReadyError = Class.new(StandardError) + storage_options Gitlab.config.artifacts def store_dir @@ -11,6 +13,8 @@ class LegacyArtifactUploader < GitlabUploader private def dynamic_segment + raise ObjectNotReadyError, 'Build is not ready' unless model.id + File.join(model.created_at.utc.strftime('%Y_%m'), model.project_id.to_s, model.id.to_s) end end diff --git a/app/uploaders/object_storage.rb b/app/uploaders/object_storage.rb index 3f59ee39299..bd258e04d3f 100644 --- a/app/uploaders/object_storage.rb +++ b/app/uploaders/object_storage.rb @@ -156,11 +156,10 @@ module ObjectStorage end def workhorse_authorize - if options = workhorse_remote_upload_options - { RemoteObject: options } - else - { TempPath: workhorse_local_upload_path } - end + { + RemoteObject: workhorse_remote_upload_options, + TempPath: workhorse_local_upload_path + }.compact end def workhorse_local_upload_path @@ -293,16 +292,14 @@ module ObjectStorage } end - def store_workhorse_file!(params, identifier) - filename = params["#{identifier}.name"] - - if remote_object_id = params["#{identifier}.remote_id"] - store_remote_file!(remote_object_id, filename) - elsif local_path = params["#{identifier}.path"] - store_local_file!(local_path, filename) - else - raise RemoteStoreError, 'Bad file' + def cache!(new_file = sanitized_file) + # We intercept ::UploadedFile which might be stored on remote storage + # We use that for "accelerated" uploads, where we store result on remote storage + if new_file.is_a?(::UploadedFile) && new_file.remote_id + return cache_remote_file!(new_file.remote_id, new_file.original_filename) end + + super end private @@ -313,36 +310,29 @@ module ObjectStorage self.file_storage? end - def store_remote_file!(remote_object_id, filename) - raise RemoteStoreError, 'Missing filename' unless filename - + def cache_remote_file!(remote_object_id, original_filename) file_path = File.join(TMP_UPLOAD_PATH, remote_object_id) file_path = Pathname.new(file_path).cleanpath.to_s raise RemoteStoreError, 'Bad file path' unless file_path.start_with?(TMP_UPLOAD_PATH + '/') - self.object_store = Store::REMOTE - # TODO: # This should be changed to make use of `tmp/cache` mechanism # instead of using custom upload directory, # using tmp/cache makes this implementation way easier than it is today - CarrierWave::Storage::Fog::File.new(self, storage, file_path).tap do |file| + CarrierWave::Storage::Fog::File.new(self, storage_for(Store::REMOTE), file_path).tap do |file| raise RemoteStoreError, 'Missing file' unless file.exists? - self.filename = filename - self.file = storage.store!(file) - end - end - - def store_local_file!(local_path, filename) - raise RemoteStoreError, 'Missing filename' unless filename - - root_path = File.realpath(self.class.workhorse_local_upload_path) - file_path = File.realpath(local_path) - raise RemoteStoreError, 'Bad file path' unless file_path.start_with?(root_path) + # Remote stored file, we force to store on remote storage + self.object_store = Store::REMOTE - self.object_store = Store::LOCAL - self.store!(UploadedFile.new(file_path, filename)) + # TODO: + # We store file internally and force it to be considered as `cached` + # This makes CarrierWave to store file in permament location (copy/delete) + # once this object is saved, but not sooner + @cache_id = "force-to-use-cache" # rubocop:disable Gitlab/ModuleWithInstanceVariables + @file = file # rubocop:disable Gitlab/ModuleWithInstanceVariables + @filename = original_filename # rubocop:disable Gitlab/ModuleWithInstanceVariables + end end # this is a hack around CarrierWave. The #migrate method needs to be diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 6bfbf3b7540..67ca5eae4fb 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -308,6 +308,7 @@ Settings.artifacts['max_size'] ||= 100 # in megabytes Settings.artifacts['object_store'] ||= Settingslogic.new({}) Settings.artifacts['object_store']['enabled'] = false if Settings.artifacts['object_store']['enabled'].nil? Settings.artifacts['object_store']['remote_directory'] ||= nil +Settings.artifacts['object_store']['direct_upload'] = false if Settings.artifacts['object_store']['direct_upload'].nil? Settings.artifacts['object_store']['background_upload'] = true if Settings.artifacts['object_store']['background_upload'].nil? Settings.artifacts['object_store']['proxy_download'] = false if Settings.artifacts['object_store']['proxy_download'].nil? # Convert upload connection settings to use string keys, to make Fog happy diff --git a/config/initializers/artifacts_direct_upload_support.rb b/config/initializers/artifacts_direct_upload_support.rb new file mode 100644 index 00000000000..d2bc35ea613 --- /dev/null +++ b/config/initializers/artifacts_direct_upload_support.rb @@ -0,0 +1,7 @@ +artifacts_object_store = Gitlab.config.artifacts.object_store + +if artifacts_object_store.enabled && + artifacts_object_store.direct_upload && + artifacts_object_store.connection&.provider.to_s != 'Google' + raise "Only 'Google' is supported as a object storage provider when 'direct_upload' of artifacts is used" +end diff --git a/doc/administration/job_artifacts.md b/doc/administration/job_artifacts.md index ac3a12930c3..896cb93e5ed 100644 --- a/doc/administration/job_artifacts.md +++ b/doc/administration/job_artifacts.md @@ -108,6 +108,7 @@ For source installations the following settings are nested under `artifacts:` an |---------|-------------|---------| | `enabled` | Enable/disable object storage | `false` | | `remote_directory` | The bucket name where Artfacts will be stored| | +| `direct_upload` | Set to true to enable direct upload of Artifacts without the need of local shared storage. Option may be removed once we decide to support only single storage for all files. Currently only `Google` provider is supported | `false` | | `background_upload` | Set to false to disable automatic upload. Option may be removed once upload is direct to S3 | `true` | | `proxy_download` | Set to true to enable proxying all files served. Option allows to reduce egress traffic as this allows clients to download directly from remote storage instead of proxying all data | `false` | | `connection` | Various connection options described below | | diff --git a/lib/api/api.rb b/lib/api/api.rb index 62ffebeacb0..073471b4c4d 100644 --- a/lib/api/api.rb +++ b/lib/api/api.rb @@ -78,6 +78,14 @@ module API rack_response({ 'message' => '404 Not found' }.to_json, 404) end + rescue_from UploadedFile::InvalidPathError do |e| + rack_response({ 'message' => e.message }.to_json, 400) + end + + rescue_from ObjectStorage::RemoteStoreError do |e| + rack_response({ 'message' => e.message }.to_json, 500) + end + # Retain 405 error rather than a 500 error for Grape 0.15.0+. # https://github.com/ruby-grape/grape/blob/a3a28f5b5dfbb2797442e006dbffd750b27f2a76/UPGRADING.md#changes-to-method-not-allowed-routes rescue_from Grape::Exceptions::MethodNotAllowed do |e| diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb index e59e8a45908..65370ad5e56 100644 --- a/lib/api/helpers.rb +++ b/lib/api/helpers.rb @@ -388,28 +388,6 @@ module API # file helpers - def uploaded_file(field, uploads_path) - if params[field] - bad_request!("#{field} is not a file") unless params[field][:filename] - return params[field] - end - - return nil unless params["#{field}.path"] && params["#{field}.name"] - - # sanitize file paths - # this requires all paths to exist - required_attributes! %W(#{field}.path) - uploads_path = File.realpath(uploads_path) - file_path = File.realpath(params["#{field}.path"]) - bad_request!('Bad file path') unless file_path.start_with?(uploads_path) - - UploadedFile.new( - file_path, - params["#{field}.name"], - params["#{field}.type"] || 'application/octet-stream' - ) - end - def present_disk_file!(path, filename, content_type = 'application/octet-stream') filename ||= File.basename(path) header['Content-Disposition'] = "attachment; filename=#{filename}" diff --git a/lib/api/runner.rb b/lib/api/runner.rb index 834253d8e94..60aeb69e10a 100644 --- a/lib/api/runner.rb +++ b/lib/api/runner.rb @@ -186,7 +186,7 @@ module API status 200 content_type Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE - Gitlab::Workhorse.artifact_upload_ok + JobArtifactUploader.workhorse_authorize end desc 'Upload artifacts for job' do @@ -201,14 +201,15 @@ module API requires :id, type: Integer, desc: %q(Job's ID) optional :token, type: String, desc: %q(Job's authentication token) optional :expire_in, type: String, desc: %q(Specify when artifacts should expire) - optional :file, type: File, desc: %q(Artifact's file) optional 'file.path', type: String, desc: %q(path to locally stored body (generated by Workhorse)) optional 'file.name', type: String, desc: %q(real filename as send in Content-Disposition (generated by Workhorse)) optional 'file.type', type: String, desc: %q(real content type as send in Content-Type (generated by Workhorse)) - optional 'file.sha256', type: String, desc: %q(sha256 checksum of the file) + optional 'file.size', type: Integer, desc: %q(real size of file (generated by Workhorse)) + optional 'file.sha256', type: String, desc: %q(sha256 checksum of the file (generated by Workhorse)) optional 'metadata.path', type: String, desc: %q(path to locally stored body (generated by Workhorse)) optional 'metadata.name', type: String, desc: %q(filename (generated by Workhorse)) - optional 'metadata.sha256', type: String, desc: %q(sha256 checksum of the file) + optional 'metadata.size', type: Integer, desc: %q(real size of metadata (generated by Workhorse)) + optional 'metadata.sha256', type: String, desc: %q(sha256 checksum of metadata (generated by Workhorse)) end post '/:id/artifacts' do not_allowed! unless Gitlab.config.artifacts.enabled @@ -217,21 +218,34 @@ module API job = authenticate_job! forbidden!('Job is not running!') unless job.running? - workhorse_upload_path = JobArtifactUploader.workhorse_upload_path - artifacts = uploaded_file(:file, workhorse_upload_path) - metadata = uploaded_file(:metadata, workhorse_upload_path) + artifacts = UploadedFile.from_params(params, :file, JobArtifactUploader.workhorse_local_upload_path) + metadata = UploadedFile.from_params(params, :metadata, JobArtifactUploader.workhorse_local_upload_path) bad_request!('Missing artifacts file!') unless artifacts file_to_large! unless artifacts.size < max_artifacts_size + bad_request!("Already uploaded") if job.job_artifacts_archive + expire_in = params['expire_in'] || Gitlab::CurrentSettings.current_application_settings.default_artifacts_expire_in - job.build_job_artifacts_archive(project: job.project, file_type: :archive, file: artifacts, file_sha256: params['file.sha256'], expire_in: expire_in) - job.build_job_artifacts_metadata(project: job.project, file_type: :metadata, file: metadata, file_sha256: params['metadata.sha256'], expire_in: expire_in) if metadata - job.artifacts_expire_in = expire_in + job.build_job_artifacts_archive( + project: job.project, + file: artifacts, + file_type: :archive, + file_sha256: artifacts.sha256, + expire_in: expire_in) + + if metadata + job.build_job_artifacts_metadata( + project: job.project, + file: metadata, + file_type: :metadata, + file_sha256: metadata.sha256, + expire_in: expire_in) + end - if job.save + if job.update(artifacts_expire_in: expire_in) present job, with: Entities::JobRequest::Response else render_validation_error!(job) diff --git a/lib/gitlab/middleware/multipart.rb b/lib/gitlab/middleware/multipart.rb index d4c54049b74..a5f5d719cc1 100644 --- a/lib/gitlab/middleware/multipart.rb +++ b/lib/gitlab/middleware/multipart.rb @@ -82,7 +82,7 @@ module Gitlab end def open_file(path, name) - ::UploadedFile.new(path, name || File.basename(path), 'application/octet-stream') + ::UploadedFile.new(path, filename: name || File.basename(path), content_type: 'application/octet-stream') end end diff --git a/lib/gitlab/workhorse.rb b/lib/gitlab/workhorse.rb index b102812ec12..2faeaf16d55 100644 --- a/lib/gitlab/workhorse.rb +++ b/lib/gitlab/workhorse.rb @@ -36,10 +36,6 @@ module Gitlab } end - def artifact_upload_ok - { TempPath: JobArtifactUploader.workhorse_upload_path } - end - def send_git_blob(repository, blob) params = if Gitlab::GitalyClient.feature_enabled?(:workhorse_raw_show, status: Gitlab::GitalyClient::MigrationStatus::OPT_OUT) { diff --git a/lib/uploaded_file.rb b/lib/uploaded_file.rb index 4a3c40f88eb..5dc85b2baea 100644 --- a/lib/uploaded_file.rb +++ b/lib/uploaded_file.rb @@ -1,8 +1,10 @@ require "tempfile" +require "tmpdir" require "fileutils" -# Taken from: Rack::Test::UploadedFile class UploadedFile + InvalidPathError = Class.new(StandardError) + # The filename, *not* including the path, of the "uploaded" file attr_reader :original_filename @@ -12,14 +14,46 @@ class UploadedFile # The content type of the "uploaded" file attr_accessor :content_type - def initialize(path, filename, content_type = "text/plain") - raise "#{path} file does not exist" unless ::File.exist?(path) + attr_reader :remote_id + attr_reader :sha256 + + def initialize(path, filename: nil, content_type: "application/octet-stream", sha256: nil, remote_id: nil) + raise InvalidPathError, "#{path} file does not exist" unless ::File.exist?(path) @content_type = content_type @original_filename = filename || ::File.basename(path) + @content_type = content_type + @sha256 = sha256 + @remote_id = remote_id @tempfile = File.new(path, 'rb') end + def self.from_params(params, field, upload_path) + unless params["#{field}.path"] + raise InvalidPathError, "file is invalid" if params["#{field}.remote_id"] + + return + end + + file_path = File.realpath(params["#{field}.path"]) + + unless self.allowed_path?(file_path, [upload_path, Dir.tmpdir].compact) + raise InvalidPathError, "insecure path used '#{file_path}'" + end + + UploadedFile.new(file_path, + filename: params["#{field}.name"], + content_type: params["#{field}.type"] || 'application/octet-stream', + sha256: params["#{field}.sha256"], + remote_id: params["#{field}.remote_id"]) + end + + def self.allowed_path?(file_path, paths) + paths.any? do |path| + File.exist?(path) && file_path.start_with?(File.realpath(path)) + end + end + def path @tempfile.path end diff --git a/spec/initializers/artifacts_direct_upload_support_spec.rb b/spec/initializers/artifacts_direct_upload_support_spec.rb new file mode 100644 index 00000000000..bfb71da3388 --- /dev/null +++ b/spec/initializers/artifacts_direct_upload_support_spec.rb @@ -0,0 +1,71 @@ +require 'spec_helper' + +describe 'Artifacts direct upload support' do + subject do + load Rails.root.join('config/initializers/artifacts_direct_upload_support.rb') + end + + let(:connection) do + { provider: provider } + end + + before do + stub_artifacts_setting( + object_store: { + enabled: enabled, + direct_upload: direct_upload, + connection: connection + }) + end + + context 'when object storage is enabled' do + let(:enabled) { true } + + context 'when direct upload is enabled' do + let(:direct_upload) { true } + + context 'when provider is Google' do + let(:provider) { 'Google' } + + it 'succeeds' do + expect { subject }.not_to raise_error + end + end + + context 'when connection is empty' do + let(:connection) { nil } + + it 'raises an error' do + expect { subject }.to raise_error /object storage provider when 'direct_upload' of artifacts is used/ + end + end + + context 'when other provider is used' do + let(:provider) { 'AWS' } + + it 'raises an error' do + expect { subject }.to raise_error /object storage provider when 'direct_upload' of artifacts is used/ + end + end + end + + context 'when direct upload is disabled' do + let(:direct_upload) { false } + let(:provider) { 'AWS' } + + it 'succeeds' do + expect { subject }.not_to raise_error + end + end + end + + context 'when object storage is disabled' do + let(:enabled) { false } + let(:direct_upload) { false } + let(:provider) { 'AWS' } + + it 'succeeds' do + expect { subject }.not_to raise_error + end + end +end diff --git a/spec/lib/uploaded_file_spec.rb b/spec/lib/uploaded_file_spec.rb new file mode 100644 index 00000000000..cc99e7e8911 --- /dev/null +++ b/spec/lib/uploaded_file_spec.rb @@ -0,0 +1,116 @@ +require 'spec_helper' + +describe UploadedFile do + describe ".from_params" do + let(:temp_dir) { Dir.tmpdir } + let(:temp_file) { Tempfile.new("test", temp_dir) } + let(:upload_path) { nil } + + subject do + described_class.from_params(params, :file, upload_path) + end + + before do + FileUtils.touch(temp_file) + end + + after do + FileUtils.rm_f(temp_file) + FileUtils.rm_r(upload_path) if upload_path + end + + context 'when valid file is specified' do + context 'only local path is specified' do + let(:params) do + { 'file.path' => temp_file.path } + end + + it "succeeds" do + is_expected.not_to be_nil + end + + it "generates filename from path" do + expect(subject.original_filename).to eq(::File.basename(temp_file.path)) + end + end + + context 'all parameters are specified' do + let(:params) do + { 'file.path' => temp_file.path, + 'file.name' => 'my_file.txt', + 'file.type' => 'my/type', + 'file.sha256' => 'sha256', + 'file.remote_id' => 'remote_id' } + end + + it "succeeds" do + is_expected.not_to be_nil + end + + it "generates filename from path" do + expect(subject.original_filename).to eq('my_file.txt') + expect(subject.content_type).to eq('my/type') + expect(subject.sha256).to eq('sha256') + expect(subject.remote_id).to eq('remote_id') + end + end + end + + context 'when no params are specified' do + let(:params) do + {} + end + + it "does not return an object" do + is_expected.to be_nil + end + end + + context 'when only remote id is specified' do + let(:params) do + { 'file.remote_id' => 'remote_id' } + end + + it "raises an error" do + expect { subject }.to raise_error(UploadedFile::InvalidPathError, /file is invalid/) + end + end + + context 'when verifying allowed paths' do + let(:params) do + { 'file.path' => temp_file.path } + end + + context 'when file is stored in system temporary folder' do + let(:temp_dir) { Dir.tmpdir } + + it "succeeds" do + is_expected.not_to be_nil + end + end + + context 'when file is stored in user provided upload path' do + let(:upload_path) { Dir.mktmpdir } + let(:temp_dir) { upload_path } + + it "succeeds" do + is_expected.not_to be_nil + end + end + + context 'when file is stored outside of user provided upload path' do + let!(:generated_dir) { Dir.mktmpdir } + let!(:temp_dir) { Dir.mktmpdir } + + before do + # We overwrite default temporary path + allow(Dir).to receive(:tmpdir).and_return(generated_dir) + end + + it "raises an error" do + expect { subject }.to raise_error(UploadedFile::InvalidPathError, /insecure path used/) + end + end + end + end +end diff --git a/spec/requests/api/runner_spec.rb b/spec/requests/api/runner_spec.rb index 4f3420cc0ad..28d51ac86c6 100644 --- a/spec/requests/api/runner_spec.rb +++ b/spec/requests/api/runner_spec.rb @@ -950,12 +950,53 @@ describe API::Runner do describe 'POST /api/v4/jobs/:id/artifacts/authorize' do context 'when using token as parameter' do - it 'authorizes posting artifacts to running job' do - authorize_artifacts_with_token_in_params + context 'posting artifacts to running job' do + subject do + authorize_artifacts_with_token_in_params + end - expect(response).to have_gitlab_http_status(200) - expect(response.content_type.to_s).to eq(Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE) - expect(json_response['TempPath']).not_to be_nil + shared_examples 'authorizes local file' do + it 'succeeds' do + subject + + expect(response).to have_gitlab_http_status(200) + expect(response.content_type.to_s).to eq(Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE) + expect(json_response['TempPath']).to eq(JobArtifactUploader.workhorse_local_upload_path) + expect(json_response['RemoteObject']).to be_nil + end + end + + context 'when using local storage' do + it_behaves_like 'authorizes local file' + end + + context 'when using remote storage' do + context 'when direct upload is enabled' do + before do + stub_artifacts_object_storage(enabled: true, direct_upload: true) + end + + it 'succeeds' do + subject + + expect(response).to have_gitlab_http_status(200) + expect(response.content_type.to_s).to eq(Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE) + expect(json_response['TempPath']).to eq(JobArtifactUploader.workhorse_local_upload_path) + expect(json_response['RemoteObject']).to have_key('ID') + expect(json_response['RemoteObject']).to have_key('GetURL') + expect(json_response['RemoteObject']).to have_key('StoreURL') + expect(json_response['RemoteObject']).to have_key('DeleteURL') + end + end + + context 'when direct upload is disabled' do + before do + stub_artifacts_object_storage(enabled: true, direct_upload: false) + end + + it_behaves_like 'authorizes local file' + end + end end it 'fails to post too large artifact' do @@ -1051,20 +1092,45 @@ describe API::Runner do end end - context 'when uses regular file post' do - before do - upload_artifacts(file_upload, headers_with_token, false) + context 'when uses accelerated file post' do + context 'for file stored locally' do + before do + upload_artifacts(file_upload, headers_with_token) + end + + it_behaves_like 'successful artifacts upload' end - it_behaves_like 'successful artifacts upload' - end + context 'for file stored remotelly' do + let!(:fog_connection) do + stub_artifacts_object_storage(direct_upload: true) + end - context 'when uses accelerated file post' do - before do - upload_artifacts(file_upload, headers_with_token, true) - end + before do + fog_connection.directories.get('artifacts').files.create( + key: 'tmp/upload/12312300', + body: 'content' + ) - it_behaves_like 'successful artifacts upload' + upload_artifacts(file_upload, headers_with_token, + { 'file.remote_id' => remote_id }) + end + + context 'when valid remote_id is used' do + let(:remote_id) { '12312300' } + + it_behaves_like 'successful artifacts upload' + end + + context 'when invalid remote_id is used' do + let(:remote_id) { 'invalid id' } + + it 'responds with bad request' do + expect(response).to have_gitlab_http_status(500) + expect(json_response['message']).to eq("Missing file") + end + end + end end context 'when using runners token' do @@ -1208,15 +1274,19 @@ describe API::Runner do end context 'when artifacts are being stored outside of tmp path' do + let(:new_tmpdir) { Dir.mktmpdir } + before do + # init before overwriting tmp dir + file_upload + # by configuring this path we allow to pass file from @tmpdir only # but all temporary files are stored in system tmp directory - @tmpdir = Dir.mktmpdir - allow(JobArtifactUploader).to receive(:workhorse_upload_path).and_return(@tmpdir) + allow(Dir).to receive(:tmpdir).and_return(new_tmpdir) end after do - FileUtils.remove_entry @tmpdir + FileUtils.remove_entry(new_tmpdir) end it' "fails to post artifacts for outside of tmp path"' do @@ -1226,12 +1296,11 @@ describe API::Runner do end end - def upload_artifacts(file, headers = {}, accelerated = true) - params = if accelerated - { 'file.path' => file.path, 'file.name' => file.original_filename } - else - { 'file' => file } - end + def upload_artifacts(file, headers = {}, params = {}) + params = params.merge({ + 'file.path' => file.path, + 'file.name' => file.original_filename + }) post api("/jobs/#{job.id}/artifacts"), params, headers end diff --git a/spec/requests/lfs_http_spec.rb b/spec/requests/lfs_http_spec.rb index 1e6bd993c08..f80abb06fca 100644 --- a/spec/requests/lfs_http_spec.rb +++ b/spec/requests/lfs_http_spec.rb @@ -1016,7 +1016,7 @@ describe 'Git LFS API and storage' do it_behaves_like 'a valid response' do it 'responds with status 200, location of lfs remote store and object details' do - expect(json_response['TempPath']).to be_nil + expect(json_response['TempPath']).to eq(LfsObjectUploader.workhorse_local_upload_path) expect(json_response['RemoteObject']).to have_key('ID') expect(json_response['RemoteObject']).to have_key('GetURL') expect(json_response['RemoteObject']).to have_key('StoreURL') @@ -1073,7 +1073,9 @@ describe 'Git LFS API and storage' do ['123123', '../../123123'].each do |remote_id| context "with invalid remote_id: #{remote_id}" do subject do - put_finalize_with_args('file.remote_id' => remote_id) + put_finalize(with_tempfile: true, args: { + 'file.remote_id' => remote_id + }) end it 'responds with status 403' do @@ -1093,9 +1095,10 @@ describe 'Git LFS API and storage' do end subject do - put_finalize_with_args( + put_finalize(with_tempfile: true, args: { 'file.remote_id' => '12312300', - 'file.name' => 'name') + 'file.name' => 'name' + }) end it 'responds with status 200' do @@ -1331,7 +1334,7 @@ describe 'Git LFS API and storage' do put "#{project.http_url_to_repo}/gitlab-lfs/objects/#{sample_oid}/#{sample_size}/authorize", nil, authorize_headers end - def put_finalize(lfs_tmp = lfs_tmp_file, with_tempfile: false) + def put_finalize(lfs_tmp = lfs_tmp_file, with_tempfile: false, args: {}) upload_path = LfsObjectUploader.workhorse_local_upload_path file_path = upload_path + '/' + lfs_tmp if lfs_tmp @@ -1340,12 +1343,12 @@ describe 'Git LFS API and storage' do FileUtils.touch(file_path) end - args = { + extra_args = { 'file.path' => file_path, 'file.name' => File.basename(file_path) - }.compact + } - put_finalize_with_args(args) + put_finalize_with_args(args.merge(extra_args).compact) end def put_finalize_with_args(args) diff --git a/spec/support/stub_configuration.rb b/spec/support/stub_configuration.rb index bad1d34df3a..a75a3eaefcb 100644 --- a/spec/support/stub_configuration.rb +++ b/spec/support/stub_configuration.rb @@ -45,6 +45,10 @@ module StubConfiguration allow(Gitlab.config.lfs).to receive_messages(to_settings(messages)) end + def stub_artifacts_setting(messages) + allow(Gitlab.config.artifacts).to receive_messages(to_settings(messages)) + end + def stub_storage_settings(messages) messages.deep_stringify_keys! diff --git a/spec/uploaders/object_storage_spec.rb b/spec/uploaders/object_storage_spec.rb index 17d508d0146..16455e2517b 100644 --- a/spec/uploaders/object_storage_spec.rb +++ b/spec/uploaders/object_storage_spec.rb @@ -516,108 +516,46 @@ describe ObjectStorage do end end - describe '#store_workhorse_file!' do + describe '#cache!' do subject do - uploader.store_workhorse_file!(params, :file) + uploader.cache!(uploaded_file) end context 'when local file is used' do context 'when valid file is used' do - let(:target_path) do - File.join(uploader_class.root, uploader_class::TMP_UPLOAD_PATH) + let(:uploaded_file) do + fixture_file_upload(Rails.root + 'spec/fixtures/rails_sample.jpg', 'image/jpg') end - before do - FileUtils.mkdir_p(target_path) - end - - context 'when no filename is specified' do - let(:params) do - { "file.path" => "test/file" } - end - - it 'raises an error' do - expect { subject }.to raise_error(uploader_class::RemoteStoreError, /Missing filename/) - end - end - - context 'when invalid file is specified' do - let(:file_path) do - File.join(target_path, "..", "test.file") - end - - before do - FileUtils.touch(file_path) - end - - let(:params) do - { "file.path" => file_path, - "file.name" => "my_file.txt" } - end - - it 'raises an error' do - expect { subject }.to raise_error(uploader_class::RemoteStoreError, /Bad file path/) - end - end - - context 'when filename is specified' do - let(:params) do - { "file.path" => tmp_file, - "file.name" => "my_file.txt" } - end - - let(:tmp_file) { Tempfile.new('filename', target_path) } - - before do - FileUtils.touch(tmp_file) - end - - after do - FileUtils.rm_f(tmp_file) - end - - it 'succeeds' do - expect { subject }.not_to raise_error - - expect(uploader).to be_exists - end - - it 'proper path is being used' do - subject - - expect(uploader.path).to start_with(uploader_class.root) - expect(uploader.path).to end_with("my_file.txt") - end + it "properly caches the file" do + subject - it 'source file to not exist' do - subject - - expect(File.exist?(tmp_file.path)).to be_falsey - end + expect(uploader).to be_exists + expect(uploader.path).to start_with(uploader_class.root) + expect(uploader.filename).to eq('rails_sample.jpg') end end end context 'when remote file is used' do + let(:temp_file) { Tempfile.new("test") } + let!(:fog_connection) do stub_uploads_object_storage(uploader_class) end - context 'when valid file is used' do - context 'when no filename is specified' do - let(:params) do - { "file.remote_id" => "test/123123" } - end + before do + FileUtils.touch(temp_file) + end - it 'raises an error' do - expect { subject }.to raise_error(uploader_class::RemoteStoreError, /Missing filename/) - end - end + after do + FileUtils.rm_f(temp_file) + end + context 'when valid file is used' do context 'when invalid file is specified' do - let(:params) do - { "file.remote_id" => "../test/123123", - "file.name" => "my_file.txt" } + let(:uploaded_file) do + UploadedFile.new(temp_file.path, remote_id: "../test/123123") end it 'raises an error' do @@ -626,9 +564,8 @@ describe ObjectStorage do end context 'when non existing file is specified' do - let(:params) do - { "file.remote_id" => "test/12312300", - "file.name" => "my_file.txt" } + let(:uploaded_file) do + UploadedFile.new(temp_file.path, remote_id: "test/123123") end it 'raises an error' do @@ -636,10 +573,9 @@ describe ObjectStorage do end end - context 'when filename is specified' do - let(:params) do - { "file.remote_id" => "test/123123", - "file.name" => "my_file.txt" } + context 'when valid file is specified' do + let(:uploaded_file) do + UploadedFile.new(temp_file.path, filename: "my_file.txt", remote_id: "test/123123") end let!(:fog_file) do @@ -649,36 +585,37 @@ describe ObjectStorage do ) end - it 'succeeds' do + it 'file to be cached and remote stored' do expect { subject }.not_to raise_error expect(uploader).to be_exists - end - - it 'path to not be temporary' do - subject - + expect(uploader).to be_cached expect(uploader.path).not_to be_nil - expect(uploader.path).not_to include('tmp/upload') - expect(uploader.url).to include('/my_file.txt') + expect(uploader.path).not_to include('tmp/cache') + expect(uploader.url).not_to be_nil + expect(uploader.path).not_to include('tmp/cache') + expect(uploader.object_store).to eq(described_class::Store::REMOTE) end - it 'url is used' do - subject + context 'when file is stored' do + subject do + uploader.store!(uploaded_file) + end - expect(uploader.url).not_to be_nil - expect(uploader.url).to include('/my_file.txt') + it 'file to be remotely stored in permament location' do + subject + + expect(uploader).to be_exists + expect(uploader).not_to be_cached + expect(uploader.path).not_to be_nil + expect(uploader.path).not_to include('tmp/upload') + expect(uploader.path).not_to include('tmp/cache') + expect(uploader.url).to include('/my_file.txt') + expect(uploader.object_store).to eq(described_class::Store::REMOTE) + end end end end end - - context 'when no file is used' do - let(:params) { {} } - - it 'raises an error' do - expect { subject }.to raise_error(uploader_class::RemoteStoreError, /Bad file/) - end - end end end -- cgit v1.2.1 From 4651c471ba3b4700a38f7479e06dd40c513bd511 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Thu, 5 Apr 2018 09:44:53 +0000 Subject: Merge branch 'master-i18n' into 'master' New Crowdin translations See merge request gitlab-org/gitlab-ee!5241 --- locale/bg/gitlab.po | 1053 +++++++++++++++++++++-- locale/de/gitlab.po | 1053 +++++++++++++++++++++-- locale/eo/gitlab.po | 1053 +++++++++++++++++++++-- locale/es/gitlab.po | 1057 +++++++++++++++++++++-- locale/fil_PH/gitlab.po | 1049 +++++++++++++++++++++-- locale/fr/gitlab.po | 1077 ++++++++++++++++++++++-- locale/id_ID/gitlab.po | 1048 +++++++++++++++++++++-- locale/it/gitlab.po | 1067 +++++++++++++++++++++-- locale/ja/gitlab.po | 1052 +++++++++++++++++++++-- locale/ko/gitlab.po | 1052 +++++++++++++++++++++-- locale/nl_NL/gitlab.po | 1049 +++++++++++++++++++++-- locale/pl_PL/gitlab.po | 1063 +++++++++++++++++++++-- locale/pt_BR/gitlab.po | 1637 +++++++++++++++++++++++++++-------- locale/ru/gitlab.po | 1369 +++++++++++++++++++++++++----- locale/tr_TR/gitlab.po | 1049 +++++++++++++++++++++-- locale/uk/gitlab.po | 1239 +++++++++++++++++++++++---- locale/zh_CN/gitlab.po | 2152 +++++++++++++++++++++++++++++++++-------------- locale/zh_HK/gitlab.po | 1052 +++++++++++++++++++++-- locale/zh_TW/gitlab.po | 1150 ++++++++++++++++++++++--- 19 files changed, 20062 insertions(+), 2259 deletions(-) diff --git a/locale/bg/gitlab.po b/locale/bg/gitlab.po index c996b30d7fa..a170014844f 100644 --- a/locale/bg/gitlab.po +++ b/locale/bg/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:19-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:34-0400\n" "Last-Translator: gitlab \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "" msgstr[1] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "" msgstr[1] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s подаване беше пропуснато, за да не се натоварва системата." @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "" msgstr[1] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -103,15 +116,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Набор от графики относно непрекъснатата интеграция" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "Относно автоматичното внедряване" msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -121,6 +149,9 @@ msgstr "" msgid "Account" msgstr "" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Активно" @@ -217,9 +248,33 @@ msgstr "" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -298,6 +353,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -331,6 +389,9 @@ msgstr "" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -343,6 +404,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -367,6 +437,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -409,6 +482,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -492,6 +571,15 @@ msgstr "Превключване на клона" msgid "Branches" msgstr "Клони" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -537,12 +625,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -588,30 +703,45 @@ msgstr "Преглед на файловете" msgid "Browse files" msgstr "Разглеждане на файловете" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "от" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "Отказ" -msgid "Cancel edit" +msgid "Cannot be merged automatically" msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "Избиране в клона" @@ -666,6 +796,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -768,6 +904,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -867,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -894,6 +1045,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -927,6 +1081,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -987,6 +1144,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1014,6 +1174,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1138,6 +1301,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1153,9 +1322,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1201,6 +1406,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "Ръководство за сътрудничество" @@ -1264,8 +1475,8 @@ msgstr "" msgid "Create directory" msgstr "Създаване на папка" -msgid "Create empty bare repository" -msgstr "Създаване на празно хранилище" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "" @@ -1273,6 +1484,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1297,6 +1511,9 @@ msgstr "" msgid "Create new..." msgstr "Създаване на нов…" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "Разклоняване" @@ -1330,6 +1547,9 @@ msgstr "Персонализирани събития за известяван msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "Персонализираните нива на известяване са същите като нивата за участие. С персонализираните нива на известяване ще можете да получавате и известия за избрани събития. За да научите повече, прегледайте %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "Анализ на циклите" @@ -1413,9 +1633,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "Да не се показва повече" +msgid "Done" +msgstr "" + msgid "Download" msgstr "Сваляне" @@ -1443,9 +1669,15 @@ msgstr "Обикновен файл с разлики" msgid "DownloadSource|Download" msgstr "Сваляне" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "Редактиране" @@ -1455,6 +1687,18 @@ msgstr "Редактиране на плана %{id} за схема" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1464,6 +1708,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1524,6 +1795,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1599,9 +1873,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1611,6 +1891,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1644,6 +1927,9 @@ msgstr "Файлове" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "Филтриране по съобщение" @@ -1653,12 +1939,21 @@ msgstr "Търсене по път" msgid "Find file" msgstr "Търсене на файл" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "Първо" msgid "FirstPushedBy|pushed by" msgstr "изпращане на промени от" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "Разклонение" @@ -1670,9 +1965,15 @@ msgstr "Разклонение на" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "От създаването на проблема до внедряването в крайната версия" @@ -1691,12 +1992,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1742,21 +2049,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,9 +2103,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1802,6 +2148,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1811,12 +2160,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "Към Вашето разклонение" @@ -1883,9 +2250,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1916,6 +2280,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1934,6 +2301,15 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1945,12 +2321,39 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "Освежаването започна успешно" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" msgstr "" msgid "Import repository" msgstr "Внасяне на хранилище" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1974,6 +2377,9 @@ msgstr[1] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2028,6 +2434,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "Изключено" msgid "LFSStatus|Enabled" msgstr "Включено" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "Последния %d ден" @@ -2123,6 +2550,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2135,9 +2565,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2153,9 +2580,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2177,6 +2616,9 @@ msgstr "Медиана" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2189,15 +2631,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "добавите SSH ключ" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2299,6 +2825,9 @@ msgstr "" msgid "New tag" msgstr "Нов етикет" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2317,6 +2846,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "Няма хранилище" @@ -2332,6 +2864,12 @@ msgstr "" msgid "Not available" msgstr "Не е налично" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2341,6 +2879,18 @@ msgstr "Няма достатъчно данни" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "Събития за известяване" @@ -2425,6 +2975,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "Филтър" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2446,12 +3002,18 @@ msgstr "Опции" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "Собственик" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2464,9 +3026,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "Схема" @@ -2548,9 +3122,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2581,6 +3182,9 @@ msgstr "с етап" msgid "Pipeline|with stages" msgstr "с етапи" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2590,6 +3194,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2644,6 +3254,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2668,9 +3281,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "" @@ -2767,6 +3377,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,19 +3422,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2815,6 +3437,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2824,7 +3449,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2860,6 +3494,9 @@ msgstr "Прочетете повече" msgid "Readme" msgstr "ПрочетиМе" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Клони" @@ -2893,6 +3530,9 @@ msgstr "Свързани заявки за сливане" msgid "Related Merged Requests" msgstr "Свързани приложени заявки за сливане" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "Напомняне по-късно" @@ -2908,12 +3548,24 @@ msgstr "Премахване на проекта" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Заявка за достъп" @@ -2929,6 +3581,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2940,9 +3595,36 @@ msgstr "Отмяна на това подаване" msgid "Revert this merge request" msgstr "Отмяна на тази заявка за сливане" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2958,6 +3640,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "Създаване на нов план за схема" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2967,6 +3652,9 @@ msgstr "Планиране на схемите" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "Търсете в клоните и етикетите" @@ -3030,15 +3718,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Задайте парола на акаунта си, за да можете да изтегляте и изпращате промени чрез %{protocol}." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "Настройка на „Koding“" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "зададете парола" @@ -3048,6 +3754,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,40 +3792,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3236,12 +3945,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "Звезда" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3251,6 +3969,15 @@ msgstr "Създайте %{new_merge_request} с тези промени" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3263,9 +3990,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "Преминаване към клон/етикет" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3346,6 +4079,9 @@ msgstr "" msgid "Target Branch" msgstr "Целеви клон" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3361,15 +4097,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "Етапът на програмиране показва времето от първото подаване до създаването на заявката за сливане. Данните ще бъдат добавени тук автоматично след като бъде създадена първата заявка за сливане." msgid "The collection of events added to the data gathered for that stage." msgstr "Съвкупността от събития добавени към данните събрани за този етап." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "Връзката на разклонение беше премахната." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "Етапът на проблемите показва колко е времето от създаването на проблем до определянето на целеви етап на проекта за него, или до добавянето му в списък на дъската за проблеми. Започнете да добавяте проблеми, за да видите данните за този етап." @@ -3382,12 +4127,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "Етапът от цикъла на разработка" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "Етапът на планиране показва колко е времето от преходната стъпка до изпращането на първото подаване. Това време ще бъде добавено автоматично след като изпратите първото си подаване." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "Етапът на издаване показва общото време, което е нужно от създаването на проблем до внедряването на кода в крайната версия. Данните ще бъдат добавени автоматично след като завършите един пълен цикъл и превърнете първата си идея в реалност." @@ -3403,6 +4154,9 @@ msgstr "Хранилището за този проект не съществу msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "Етапът на преглед и одобрение показва времето от създаването на заявката за сливане до прилагането ѝ. Данните ще бъдат добавени автоматично след като приложите първата си заявка за сливане." @@ -3439,6 +4193,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3511,6 +4268,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3523,6 +4283,12 @@ msgstr "Време преди работата по проблем да запо msgid "Time between merge request creation and merge/close" msgstr "Време между създаване на заявка за сливане и прилагането/отхвърлянето ѝ" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3680,6 +4446,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3770,6 +4560,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "щракнете за качване" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3779,24 +4575,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "Използване на глобалната Ви настройка за известията" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "Преглед на отворената заявка за сливане" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "Вътрешен" @@ -3824,12 +4647,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3950,14 +4779,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "На път сте да премахнете „%{group_name}“. Ако я премахнете, групата НЕ може да бъде възстановена! НАИСТИНА ли искате това?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "На път сте да премахнете „%{project_name_with_namespace}“. Ако го премахнете, той НЕ може да бъде възстановен!НАИСТИНА ли искате това?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "На път сте да премахнете връзката на разклонението към оригиналния проект, „%{forked_from_project}“. НАИСТИНА ли искате това?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "На път сте да прехвърлите „%{project_name_with_namespace}“ към друг собственик. НАИСТИНА ли искате това?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4031,9 +4866,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4049,6 +4902,14 @@ msgstr "Вашето име" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + msgid "assign yourself" msgstr "" @@ -4058,12 +4919,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "ден" msgstr[1] "дни" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4328,6 +5259,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4337,6 +5271,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/de/gitlab.po b/locale/de/gitlab.po index 76982ff61b1..5a5cf1a19a3 100644 --- a/locale/de/gitlab.po +++ b/locale/de/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:21-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:37-0400\n" "Last-Translator: gitlab \n" "Language-Team: German\n" "Language: de_DE\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "" msgstr[1] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "" msgstr[1] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s zusätzlicher Commit wurde ausgelassen um Leistungsprobleme zu verhindern." @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "" msgstr[1] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -103,15 +116,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Eine Sammlung von Graphen bezüglich kontinuierlicher Integration" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "Über automatische Bereitstellung " msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -121,6 +149,9 @@ msgstr "Zugriff auf fehlerhafte Speicher wurde vorübergehend deaktiviert, um di msgid "Account" msgstr "Konto" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Aktiv" @@ -217,9 +248,33 @@ msgstr "Alle" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -298,6 +353,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -331,6 +389,9 @@ msgstr "Bist Du sicher?" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -343,6 +404,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -367,6 +437,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -409,6 +482,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -492,6 +571,15 @@ msgstr "Branch wechseln" msgid "Branches" msgstr "" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -537,12 +625,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -588,30 +703,45 @@ msgstr "Dateien durchsuchen" msgid "Browse files" msgstr "Dateien durchsuchen" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "von" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "Abbrechen" -msgid "Cancel edit" -msgstr "Bearbeitung abbrechen" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "In dem Branch wählen" @@ -666,6 +796,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -768,6 +904,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -867,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -894,6 +1045,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -927,6 +1081,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -987,6 +1144,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1014,6 +1174,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1138,6 +1301,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1153,9 +1322,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1201,6 +1406,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "Mitarbeitsanleitung" @@ -1264,8 +1475,8 @@ msgstr "" msgid "Create directory" msgstr "Erstelle Verzeichnis" -msgid "Create empty bare repository" -msgstr "Erstelle leeres Repository" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "" @@ -1273,6 +1484,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1297,6 +1511,9 @@ msgstr "" msgid "Create new..." msgstr "Erstelle neues..." +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "Ableger" @@ -1330,6 +1547,9 @@ msgstr "Individuelle Benachrichtigungsereignisse" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "Individuelle Benachrichtigungsstufen sind identisch mit den Beteiligungsstufen. Mit individuellen Benachrichtigungsstufen erhältst Du ebenfalls Mitteilungen für ausgewählte Ereignisse. Für weitere Informationen lies %{notification_link}. " +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "Arbeitsablaufsanalysen" @@ -1413,9 +1633,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "Nicht erneut anzeigen" +msgid "Done" +msgstr "" + msgid "Download" msgstr "Herunterladen" @@ -1443,9 +1669,15 @@ msgstr "Unterschiede" msgid "DownloadSource|Download" msgstr "Herunterladen" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "Bearbeiten" @@ -1455,6 +1687,18 @@ msgstr "Pipeline Zeitplan bearbeiten %{id}" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "E-Mails" @@ -1464,6 +1708,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1524,6 +1795,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1599,9 +1873,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1611,6 +1891,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1644,6 +1927,9 @@ msgstr "Dateien" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "Filter nach Commit Nachricht" @@ -1653,12 +1939,21 @@ msgstr "Finde über den Pfad" msgid "Find file" msgstr "Finde Datei" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "Erster" msgid "FirstPushedBy|pushed by" msgstr "übertragen von" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "Ableger" @@ -1670,9 +1965,15 @@ msgstr "Ableger von" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "Von der Ticketbeschreibung bis zur Bereitstellung" @@ -1691,12 +1992,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1742,21 +2049,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,9 +2103,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1802,6 +2148,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1811,12 +2160,30 @@ msgstr "Informationen über den Speicherzustand von Gitlab wurden zurückgesetzt msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "GitLab Runner Bereich" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "Gehe zu Deinem Ableger" @@ -1883,9 +2250,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1916,6 +2280,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "Systemzustand" @@ -1934,6 +2301,15 @@ msgstr "Keine Probleme erkannt" msgid "HealthCheck|Unhealthy" msgstr "Problematisch" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1945,12 +2321,39 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "Aufräumen erfolgreich gestartet" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "" +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + msgid "Import repository" msgstr "Repository importieren" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1974,6 +2377,9 @@ msgstr[1] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2028,6 +2434,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "Deaktiviert" msgid "LFSStatus|Enabled" msgstr "Aktiviert" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "Letzten %d Tag" @@ -2123,6 +2550,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2135,9 +2565,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2153,9 +2580,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2177,6 +2616,9 @@ msgstr "Median" msgid "Members" msgstr "Mitglieder" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2189,15 +2631,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "Nachrichten" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "einen SSH Schlüssel hinzufügst" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "Überwachung" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2299,6 +2825,9 @@ msgstr "" msgid "New tag" msgstr "Neuer Tag" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2317,6 +2846,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "Kein Repository" @@ -2332,6 +2864,12 @@ msgstr "" msgid "Not available" msgstr "Nicht verfügbar" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2341,6 +2879,18 @@ msgstr "Nicht genügend Daten" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "Benachrichtigungsereignisse" @@ -2425,6 +2975,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "Filter" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2446,12 +3002,18 @@ msgstr "Optionen" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "Übersicht" msgid "Owner" msgstr "Besitzer" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2464,9 +3026,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "Passwort" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "" @@ -2548,9 +3122,36 @@ msgstr "Pipelines des letzten Jahres" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2581,6 +3182,9 @@ msgstr "mit Stage" msgid "Pipeline|with stages" msgstr "mit Stages" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2590,6 +3194,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2644,6 +3254,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2668,9 +3281,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "Projektdetails" @@ -2767,6 +3377,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,19 +3422,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2815,6 +3437,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2824,7 +3449,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2860,6 +3494,9 @@ msgstr "Mehr lesen" msgid "Readme" msgstr "Lies mich" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Branches" @@ -2893,6 +3530,9 @@ msgstr "Zugehörige Merge Requests" msgid "Related Merged Requests" msgstr "Zugehörige umgesetzte Merge Requests" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "Später erinnern" @@ -2908,12 +3548,24 @@ msgstr "Projekt entfernen" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Anfrage auf Zugriff" @@ -2929,6 +3581,9 @@ msgstr "Registrierungstoken für Runner zurücksetzen" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2940,9 +3595,36 @@ msgstr "Commit zurücksetzen" msgid "Revert this merge request" msgstr "Merge Request zurücksetzen" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "SSH-Schlüssel" @@ -2958,6 +3640,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "Plane eine neue Pipeline" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2967,6 +3652,9 @@ msgstr "Pipelines planen" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "Suche nach Branches und Tags" @@ -3030,15 +3718,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Lege ein Passwort für dein Konto fest, um mittels %{protocol} zu übertragen (push) oder abzurufen (pull)." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "Koding einrichten" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "ein Passwort festlegst" @@ -3048,6 +3754,9 @@ msgstr "Einstellungen" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,40 +3792,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3236,12 +3945,21 @@ msgstr "" msgid "Spam Logs" msgstr "Spam-Protokolle" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "Lege die folgende URL während des Runner Setups fest:" msgid "StarProject|Star" msgstr "Favorisieren" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3251,6 +3969,15 @@ msgstr "Beginne einen %{new_merge_request} mit diesen Änderungen" msgid "Start the Runner!" msgstr "Starte den Runner!" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3263,9 +3990,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "Zu Branch/Tag wechseln" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3346,6 +4079,9 @@ msgstr "" msgid "Target Branch" msgstr "Zielbranch" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3361,15 +4097,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "Die Entwicklungsphase stellt die Zeit vom ersten Commit bis zum Erstellen eines Merge Requests dar. Sobald Du Deinen ersten Merge Request anlegst, werden dessen Daten automatisch ergänzt." msgid "The collection of events added to the data gathered for that stage." msgstr "Ereignisse, die für diese Phase ausgewertet wurden." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "Die Beziehung des Ablegers wurde entfernt." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "Die Ticketphase stellt die Zeit vom Anlegen eines Tickets bis zum Zuweisen eines Meilensteins oder Hinzufügen zur Aufgabentafel dar. Erstelle einen Ticket, damit dessen Daten hier erscheinen." @@ -3382,12 +4127,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "Die Phase des Entwicklungslebenszyklus." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "Die Planungsphase stellt die Zeit von der vorherigen Phase bis zum Übertragen des ersten Commits dar. Sobald Du den ersten Commit überträgst, werden dessen Daten hier erscheinen." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "Die Produktionsphase stellt die Gesamtzeit vom Anlegen eines Tickets bis zur Bereitstellung des Codes auf dem Produktivsystem dar. Sobald Du den vollständigen Entwicklungszyklus, von einer Idee bis zur Fertigstellung, durchlaufen hast, erscheinen die zugehörigen Daten hier." @@ -3403,6 +4154,9 @@ msgstr "Das Repository für das Projekt existiert nicht." msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "Die Überprüfungsphase stellt die Zeit vom Anlegen eines Merge Requests bis dessen Umsetzung dar. Sobald Du Deinen ersten Merge Request abschließt, werden dessen Daten hier automatisch angezeigt." @@ -3439,6 +4193,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "Es gibt ein Problem beim Zugriff auf den Gitspeicher:" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3511,6 +4268,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3523,6 +4283,12 @@ msgstr "Zeit bis die Implementierung für ein Ticket beginnt" msgid "Time between merge request creation and merge/close" msgstr "Zeit zwischen einem Merge Request und dessen Umsetzung / Schließung" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3680,6 +4446,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3770,6 +4560,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "Zum Upload klicken" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3779,24 +4575,51 @@ msgstr "Benutze den folgenden Registrierungstoken während des Setups:" msgid "Use your global notification setting" msgstr "Benutze Deine globalen Benachrichtigungseinstellungen" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "Zeige offene Merge Requests." +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "Intern" @@ -3824,12 +4647,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "Wiki" @@ -3950,14 +4779,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "Du bist dabei %{group_name} zu entfernen. Entfernte Gruppen können NICHT wiederhergestellt werden! Bist Du dir WIRKLICH sicher?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "Du bist dabei %{project_name_with_namespace} zu entfernen. Entfernte Projekte können NICHT wiederhergestellt werden! Bist Du dir WIRKLICH sicher?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "Du bist dabei, die Beziehung des Ablegers zum Ursprungsprojekt %{forked_from_project}, zu entfernen. Bist Du dir WIRKLICH sicher?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "Du bist dabei %{project_name_with_namespace} einem andere Besitzer zu übergeben. Bist Du dir WIRKLICH sicher?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4031,9 +4866,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4049,6 +4902,14 @@ msgstr "Dein Name" msgid "Your projects" msgstr "Deine Projekte" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + msgid "assign yourself" msgstr "" @@ -4058,12 +4919,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "Tag" msgstr[1] "Tage" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4328,6 +5259,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4337,6 +5271,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/eo/gitlab.po b/locale/eo/gitlab.po index 2613d719882..009ad31d28b 100644 --- a/locale/eo/gitlab.po +++ b/locale/eo/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:22-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:38-0400\n" "Last-Translator: gitlab \n" "Language-Team: Esperanto\n" "Language: eo_UY\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "" msgstr[1] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "" msgstr[1] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s enmetado estis transsaltita, por ne troŝarĝi la sistemon." @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "" msgstr[1] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -103,15 +116,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Aro da diagramoj pri la seninterrompa integrado" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "Pri la aŭtomata disponigado" msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -121,6 +149,9 @@ msgstr "" msgid "Account" msgstr "" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Aktiva" @@ -217,9 +248,33 @@ msgstr "" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -298,6 +353,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -331,6 +389,9 @@ msgstr "" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -343,6 +404,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -367,6 +437,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -409,6 +482,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -492,6 +571,15 @@ msgstr "Iri al branĉo" msgid "Branches" msgstr "Branĉoj" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -537,12 +625,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -588,30 +703,45 @@ msgstr "Foliumi dosierojn" msgid "Browse files" msgstr "Elekti dosierojn" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "de" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "Nuligi" -msgid "Cancel edit" +msgid "Cannot be merged automatically" msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "Elekti en branĉon" @@ -666,6 +796,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -768,6 +904,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -867,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -894,6 +1045,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -927,6 +1081,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -987,6 +1144,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1014,6 +1174,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1138,6 +1301,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1153,9 +1322,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1201,6 +1406,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "Gvidlinioj por kontribuado" @@ -1264,8 +1475,8 @@ msgstr "" msgid "Create directory" msgstr "Krei dosierujon" -msgid "Create empty bare repository" -msgstr "Krei malplenan deponejon" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "" @@ -1273,6 +1484,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1297,6 +1511,9 @@ msgstr "" msgid "Create new..." msgstr "Krei novan…" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "Disbranĉigi" @@ -1330,6 +1547,9 @@ msgstr "Propraj sciigaj eventoj" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "La propraj sciigaj niveloj estas la samaj kiel la niveloj de partoprenado. Uzante la proprajn sciigajn nivelojn, vi ricevos ankaŭ sciigojn por elektitaj de vi eventoj. Por lerni pli, bonvolu vidi %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "Cikla analizo" @@ -1413,9 +1633,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "Ne montru denove" +msgid "Done" +msgstr "" + msgid "Download" msgstr "Elŝuti" @@ -1443,9 +1669,15 @@ msgstr "Normala dosiero kun diferencoj" msgid "DownloadSource|Download" msgstr "Elŝuti" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "Redakti" @@ -1455,6 +1687,18 @@ msgstr "Redakti ĉenstablan planon %{id}" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1464,6 +1708,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1524,6 +1795,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1599,9 +1873,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1611,6 +1891,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1644,6 +1927,9 @@ msgstr "Dosieroj" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "Filtri per mesaĝo" @@ -1653,12 +1939,21 @@ msgstr "Trovi per dosierindiko" msgid "Find file" msgstr "Trovi dosieron" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "Unue" msgid "FirstPushedBy|pushed by" msgstr "alpuŝita de" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "Disbranĉigo" @@ -1670,9 +1965,15 @@ msgstr "Disbranĉigita el" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "De la kreado de la problemo ĝis la disponigado en la publika versio" @@ -1691,12 +1992,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1742,21 +2049,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,9 +2103,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1802,6 +2148,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1811,12 +2160,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "Al via disbranĉigo" @@ -1883,9 +2250,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1916,6 +2280,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1934,6 +2301,15 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1945,12 +2321,39 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "La refreŝigo komenciĝis sukcese" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" msgstr "" msgid "Import repository" msgstr "Enporti deponejon" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1974,6 +2377,9 @@ msgstr[1] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2028,6 +2434,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "Malŝaltita" msgid "LFSStatus|Enabled" msgstr "Ŝaltita" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "La lasta %d tago" @@ -2123,6 +2550,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2135,9 +2565,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2153,9 +2580,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2177,6 +2616,9 @@ msgstr "Mediano" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2189,15 +2631,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "aldonos SSH-ŝlosilon" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2299,6 +2825,9 @@ msgstr "" msgid "New tag" msgstr "Nova etikedo" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2317,6 +2846,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "Ne estas deponejo" @@ -2332,6 +2864,12 @@ msgstr "" msgid "Not available" msgstr "Ne disponebla" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2341,6 +2879,18 @@ msgstr "Ne estas sufiĉe da datenoj" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "Sciigaj eventoj" @@ -2425,6 +2975,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "Filtrilo" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2446,12 +3002,18 @@ msgstr "Opcioj" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "Posedanto" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2464,9 +3026,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "Ĉenstablo" @@ -2548,9 +3122,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2581,6 +3182,9 @@ msgstr "kun etapo" msgid "Pipeline|with stages" msgstr "kun etapoj" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2590,6 +3194,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2644,6 +3254,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2668,9 +3281,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "" @@ -2767,6 +3377,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,19 +3422,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2815,6 +3437,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2824,7 +3449,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2860,6 +3494,9 @@ msgstr "Legu pli" msgid "Readme" msgstr "LeguMin" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Branĉoj" @@ -2893,6 +3530,9 @@ msgstr "Rilataj petoj pri kunfando" msgid "Related Merged Requests" msgstr "Rilataj aplikitaj petoj pri kunfando" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "Rememorigu denove" @@ -2908,12 +3548,24 @@ msgstr "Forigi la projekton" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Peti atingeblon" @@ -2929,6 +3581,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2940,9 +3595,36 @@ msgstr "Malfari ĉi tiun enmetadon" msgid "Revert this merge request" msgstr "Malfari ĉi tiun peton pri kunfando" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2958,6 +3640,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "Plani novan ĉenstablon" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2967,6 +3652,9 @@ msgstr "Planado de la ĉenstabloj" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "Serĉu branĉon aŭ etikedon" @@ -3030,15 +3718,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Kreu pasvorton por via konto por ebligi al vi eltiri kaj alpuŝi per %{protocol}." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "Agordi „Koding“" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "kreos pasvorton" @@ -3048,6 +3754,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,40 +3792,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3236,12 +3945,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "Steligi" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3251,6 +3969,15 @@ msgstr "Kreu %{new_merge_request} kun ĉi tiuj ŝanĝoj" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3263,9 +3990,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "Iri al branĉo/etikedo" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3346,6 +4079,9 @@ msgstr "" msgid "Target Branch" msgstr "Cela branĉo" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3361,15 +4097,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "La etapo de programado montras la tempon de la unua enmetado ĝis la kreado de la peto pri kunfando. La datenoj aldoniĝos aŭtomate ĉi tie post kiam vi kreas la unuan peton pri kunfando." msgid "The collection of events added to the data gathered for that stage." msgstr "La aro da eventoj, kiuj estas aldonitaj al la datenoj kolektitaj por la etapo." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "La rilato de disbranĉigo estis forigita." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "La etapo de la problemo montras kiom la tempo pasas de la kreado de problemo ĝis la atribuado de la problemo al cela etapo de la projekto, aŭ al listo sur la problemtabulo. Komencu krei problemojn por vidi la datenojn por ĉi tiu etapo." @@ -3382,12 +4127,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "La etapo de la disvolva ciklo." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "La etapo de la plano montras la tempon de la antaŭa ŝtupo ĝis la alpuŝado de via unua enmetado. Ĉi tiu tempo aldoniĝos aŭtomate post kiam vi alpuŝas la unuan enmetadon." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "La etapo de eldonado montras la tutan tempon de la kreado de problemo ĝis la disponigado en la publika versio. La datenoj aldoniĝos aŭtomate post kiam vi kompletigos plenan ciklon de ideo ĝis realaĵo." @@ -3403,6 +4154,9 @@ msgstr "La deponejo por ĉi tiu projekto ne ekzistas." msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "La etapo de la kontrolo montras la tempon de la kreado de la peto pri kunfando ĝis ĝia aplikado. La datenoj aldoniĝos aŭtomate post kiam vi aplikos la unuan peton pri kunfando." @@ -3439,6 +4193,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3511,6 +4268,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3523,6 +4283,12 @@ msgstr "Tempo antaŭ la komenco de laboro super problemo" msgid "Time between merge request creation and merge/close" msgstr "Tempo inter la kreado de poeto pri kunfando kaj ĝia aplikado/fermado" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3680,6 +4446,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3770,6 +4560,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "alklaku por alŝuti" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3779,24 +4575,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "Uzi vian ĝeneralan agordon pri la sciigoj" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "Vidi la malfermitan peton pri kunfando" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "Interna" @@ -3824,12 +4647,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3950,14 +4779,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "Vi forigos „%{group_name}“. Oni NE POVAS malfari la forigon de grupo! Ĉu vi estas ABSOLUTE certa?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "Vi forigos „%{project_name_with_namespace}“. Oni NE POVAS malfari la forigon de projekto! Ĉu vi estas ABSOLUTE certa?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "Vi forigos la rilaton de la disbranĉigo al la originala projekto, „%{forked_from_project}“. Ĉu vi estas ABSOLUTE certa?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "Vi estas transigonta „%{project_name_with_namespace}“ al alia posedanto. Ĉu vi estas ABSOLUTE certa?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4031,9 +4866,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4049,6 +4902,14 @@ msgstr "Via nomo" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + msgid "assign yourself" msgstr "" @@ -4058,12 +4919,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "tago" msgstr[1] "tagoj" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4328,6 +5259,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4337,6 +5271,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/es/gitlab.po b/locale/es/gitlab.po index 76926fd5c64..e2af97f1b83 100644 --- a/locale/es/gitlab.po +++ b/locale/es/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:20-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:35-0400\n" "Last-Translator: gitlab \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "" msgstr[1] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "" msgstr[1] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s cambio adicional ha sido omitido para evitar problemas de rendimiento." @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "%{count} participante" msgstr[1] "%{count} participantes" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -103,15 +116,30 @@ msgstr "¡1ra contribución!" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Una colección de gráficos sobre Integración Continua" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "Acerca del auto despliegue" msgid "Abuse Reports" msgstr "Reportes de abuso" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "Tokens de acceso" @@ -121,6 +149,9 @@ msgstr "" msgid "Account" msgstr "Cuenta" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Activo" @@ -217,9 +248,33 @@ msgstr "Todos" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "Ha ocurrido un error visualizando el blob" @@ -298,6 +353,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "Se produjo un error. Por favor inténtelo de nuevo." +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "Apariencia" @@ -331,6 +389,9 @@ msgstr "¿Estás seguro?" msgid "Artifacts" msgstr "Artefactos" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -343,6 +404,15 @@ msgstr "Asignar milestone" msgid "Assign to" msgstr "Asignar a" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "Asignado a" @@ -367,6 +437,9 @@ msgstr "Autores: %{authors}" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -409,6 +482,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "Promedio por día: %{average}" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "Iniciar con el commit seleccionado" @@ -492,6 +571,15 @@ msgstr "Cambiar rama" msgid "Branches" msgstr "Ramas" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "No puedo encontrar el commit HEAD para esta rama" @@ -537,12 +625,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -588,30 +703,45 @@ msgstr "Examinar archivos" msgid "Browse files" msgstr "Examinar archivos" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "por" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "Configuración de CI/CD" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "Cancelar" -msgid "Cancel edit" -msgstr "Cancelar edición" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "Cambiar peso" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "Escoger en la rama" @@ -666,6 +796,12 @@ msgstr "Elegir archivo..." msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "Elija qué grupos desea sincronizar a este nodo secundario." +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "Elija qué fragmentos desea sincronizar a este nodo secundario." @@ -768,6 +904,15 @@ msgstr "" msgid "Click to expand text" msgstr "Haga clic para expandir el texto" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -867,6 +1012,9 @@ msgstr "Proyecto Google Kubernetes Engine" msgid "ClusterIntegration|Helm Tiller" msgstr "Helm Tiller" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "Instalar" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "Instalado" @@ -894,6 +1045,9 @@ msgstr "cluster de Kubernetes" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "Detalles del cluster de Kubernetes" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "Integración de cluster de Kubernetes" @@ -927,6 +1081,9 @@ msgstr "Conozca más sobre %{link_to_documentation}" msgid "ClusterIntegration|Learn more about environments" msgstr "Conozca más sobre los entornos" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "Tipo de máquina" @@ -987,6 +1144,9 @@ msgstr "Falló la solicitud para iniciar la instalación" msgid "ClusterIntegration|Save changes" msgstr "Guardar cambios" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1014,6 +1174,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "Algo salió mal durante la instalación de %{title}" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1138,6 +1301,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1153,9 +1322,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "Confidencialidad" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1201,6 +1406,12 @@ msgstr "Usar nombres de imagen diferentes" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "Guía de contribución" @@ -1264,8 +1475,8 @@ msgstr "" msgid "Create directory" msgstr "Crear directorio" -msgid "Create empty bare repository" -msgstr "Crear repositorio vacío" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "Crear epic" @@ -1273,6 +1484,9 @@ msgstr "Crear epic" msgid "Create file" msgstr "Crear archivo" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1297,6 +1511,9 @@ msgstr "Crear nueva etiqueta" msgid "Create new..." msgstr "Crear nuevo..." +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "Bifurcar" @@ -1330,6 +1547,9 @@ msgstr "Eventos de notificaciones personalizadas" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "Los niveles de notificación personalizados son los mismos que los niveles participantes. Con los niveles de notificación personalizados, también recibirá notificaciones para eventos seleccionados. Para obtener más información, consulte %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "" @@ -1413,9 +1633,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "No mostrar de nuevo" +msgid "Done" +msgstr "" + msgid "Download" msgstr "Descargar" @@ -1443,9 +1669,15 @@ msgstr "Diferencias en texto plano" msgid "DownloadSource|Download" msgstr "Descargar" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "Editar" @@ -1455,6 +1687,18 @@ msgstr "Editar Programación del Pipeline %{id}" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1464,6 +1708,33 @@ msgstr "Habilitar" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1524,6 +1795,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1599,9 +1873,15 @@ msgstr "Explorar grupos públicos" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1611,6 +1891,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1644,6 +1927,9 @@ msgstr "Archivos" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "Filtrar por mensaje del cambio" @@ -1653,12 +1939,21 @@ msgstr "Buscar por ruta" msgid "Find file" msgstr "Buscar archivo" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "Primer" msgid "FirstPushedBy|pushed by" msgstr "enviado por" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "Bifurcación" @@ -1670,9 +1965,15 @@ msgstr "Bifurcado de" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "Formato" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "Desde la creación de la incidencia hasta el despliegue a producción" @@ -1691,12 +1992,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "El nodo está fallando o dañado." msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "El nodo está lento, sobrecargado o se esta recuperando de una interrupción." +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1742,21 +2049,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,9 +2103,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1802,6 +2148,9 @@ msgstr "Seleccionar grupos a replicar." msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1811,12 +2160,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "Sección GitLab Runner" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "Ir a tu bifurcación" @@ -1883,9 +2250,6 @@ msgstr "No se encuentran grupos" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "Crear un proyecto en este grupo." @@ -1916,6 +2280,9 @@ msgstr "Lo sentimos, no existen grupos ni proyectos que coincidan con su búsque msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1934,6 +2301,15 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "Poco Saludable" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1945,12 +2321,39 @@ msgstr "Historial" msgid "Housekeeping successfully started" msgstr "Servicio de limpieza iniciado con éxito" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "" +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + msgid "Import repository" msgstr "Importar repositorio" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "Mejore los tableros de Incidencias con GitLab Enterprise Edition." @@ -1974,6 +2377,9 @@ msgstr[1] "Instancias" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2028,6 +2434,9 @@ msgstr "" msgid "June" msgstr "Junio" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "Deshabilitado" msgid "LFSStatus|Enabled" msgstr "Habilitado" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "Último %d día" @@ -2123,6 +2550,9 @@ msgstr "Licencia" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2135,9 +2565,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "Bloqueado" @@ -2153,9 +2580,21 @@ msgstr "Iniciar sesión" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2177,6 +2616,9 @@ msgstr "Mediana" msgid "Members" msgstr "Miembros" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2189,15 +2631,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "Mensajes" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "agregar una clave SSH" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2299,6 +2825,9 @@ msgstr "Nuevo sub-grupo" msgid "New tag" msgstr "Nueva etiqueta" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2317,6 +2846,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "No hay repositorio" @@ -2332,6 +2864,12 @@ msgstr "" msgid "Not available" msgstr "No disponible" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2341,6 +2879,18 @@ msgstr "No hay suficientes datos" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "Eventos de notificación" @@ -2425,6 +2975,12 @@ msgstr "Octubre" msgid "OfSearchInADropdown|Filter" msgstr "Filtrar" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "Sólo los miembros de proyecto pueden comentar." @@ -2446,12 +3002,18 @@ msgstr "Opciones" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "Resumen" msgid "Owner" msgstr "Propietario" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2464,9 +3026,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "Contraseña" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "Pipeline" @@ -2548,9 +3122,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2581,6 +3182,9 @@ msgstr "con etapa" msgid "Pipeline|with stages" msgstr "con etapas" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2590,6 +3194,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "Preferencias" @@ -2644,6 +3254,9 @@ msgstr "Actualmente su cuenta es propietaria de estos grupos:" msgid "Profiles|your account" msgstr "tu cuenta" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2668,9 +3281,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "Detalles del Proyecto" @@ -2767,6 +3377,12 @@ msgstr "Lo sentimos, no hay proyectos que coincidan con su búsqueda" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "Esta función requiere que el navegador soporte localStorage" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "De manera predeterminada, Prometheus escucha en 'http://localhost:9090'. No se recomienda cambiar la dirección y el puerto predeterminados, ya que esto podría afectar o entrar en conflicto con otros servicios que se ejecutan en el servidor de GitLab." +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "Encontrar y configurar métricas..." +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,20 +3422,14 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "Métricas" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "Las métricas se configuran y supervisan automáticamente en función de una biblioteca de métricas de exportadores populares." - msgid "PrometheusService|Missing environment variable" msgstr "Falta la variable de entorno" -msgid "PrometheusService|Monitored" -msgstr "Monitoreado" - msgid "PrometheusService|More information" msgstr "Más información" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." -msgstr "No se están supervisando las métricas. Para comenzar a monitorear, despliega en un entorno." +msgid "PrometheusService|New metric" +msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" msgstr "URL Base de Prometheus, como http://prometheus.example.com/" @@ -2815,6 +3437,9 @@ msgstr "URL Base de Prometheus, como http://prometheus.example.com/" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2824,8 +3449,17 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" -msgstr "Ver entornos" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" +msgstr "" msgid "Protip:" msgstr "" @@ -2860,6 +3494,9 @@ msgstr "Leer más" msgid "Readme" msgstr "Léeme" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Ramas" @@ -2893,6 +3530,9 @@ msgstr "Solicitudes de fusión Relacionadas" msgid "Related Merged Requests" msgstr "Solicitudes de fusión Relacionadas" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "Recordar después" @@ -2908,12 +3548,24 @@ msgstr "Eliminar proyecto" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "Repositorio" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Solicitar acceso" @@ -2929,6 +3581,9 @@ msgstr "Reinicializar el token de registro del runner" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2940,9 +3595,36 @@ msgstr "Revertir este cambio" msgid "Revert this merge request" msgstr "Revertir esta solicitud de fusión" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "Llaves SSH" @@ -2958,6 +3640,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "Programar un nuevo pipeline" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2967,6 +3652,9 @@ msgstr "Programación de Pipelines" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "Buscar ramas y etiquetas" @@ -3030,15 +3718,33 @@ msgstr "Plantillas de Servicio" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Establezca una contraseña en su cuenta para actualizar o enviar a través de %{protocol}." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "Configurar Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "establecer una contraseña" @@ -3048,6 +3754,9 @@ msgstr "Configuración" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,40 +3792,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3236,12 +3945,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "Destacar" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "Proyectos favoritos" @@ -3251,6 +3969,15 @@ msgstr "Iniciar una %{new_merge_request} con estos cambios" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "Detenido" @@ -3263,9 +3990,15 @@ msgstr "Sub-grupos" msgid "Switch branch/tag" msgstr "Cambiar rama/etiqueta" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "Hooks de sistema" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3346,6 +4079,9 @@ msgstr "" msgid "Target Branch" msgstr "Rama de destino" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "Equipo" @@ -3361,15 +4097,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "La etapa de desarrollo muestra el tiempo desde el primer cambio hasta la creación de la solicitud de fusión. Los datos serán automáticamente incorporados aquí una vez creada tu primera solicitud de fusión." msgid "The collection of events added to the data gathered for that stage." msgstr "La colección de eventos agregados a los datos recopilados para esa etapa." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "La relación con la bifurcación se ha eliminado." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "La etapa de incidencia muestra el tiempo que toma desde la creación de un tema hasta asignar el tema a un hito, o añadir el tema a una lista en el panel de temas. Empieza a crear temas para ver los datos de esta etapa." @@ -3382,12 +4127,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "La etapa del ciclo de vida de desarrollo." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "La etapa de planificación muestra el tiempo desde el paso anterior hasta el envío de tu primera confirmación. Este tiempo se añadirá automáticamente una vez que usted envíe el primer cambio." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "La etapa de producción muestra el tiempo total que tarda entre la creación de una incidencia y el despliegue del código a producción. Los datos se añadirán automáticamente una vez haya finalizado por completo el ciclo de idea a producción." @@ -3403,6 +4154,9 @@ msgstr "El repositorio para este proyecto no existe." msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "La etapa de revisión muestra el tiempo desde la creación de la solicitud de fusión hasta que los cambios se fusionaron. Los datos se añadirán automáticamente después de fusionar su primera solicitud de fusión." @@ -3439,6 +4193,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3511,6 +4268,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3523,6 +4283,12 @@ msgstr "Tiempo antes de que empieze la implementación de una incidencia" msgid "Time between merge request creation and merge/close" msgstr "Tiempo entre la creación de la solicitud de fusión y la integración o cierre de ésta" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3680,6 +4446,36 @@ msgstr "" msgid "Title" msgstr "Título" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "Desbloquear" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "Desbloqueado" @@ -3770,6 +4560,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "Hacer clic para subir" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3779,24 +4575,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "Utiliza tu configuración de notificación global" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "Ver archivo @ " +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "Ver solicitud de fusión abierta" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "Ver archivo reemplazado @ " +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "Interno" @@ -3824,12 +4647,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "Peso" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "Wiki" @@ -3950,14 +4779,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "Va a eliminar %{group_name}. ¡El grupo eliminado NO puede ser restaurado! ¿Estás TOTALMENTE seguro?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "Va a eliminar %{project_name_with_namespace}. ¡El proyecto eliminado NO puede ser restaurado! ¿Estás TOTALMENTE seguro?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "Vas a eliminar el enlace de la bifurcación con el proyecto original %{forked_from_project}. ¿Estás TOTALMENTE seguro?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "Vas a transferir %{project_name_with_namespace} a otro propietario. ¿Estás TOTALMENTE seguro?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4031,9 +4866,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "La información del cluster de Kubernetes en esta página aún se puede editar, pero se recomienda desactivarla y modificar" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4049,6 +4902,14 @@ msgstr "Tu nombre" msgid "Your projects" msgstr "Tus proyectos" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + msgid "assign yourself" msgstr "" @@ -4058,12 +4919,30 @@ msgstr "nombre de la rama" msgid "by" msgstr "por" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" -msgstr "commit" - -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "día" msgstr[1] "días" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4328,6 +5259,9 @@ msgstr "contraseña" msgid "personal access token" msgstr "token de acceso personal" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4337,6 +5271,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "para ayudar a sus colaboradores a comunicarse de manera efectiva!" diff --git a/locale/fil_PH/gitlab.po b/locale/fil_PH/gitlab.po index 1037ec675e9..ed955f68381 100644 --- a/locale/fil_PH/gitlab.po +++ b/locale/fil_PH/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:19-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:34-0400\n" "Last-Translator: gitlab \n" "Language-Team: Filipino\n" "Language: fil_PH\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "" msgstr[1] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "" msgstr[1] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "" @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "" msgstr[1] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -103,15 +116,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "" msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -121,6 +149,9 @@ msgstr "" msgid "Account" msgstr "" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "" @@ -217,9 +248,33 @@ msgstr "" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -298,6 +353,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -331,6 +389,9 @@ msgstr "" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -343,6 +404,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -367,6 +437,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -409,6 +482,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -492,6 +571,15 @@ msgstr "" msgid "Branches" msgstr "" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -537,12 +625,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -588,30 +703,45 @@ msgstr "" msgid "Browse files" msgstr "" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "" -msgid "Cancel edit" +msgid "Cannot be merged automatically" msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "" @@ -666,6 +796,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -768,6 +904,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -867,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -894,6 +1045,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -927,6 +1081,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -987,6 +1144,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1014,6 +1174,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1138,6 +1301,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1153,9 +1322,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1201,6 +1406,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "" @@ -1264,7 +1475,7 @@ msgstr "" msgid "Create directory" msgstr "" -msgid "Create empty bare repository" +msgid "Create empty repository" msgstr "" msgid "Create epic" @@ -1273,6 +1484,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1297,6 +1511,9 @@ msgstr "" msgid "Create new..." msgstr "" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "" @@ -1330,6 +1547,9 @@ msgstr "" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "" +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "" @@ -1413,9 +1633,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "" +msgid "Done" +msgstr "" + msgid "Download" msgstr "" @@ -1443,9 +1669,15 @@ msgstr "" msgid "DownloadSource|Download" msgstr "" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "" @@ -1455,6 +1687,18 @@ msgstr "" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1464,6 +1708,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1524,6 +1795,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1599,9 +1873,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1611,6 +1891,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1644,6 +1927,9 @@ msgstr "" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "" @@ -1653,12 +1939,21 @@ msgstr "" msgid "Find file" msgstr "" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "" msgid "FirstPushedBy|pushed by" msgstr "" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "" @@ -1670,9 +1965,15 @@ msgstr "" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "" @@ -1691,12 +1992,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1742,21 +2049,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,9 +2103,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1802,6 +2148,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1811,12 +2160,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "" @@ -1883,9 +2250,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1916,6 +2280,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1934,6 +2301,15 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1945,10 +2321,37 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" msgstr "" -msgid "Import repository" +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + +msgid "Import repository" +msgstr "" + +msgid "ImportButtons|Connect repositories from" msgstr "" msgid "Improve Issue boards with GitLab Enterprise Edition." @@ -1974,6 +2377,9 @@ msgstr[1] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2028,6 +2434,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "" msgid "LFSStatus|Enabled" msgstr "" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "" @@ -2123,6 +2550,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2135,9 +2565,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2153,9 +2580,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2177,6 +2616,9 @@ msgstr "" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2189,15 +2631,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2299,6 +2825,9 @@ msgstr "" msgid "New tag" msgstr "" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2317,6 +2846,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "" @@ -2332,6 +2864,12 @@ msgstr "" msgid "Not available" msgstr "" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2341,6 +2879,18 @@ msgstr "" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "" @@ -2425,6 +2975,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2446,12 +3002,18 @@ msgstr "" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2464,9 +3026,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "" @@ -2548,9 +3122,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2581,6 +3182,9 @@ msgstr "" msgid "Pipeline|with stages" msgstr "" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2590,6 +3194,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2644,6 +3254,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2668,9 +3281,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "" @@ -2767,6 +3377,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,19 +3422,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2815,6 +3437,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2824,7 +3449,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2860,6 +3494,9 @@ msgstr "" msgid "Readme" msgstr "" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "" @@ -2893,6 +3530,9 @@ msgstr "" msgid "Related Merged Requests" msgstr "" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "" @@ -2908,12 +3548,24 @@ msgstr "" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "" @@ -2929,6 +3581,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2940,9 +3595,36 @@ msgstr "" msgid "Revert this merge request" msgstr "" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2958,6 +3640,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2967,6 +3652,9 @@ msgstr "" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "" @@ -3030,15 +3718,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "" @@ -3048,6 +3754,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,40 +3792,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3236,12 +3945,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3251,6 +3969,15 @@ msgstr "" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3263,9 +3990,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3346,6 +4079,9 @@ msgstr "" msgid "Target Branch" msgstr "" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3361,15 +4097,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "" msgid "The collection of events added to the data gathered for that stage." msgstr "" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "" @@ -3382,12 +4127,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "" @@ -3403,6 +4154,9 @@ msgstr "" msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "" @@ -3439,6 +4193,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3511,6 +4268,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3523,6 +4283,12 @@ msgstr "" msgid "Time between merge request creation and merge/close" msgstr "" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3680,6 +4446,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3770,6 +4560,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3779,24 +4575,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "" @@ -3824,12 +4647,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3950,13 +4779,19 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." msgstr "" msgid "You can also create a project from the command line." @@ -4031,9 +4866,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4049,6 +4902,14 @@ msgstr "" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + msgid "assign yourself" msgstr "" @@ -4058,12 +4919,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "" msgstr[1] "" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4328,6 +5259,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4337,6 +5271,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/fr/gitlab.po b/locale/fr/gitlab.po index 85fe26b83a7..3f30c5c4b87 100644 --- a/locale/fr/gitlab.po +++ b/locale/fr/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 06:24-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:38-0400\n" "Last-Translator: gitlab \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "%d commit de retard" msgstr[1] "%d commits de retard" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "%d exportateur" +msgstr[1] "%d exportateurs" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "%d ticket" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "%d demande de fusion" msgstr[1] "%d demandes de fusion" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "%d métrique" +msgstr[1] "%d métriques" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s validation supplémentaire a été masquée afin d'éviter de créer de problèmes de performances." @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "%{count} participant•e" msgstr[1] "%{count} participant•e•s" +msgid "%{loadingIcon} Started" +msgstr "%{loadingIcon} Démarré" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "%{lock_path} est verrouillé par l’utilisateur GitLab %{lock_user_id}" @@ -103,15 +116,30 @@ msgstr "1ère contribution !" msgid "2FA enabled" msgstr "2FA activé" +msgid "Removes source branch" +msgstr "Supprime la branche source" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Un ensemble de graphiques concernant l’Intégration Continue (CI)" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "Une nouvelle branche sera créée dans votre fourche et une nouvelle demande de fusion sera lancée." + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "Un projet est l’endroit où vous hébergez vos fichiers (dépôt), planifiez votre travail (tickets) et publiez votre documentation (wiki), %{among_other_things_link}." + +msgid "A user with write access to the source branch selected this option" +msgstr "Un•e utilisateur•rice avec un accès en écriture à la branche source a sélectionné cette option" + msgid "About auto deploy" msgstr "À propos de l'auto-déploiement" msgid "Abuse Reports" msgstr "Rapports d’abus" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "Jetons d'Accès" @@ -121,6 +149,9 @@ msgstr "L'accès aux stockages défaillants a été temporairement désactivé p msgid "Account" msgstr "Compte" +msgid "Account and limit settings" +msgstr "Paramètres de compte et de limitation" + msgid "Active" msgstr "Actif" @@ -217,9 +248,33 @@ msgstr "Tous" msgid "All changes are committed" msgstr "Toutes les modifications sont validées" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "Toutes les fonctionnalités sont activées pour les projets vierges, à partir de modèles ou lors de l’importation, mais vous pouvez les désactiver ultérieurement dans les paramètres du projet." + +msgid "Allow edits from maintainers." +msgstr "Autoriser les modifications par les mainteneur•se•s." + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "Vous permet d’ajouter et de gérer des clusters Kubernetes." +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "Alternativement, vous pouvez utiliser un %{personal_access_token_link}. Lorsque vous créez votre jeton d’accès, vous devrez sélectionner le champ repo, afin que nous puissions afficher une liste de vos dépôts publics et privés qui sont disponibles pour se connecter." + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "Alternativement, vous pouvez utiliser un %{personal_access_token_link}. Lorsque vous créez votre jeton d’accès, vous devrez sélectionner le champ repo, afin que nous puissions afficher une liste de vos dépôts publics et privés qui sont disponibles pour être importés." + msgid "An error occurred previewing the blob" msgstr "Une erreur s’est produite lors de la prévisualisation du blob" @@ -298,6 +353,9 @@ msgstr "Une erreur s’est produite lors de la validation du nom d’utilisateur msgid "An error occurred. Please try again." msgstr "Une erreur s’est produite. Veuillez réessayer." +msgid "Any Label" +msgstr "Tout label" + msgid "Appearance" msgstr "Apparence" @@ -331,6 +389,9 @@ msgstr "Êtes-vous certain ?" msgid "Artifacts" msgstr "Artéfacts" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "Attribuer une couleur personnalisée comme #FF0000" @@ -343,6 +404,15 @@ msgstr "Attribuer un jalon" msgid "Assign to" msgstr "Assigner à" +msgid "Assigned Issues" +msgstr "Tickets assignés" + +msgid "Assigned Merge Requests" +msgstr "Demandes de fusion assignées" + +msgid "Assigned to :name" +msgstr "Assigné•e à :name" + msgid "Assignee" msgstr "Assigné•e" @@ -367,6 +437,9 @@ msgstr "Auteur•e•s : %{authors}" msgid "Auto DevOps enabled" msgstr "Auto DevOps activé" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "Auto Review Apps et Auto Deploy ont besoin d’un %{kubernetes} qui fonctionne correctement." @@ -409,6 +482,12 @@ msgstr "L’avatar sera supprimé. Êtes-vous sûr•e ?" msgid "Average per day: %{average}" msgstr "Moyenne par jour : %{average}" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "Commencer avec le commit sélectionné" @@ -492,6 +571,15 @@ msgstr "Changer de branche" msgid "Branches" msgstr "Branches" +msgid "Branches|Active" +msgstr "Active" + +msgid "Branches|Active branches" +msgstr "Branches actives" + +msgid "Branches|All" +msgstr "Toutes" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "Impossible de trouver le commit HEAD pour cette branche" @@ -537,12 +625,39 @@ msgstr "Une fois que vous aurez confirmé et cliqué sur %{delete_protected_bran msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "Seulement un maître ou un propriétaire du projet peut supprimer une branche protégée" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" -msgstr "Les branches protégées peuvent être gérées dans %{project_settings_link}" +msgid "Branches|Overview" +msgstr "Vue d’ensemble" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "Les branches protégées peuvent être gérées dans %{project_settings_link}." + +msgid "Branches|Show active branches" +msgstr "Afficher les branches actives" + +msgid "Branches|Show all branches" +msgstr "Afficher toutes les branches" + +msgid "Branches|Show more active branches" +msgstr "Afficher plus de branches actives" + +msgid "Branches|Show more stale branches" +msgstr "Afficher plus de branches périmées" + +msgid "Branches|Show overview of the branches" +msgstr "Afficher l’aperçu des branches" + +msgid "Branches|Show stale branches" +msgstr "Afficher les branches périmées" msgid "Branches|Sort by" msgstr "Trier par" +msgid "Branches|Stale" +msgstr "Périmée" + +msgid "Branches|Stale branches" +msgstr "Branches périmées" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "Cette branche ne peut pas être mise à jour automatiquement car elle a dévié par rapport à son dépôt en amont." @@ -588,30 +703,45 @@ msgstr "Parcourir les fichiers" msgid "Browse files" msgstr "Parcourir les fichiers" +msgid "Business" +msgstr "Entreprise" + msgid "ByAuthor|by" msgstr "par" msgid "CI / CD" msgstr "Intégration continu / Déploiement continu" +msgid "CI/CD" +msgstr "CI/CD" + msgid "CI/CD configuration" msgstr "Configuration CI/CD" +msgid "CI/CD for external repo" +msgstr "CI / CD pour dépôt externe" + msgid "CICD|Jobs" msgstr "Tâches" msgid "Cancel" msgstr "Annuler" -msgid "Cancel edit" -msgstr "Annuler modification" +msgid "Cannot be merged automatically" +msgstr "Ne peut être fusionnée automatiquement" msgid "Cannot modify managed Kubernetes cluster" msgstr "Impossible de modifier le cluster géré par Kubernetes" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "Changer le poids" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "Picorer dans la branche" @@ -666,6 +796,12 @@ msgstr "Choisir le fichier…" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "Choisissez les groupes que vous souhaitez synchroniser avec ce nœud secondaire." +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "Choisissez à quels dépôts vous voulez connecter et exécuter des pipelines CI/CD." + +msgid "Choose which repositories you want to import." +msgstr "Choisissez les dépôts que vous voulez importer." + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "Choisissez les partitions que vous souhaitez synchroniser avec ce nœud secondaire." @@ -768,6 +904,15 @@ msgstr "Cliquez sur le bouton ci-dessous pour lancer le processus d’installati msgid "Click to expand text" msgstr "Cliquez pour agrandir le texte" +msgid "Client authentication certificate" +msgstr "Certificat d’authentification du client" + +msgid "Client authentication key" +msgstr "Clé d’authentification du client" + +msgid "Client authentication key password" +msgstr "Mot de passe de la clé d’authentification client" + msgid "Clone repository" msgstr "Cloner le dépôt" @@ -867,6 +1012,9 @@ msgstr "Projet Google Kubernetes Engine" msgid "ClusterIntegration|Helm Tiller" msgstr "Helm Tiller" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "Afin d’afficher l’état du cluster, nous devons mettre votre cluster à disposition de Prometheus pour récupérer les données nécessaires." + msgid "ClusterIntegration|Ingress" msgstr "Ingress" @@ -876,6 +1024,9 @@ msgstr "Adresse IP entrante" msgid "ClusterIntegration|Install" msgstr "Installer" +msgid "ClusterIntegration|Install Prometheus" +msgstr "Installer Prometheus" + msgid "ClusterIntegration|Installed" msgstr "Installé" @@ -894,6 +1045,9 @@ msgstr "Cluster Kubernetes" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "Détails du cluster Kubernetes" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "État du cluster Kubernetes" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "Intégration d’un cluster Kubernetes" @@ -927,6 +1081,9 @@ msgstr "En savoir plus sur %{link_to_documentation}" msgid "ClusterIntegration|Learn more about environments" msgstr "En savoir plus sur les environnements" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "En savoir plus sur la configuration de la sécurité" + msgid "ClusterIntegration|Machine type" msgstr "Type de machine" @@ -987,6 +1144,9 @@ msgstr "La demande de lancement d'installation a échoué" msgid "ClusterIntegration|Save changes" msgstr "Enregistrer les modifications" +msgid "ClusterIntegration|Security" +msgstr "Sécurité" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "Voir et modifier les détails de votre cluster Kubernetes" @@ -1014,6 +1174,9 @@ msgstr "Une erreur s’est produite lors de la création de votre cluster Kubern msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "Une erreur s’est produite lors de l'installation de %{title}" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "La configuration par défaut du cluster permet d’accéder à un large éventail de fonctionnalités nécessaires pour construire et déployer, avec succès, une application conteneurisée." + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "Ce compte doit disposer des autorisations pour créer un cluster Kubernetes dans le %{link_to_container_project} spécifié ci-dessous" @@ -1063,7 +1226,7 @@ msgid "Comment and resolve discussion" msgstr "Commenter et résoudre la discussion" msgid "Comment and unresolve discussion" -msgstr "" +msgstr "Commenter et marquer la discussion comme non résolue" msgid "Comments" msgstr "Commentaires" @@ -1091,7 +1254,7 @@ msgid "Commit statistics for %{ref} %{start_time} - %{end_time}" msgstr "Statistiques des commits pour %{ref} %{start_time} - %{end_time}" msgid "Commit to %{branchName} branch" -msgstr "" +msgstr "Valider dans la branche %{branchName}" msgid "CommitBoxTitle|Commit" msgstr "Commit" @@ -1138,6 +1301,12 @@ msgstr "Comparer les révisions Git" msgid "Compare Revisions" msgstr "Comparer les révisions" +msgid "Compare changes with the last commit" +msgstr "Comparer les changements avec le dernier commit" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "%{source_branch} et %{target_branch} sont identiques." @@ -1153,9 +1322,45 @@ msgstr "Cible" msgid "CompareBranches|There isn't anything to compare." msgstr "Il n’y a rien à comparer." +msgid "Confidential" +msgstr "Confidentiel" + msgid "Confidentiality" msgstr "Confidentialité" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "Configurez la façon dont un•e utilisateur•rice crée un nouveau compte." + +msgid "Connect" +msgstr "Connecter" + +msgid "Connect all repositories" +msgstr "Connecter tous les dépôts" + +msgid "Connect repositories from GitHub" +msgstr "Se connecter à des dépôts à partir de GitHub" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "Connectez vos dépôts externes et les pipelines CI / CD s’exécuteront pour les nouveaux commits. Un projet GitLab sera créé avec uniquement les fonctionnalités CI / CD activées." + +msgid "Connecting..." +msgstr "Connexion en cours…" + msgid "Container Registry" msgstr "Registre de conteneur" @@ -1201,6 +1406,12 @@ msgstr "Utilisez des noms d’images différents" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "Avec le registre de conteneur Docker intégré à GitLab, chaque projet peut avoir son propre espace pour stocker ses images Docker." +msgid "Continuous Integration and Deployment" +msgstr "Intégration et déploiement continus" + +msgid "Contribution" +msgstr "Contribution" + msgid "Contribution guide" msgstr "Guide de contribution" @@ -1264,7 +1475,7 @@ msgstr "Créer une branche" msgid "Create directory" msgstr "Créer un dossier" -msgid "Create empty bare repository" +msgid "Create empty repository" msgstr "Créer un dépôt vide" msgid "Create epic" @@ -1273,6 +1484,9 @@ msgstr "Créer l'épopée" msgid "Create file" msgstr "Créer un fichier" +msgid "Create group label" +msgstr "Créer un label de groupe" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "Créer des listes à partir de labels. Les tickets avec ce label apparaissent dans cette liste." @@ -1297,6 +1511,9 @@ msgstr "Créer un nouveau label" msgid "Create new..." msgstr "Créer nouveau..." +msgid "Create project label" +msgstr "Créer un label de projet" + msgid "CreateNewFork|Fork" msgstr "Fourcher" @@ -1330,6 +1547,9 @@ msgstr "Événements de notification personnalisés" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "Le niveau de notification Personnalisé est similaire au niveau Participation. Cependant, il permet également de recevoir des notifications pour des événements sélectionnés. Pour plus d’information, vous pouvez consulter %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "Analyseur de cycle" @@ -1413,9 +1633,15 @@ msgstr "Passer l’introduction Cycle Analytics" msgid "Dismiss Merge Request promotion" msgstr "Rejeter la promotion de la demande de fusion" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "Ne plus montrer" +msgid "Done" +msgstr "Fait" + msgid "Download" msgstr "Télécharger" @@ -1443,9 +1669,15 @@ msgstr "Diff simple" msgid "DownloadSource|Download" msgstr "Télécharger" +msgid "Downvotes" +msgstr "Votes négatifs" + msgid "Due date" msgstr "Date d’échéance" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "Éditer" @@ -1455,6 +1687,18 @@ msgstr "Éditer le pipeline programmé %{id}" msgid "Edit files in the editor and commit changes here" msgstr "Modifier les fichiers dans l'éditeur et valider les modifications ici" +msgid "Editing" +msgstr "En cours de modification" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "Courriels" @@ -1464,6 +1708,33 @@ msgstr "Activer" msgid "Enable Auto DevOps" msgstr "Activer Auto DevOps" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "Activer et configurer les métriques InfluxDB." + +msgid "Enable and configure Prometheus metrics." +msgstr "Activer et configurer les métriques Prometheus." + +msgid "Enable classification control using an external service" +msgstr "Activer le contrôle de classification à l’aide d’un service externe" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "Une erreur s‘est produite lors de la récupération des environnements." @@ -1524,6 +1795,9 @@ msgstr "Feuille de route des épopées" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "Les épopées vous permettent de gérer votre portefeuille de projets plus efficacement et avec moins d'effort" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "Erreur lors de la vérification des données de branche. Veuillez réessayer." @@ -1599,9 +1873,15 @@ msgstr "Explorer les groupes publics" msgid "External Classification Policy Authorization" msgstr "Autorisation de politique de classification externe" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "L’autorisation externe a refusé l’accès à ce projet" +msgid "External authorization request timeout" +msgstr "Expiration de la demande d’autorisation externe" + msgid "ExternalAuthorizationService|Classification Label" msgstr "Label de classification" @@ -1611,8 +1891,11 @@ msgstr "Label de classification" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "Quand aucun label de classification n’est défini, le label par défaut `%{default_label}` sera utilisé." +msgid "Failed" +msgstr "Échec" + msgid "Failed Jobs" -msgstr "Travaux ayant échoué" +msgstr "Tâches ayant échoué" msgid "Failed to change the owner" msgstr "Échec du changement de propriétaire" @@ -1644,6 +1927,9 @@ msgstr "Fichiers" msgid "Files (%{human_size})" msgstr "Fichiers (%{human_size})" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "Filtrer par message de commit" @@ -1653,12 +1939,21 @@ msgstr "Rechercher par chemin" msgid "Find file" msgstr "Rechercher un fichier" +msgid "Finished" +msgstr "Terminé" + msgid "FirstPushedBy|First" msgstr "En premier" msgid "FirstPushedBy|pushed by" msgstr "poussé par" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "Fourche" @@ -1670,9 +1965,15 @@ msgstr "Fourché depuis" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "Fourché depuis %{project_name} (supprimé)" +msgid "Forking in progress" +msgstr "Fourchage en cours" + msgid "Format" msgstr "Format" +msgid "From %{provider_title}" +msgstr "De %{provider_title}" + msgid "From issue creation until deploy to production" msgstr "Depuis la création du ticket jusqu'au déploiement en production" @@ -1691,12 +1992,18 @@ msgstr "Générer un ensemble de labels par défaut" msgid "Geo Nodes" msgstr "Nœuds Geo" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "Le nœud est défaillant ou cassé." msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "Le nœud est lent, surchargé, ou il vient juste de récupérer après un problème." +msgid "GeoNodes|Checksummed" +msgstr "Vérifié par somme de contrôle" + msgid "GeoNodes|Database replication lag:" msgstr "Retard de réplication de la base de données :" @@ -1742,21 +2049,48 @@ msgstr "Artefacts de tâches locaux :" msgid "GeoNodes|New node" msgstr "Nouveau nœud" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "Le nœud d'Authentification a été réparé avec succès." + +msgid "GeoNodes|Node was successfully removed." +msgstr "Le nœud a été supprimé avec succès." + +msgid "GeoNodes|Not checksummed" +msgstr "Non vérifié par somme de contrôle" + msgid "GeoNodes|Out of sync" msgstr "Désynchronisé" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "Supprimer un nœud arrête le processus de synchronisation. Êtes-vous sûr•e ?" + msgid "GeoNodes|Replication slot WAL:" msgstr "Emplacement de réplication WAL :" msgid "GeoNodes|Replication slots:" msgstr "Emplacements de réplication :" +msgid "GeoNodes|Repositories checksummed:" +msgstr "Dépôts avec une somme de contrôle calculée:" + msgid "GeoNodes|Repositories:" msgstr "Dépôts :" +msgid "GeoNodes|Repository checksums verified:" +msgstr "Dépôts avec une somme de contrôle vérifiée :" + msgid "GeoNodes|Selective" msgstr "Sélectif" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "Une erreur s’est produite lors du changement de statut du nœud" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "Une erreur s’est produite lors de la suppression du nœud" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "Une erreur s’est produite lors de la réparation du nœud" + msgid "GeoNodes|Storage config:" msgstr "Configuration de stockage :" @@ -1769,9 +2103,21 @@ msgstr "Synchronisé" msgid "GeoNodes|Unused slots" msgstr "Emplacements non utilisés" +msgid "GeoNodes|Unverified" +msgstr "Non vérifié" + msgid "GeoNodes|Used slots" msgstr "Emplacements utilisés" +msgid "GeoNodes|Verified" +msgstr "Vérifié" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "Wiki avec une somme de contrôle vérifiée :" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "Wiki avec une somme de contrôle calculée :" + msgid "GeoNodes|Wikis:" msgstr "Wikis :" @@ -1802,6 +2148,9 @@ msgstr "Sélectionner les groupes à répliquer." msgid "Geo|Shards to synchronize" msgstr "Fragments à synchroniser" +msgid "Git repository URL" +msgstr "URL du dépôt Git" + msgid "Git revision" msgstr "Révision de Git" @@ -1811,12 +2160,30 @@ msgstr "Les informations de santé du stockage Git ont été réinitialisées" msgid "Git version" msgstr "Version de Git" +msgid "GitHub import" +msgstr "Importation de GitHub" + +msgid "GitLab CI Linter has been moved" +msgstr "GitLab CI Linter a été déplacé" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "Section de l'Exécuteur GitLab" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "Serveurs Gitaly" +msgid "Go back" +msgstr "Retour en arrière" + msgid "Go to your fork" msgstr "Aller à votre fourche" @@ -1883,9 +2250,6 @@ msgstr "Aucun groupe trouvé" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "Vous pouvez gérer les autorisations des membres de votre groupe et accéder à chacun de ses projets." -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "Êtes-vous sûr•e de vouloir quitter le groupe \"${group.fullName}\" ?" - msgid "GroupsTree|Create a project in this group." msgstr "Créez un projet dans ce groupe." @@ -1916,6 +2280,9 @@ msgstr "Désolé, aucun groupe ni projet ne correspond à vos critères de reche msgid "Have your users email" msgstr "Lister les emails utilisateurs" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "État des services" @@ -1934,6 +2301,15 @@ msgstr "Aucun problème détecté" msgid "HealthCheck|Unhealthy" msgstr "En mauvaise santé" +msgid "Help" +msgstr "Aide" + +msgid "Help page" +msgstr "Page d’aide" + +msgid "Help page text and support page url." +msgstr "Texte de la page d’aide et URL de la page de support." + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "Masquer la valeur" @@ -1945,12 +2321,39 @@ msgstr "Historique" msgid "Housekeeping successfully started" msgstr "Maintenance démarrée avec succès" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "Si activé, l’accès aux projets sera validé sur un service externe en utilisant leur étiquette de classification." + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "Si vous utilisez GitHub, vous verrez les statuts des pipelines sur GitHub pour vos commit et demandes de fusion. %{more_info_link}" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "Si vous avez déjà des fichiers, vous pouvez les pousser à l’aide de la %{link_to_cli} ci-dessous." +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "Si votre dépôt HTTP n’est pas accessible publiquement, ajoutez des informations d’authentification à l’URL: https: //utilisateur:mot_de_passe@gitlab.company.com/group/project.git." + +msgid "Import" +msgstr "Importer" + +msgid "Import all repositories" +msgstr "Importer tous les dépôts" + +msgid "Import in progress" +msgstr "Importation en cours" + +msgid "Import repositories from GitHub" +msgstr "Importer des dépôts à partir de GitHub" + msgid "Import repository" msgstr "Importer un dépôt" +msgid "ImportButtons|Connect repositories from" +msgstr "Connecter des dépôts à partir de" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "Améliorer les tableaux de tickets avec Gitlab Entreprise Edition." @@ -1974,6 +2377,9 @@ msgstr[1] "Instances" msgid "Instance does not support multiple Kubernetes clusters" msgstr "L’instance ne prend pas en charge plusieurs clusters Kubernetes" +msgid "Integrations" +msgstr "Intégrations" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "Les parties intéressées peuvent même contribuer en poussant des commits si elles le souhaitent." @@ -2028,6 +2434,9 @@ msgstr "Juin" msgid "June" msgstr "Juin" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "Kubernetes" @@ -2058,12 +2467,30 @@ msgstr "Désactivé" msgid "LFSStatus|Enabled" msgstr "Activé" +msgid "Label" +msgstr "Label" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "%{firstLabelName} +%{remainingLabelCount} de plus" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "%{labelsString} et %{remainingLabelCount} de plus" + msgid "Labels" msgstr "Labels" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "Les labels peuvent être appliqués à %{features}. Des labels de groupe sont disponibles pour tout type de projet au sein du groupe." + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "Les labels peuvent être appliqués aux tickets et aux demandes de fusion pour les classer." +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "Promouvoir le label %{labelTitle} en label de groupe ?" + +msgid "Labels|Promote Label" +msgstr "Promouvoir le label" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "Le dernier %d jour" @@ -2123,6 +2550,9 @@ msgstr "Licence" msgid "List" msgstr "Liste" +msgid "List your GitHub repositories" +msgstr "Lister vos dépôts GitHub" + msgid "Loading the GitLab IDE..." msgstr "Chargement de l’IDE GitLab…" @@ -2135,9 +2565,6 @@ msgstr "Verrouiller %{issuableDisplayName}" msgid "Lock not found" msgstr "Verrou non trouvé" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "Verrouiller ce•tte %{issuableDisplayName} ? Seul•e•s les membres du projet seront en mesure de commenter." - msgid "Locked" msgstr "Verrouillé" @@ -2153,9 +2580,21 @@ msgstr "Se connecter" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "Rendez votre équipe plus productive quel que soit son emplacement. GitLab Geo crée des miroirs en lecture seule de votre instance GitLab afin que vous puissiez réduire le temps nécessaire pour cloner et récupérer de gros dépôts." +msgid "Manage all notifications" +msgstr "Gérer toutes les notifications" + +msgid "Manage group labels" +msgstr "Gérer les labels de groupe" + msgid "Manage labels" msgstr "Gérer les labels" +msgid "Manage project labels" +msgstr "Gérer les labels de projet" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "Mars" @@ -2177,6 +2616,9 @@ msgstr "Médian" msgid "Members" msgstr "Membres" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "Demandes de fusion" @@ -2189,15 +2631,87 @@ msgstr "Demande de fusion" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "Les demandes de fusion permettent de proposer les modifications que vous avez apportées à un projet et de discuter de ces modifications avec les autres" -msgid "MergeRequest|Approved" -msgstr "Approuvée" - msgid "Merged" msgstr "Fusionnée" msgid "Messages" msgstr "Messages" +msgid "Metrics - Influx" +msgstr "Métriques - Influx" + +msgid "Metrics - Prometheus" +msgstr "Métriques - Prometheus" + +msgid "Metrics|Business" +msgstr "Affaires" + +msgid "Metrics|Create metric" +msgstr "Créer une métrique" + +msgid "Metrics|Edit metric" +msgstr "Modifier la métrique" + +msgid "Metrics|For grouping similar metrics" +msgstr "Pour regrouper des métriques similaires" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "Etiquette de l’axe vertical du graphique. Habituellement, le type de l’unité étant cartographiée. L’axe horizontal (axe X) représente toujours le temps." + +msgid "Metrics|Legend label (optional)" +msgstr "Légende de l’étiquette (facultatif)" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "Doit être une requête PromQL valide." + +msgid "Metrics|Name" +msgstr "Nom" + +msgid "Metrics|New metric" +msgstr "Nouvelle métrique" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "Documentation de requête Prometheus" + +msgid "Metrics|Query" +msgstr "Requête" + +msgid "Metrics|Response" +msgstr "Réponse" + +msgid "Metrics|System" +msgstr "Système" + +msgid "Metrics|Type" +msgstr "Type" + +msgid "Metrics|Unit label" +msgstr "Étiquette de l’unité" + +msgid "Metrics|Used as a title for the chart" +msgstr "Utilisé comme titre pour le graphique" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "Utilisé si la requête renvoie une seule série. Si elle renvoie plusieurs séries, leurs étiquettes de légende seront récupérées à partir de la réponse." + +msgid "Metrics|Y-axis label" +msgstr "Étiquette de l’axe Y" + +msgid "Metrics|e.g. HTTP requests" +msgstr "Par exemple, requêtes HTTP" + +msgid "Metrics|e.g. Requests/second" +msgstr "Par exemple, requêtes / seconde" + +msgid "Metrics|e.g. Throughput" +msgstr "Par exemple, débit" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "Par exemple, rate(http_requests_total[5m])" + +msgid "Metrics|e.g. req/sec" +msgstr "Par exemple, req/sec" + msgid "Milestone" msgstr "Jalon" @@ -2213,6 +2727,15 @@ msgstr "Impossible de supprimer le jalon %{milestoneTitle}" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "Le jalon %{milestoneTitle} est introuvable" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "Promouvoir %{milestoneTitle} à un jalon de groupe ?" + +msgid "Milestones|Promote Milestone" +msgstr "Promouvoir le jalon" + +msgid "Milestones|This action cannot be reversed." +msgstr "Cette action ne peut pas être annulée." + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "ajouter une clé SSH" @@ -2225,6 +2748,9 @@ msgstr "Fermer" msgid "Monitoring" msgstr "Surveillance" +msgid "More info" +msgstr "En savoir plus" + msgid "More information" msgstr "Plus d’informations" @@ -2299,6 +2825,9 @@ msgstr "Nouveau sous-groupe" msgid "New tag" msgstr "Nouveau tag" +msgid "No Label" +msgstr "Pas de label" + msgid "No assignee" msgstr "Aucune personne assignée" @@ -2317,6 +2846,9 @@ msgstr "Aucune estimation ou temps passé" msgid "No file chosen" msgstr "Aucun fichier sélectionné" +msgid "No labels created yet." +msgstr "Aucun label créé pour le moment." + msgid "No repository" msgstr "Pas de dépôt" @@ -2332,6 +2864,12 @@ msgstr "Non autorisé•e à fusionner" msgid "Not available" msgstr "Indisponible" +msgid "Not available for private projects" +msgstr "Non disponible pour les projets privés" + +msgid "Not available for protected branches" +msgstr "Non disponible pour les branches protégées" + msgid "Not confidential" msgstr "Pas confidentiel•le" @@ -2341,6 +2879,18 @@ msgstr "Données insuffisantes" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "Notez que la branche principale est automatiquement protégée. %{link_to_protected_branches}" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "Remarque : En tant qu’administrateur•rice, vous pouvez configurer %{github_integration_link}, ce qui vous permettra de vous connecter via GitHub et de permettre la connexion de dépôts sans générer de jeton d’accès personnel." + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "Remarque : En tant qu’administrateur•rice, vous pouvez configurer %{github_integration_link}, ce qui vous permettra de vous connecter via GitHub et de permettre l’importation de dépôts sans générer de jeton d’accès personnel." + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "Remarque : Envisagez de demander à votre administrateur•rice GitLab de configurer %{github_integration_link}, ce qui vous permettra de vous connecter via GitHub et de permettre la connexion des dépôts sans générer de jeton d’accès personnel." + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "Remarque : Envisagez de demander à votre administrateur•rice GitLab de configurer %{github_integration_link}, ce qui vous permettra de vous connecter via GitHub et d’importer des dépôts sans générer de jeton d’accès personnel." + msgid "Notification events" msgstr "Événement de notifications" @@ -2425,6 +2975,12 @@ msgstr "Octobre" msgid "OfSearchInADropdown|Filter" msgstr "Filtre" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "Une fois importés, les dépôts peuvent être mis en miroir via SSH. Lire plus %{ssh_link}" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "Seuls les membres du projet peuvent commenter." @@ -2446,12 +3002,18 @@ msgstr "Paramètres" msgid "Otherwise it is recommended you start with one of the options below." msgstr "Sinon, il est recommandé de commencer avec l’une des options ci-dessous." +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "Vue d'ensemble" msgid "Owner" msgstr "Propriétaire" +msgid "Pages" +msgstr "Pages" + msgid "Pagination|Last »" msgstr "Dernière »" @@ -2464,9 +3026,21 @@ msgstr "Précédente" msgid "Pagination|« First" msgstr "« Première" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "Mot de Passe" +msgid "Pending" +msgstr "En attente" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "Jeton d’accès personnel" + msgid "Pipeline" msgstr "Pipeline" @@ -2548,9 +3122,36 @@ msgstr "Pipelines de l’année dernière" msgid "Pipelines|Build with confidence" msgstr "Construire en toute confiance" +msgid "Pipelines|CI Lint" +msgstr "CI Lint" + +msgid "Pipelines|Clear Runner Caches" +msgstr "Vider les caches des Exécuteurs" + msgid "Pipelines|Get started with Pipelines" msgstr "Premiers pas avec les Pipelines" +msgid "Pipelines|Loading Pipelines" +msgstr "Chargement des pipelines" + +msgid "Pipelines|Project cache successfully reset." +msgstr "Réinitialisation réussie du cache de projet." + +msgid "Pipelines|Run Pipeline" +msgstr "Éxécuter un pipeline" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "Une erreur s’est produite lors du nettoyage du cache des exécuteurs." + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "Il n’y a actuellement pas de pipelines %{scope}." + +msgid "Pipelines|There are currently no pipelines." +msgstr "Il n’y a actuellement pas de pipelines." + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "Ce projet n’est actuellement pas configuré pour exécuter des pipelines." + msgid "Pipeline|Retry pipeline" msgstr "Relancer le pipeline" @@ -2581,6 +3182,9 @@ msgstr "avec l'étape" msgid "Pipeline|with stages" msgstr "avec les étapes" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "Lancer" @@ -2590,6 +3194,12 @@ msgstr "Merci d’No common metrics were found

" +msgstr "

Aucune métrique commune trouvée

" + msgid "PrometheusService|Active" msgstr "Actif" @@ -2779,9 +3395,21 @@ msgstr "Déployer et configurer automatiquement Prometheus sur vos clusters pour msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "Par défaut, Prometheus écoute sur 'http://localhost:9090'. Il n’est pas recommandé de changer l’adresse et le port par défaut car cela pourrait affecter ou entrer en conflit avec d'autres services fonctionnant sur le serveur GitLab." +msgid "PrometheusService|Common metrics" +msgstr "Métriques communes" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "Les métriques communes sont automatiquement surveillées en fonction d’une bibliothèque de métriques provenant d’exportateurs populaires." + +msgid "PrometheusService|Custom metrics" +msgstr "Métriques personnalisés" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "Recherche et configuration des métriques en cours…" +msgid "PrometheusService|Finding custom metrics..." +msgstr "Recherche de métriques personnalisées…" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "Installer Prometheus sur les clusters" @@ -2794,20 +3422,14 @@ msgstr "Configuration manuelle" msgid "PrometheusService|Metrics" msgstr "Métriques" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "Les métriques sont automatiquement configurées et surveillées en fonction d’une bibliothèque de métriques provenant d’exportateurs populaires." - msgid "PrometheusService|Missing environment variable" msgstr "Variable d’environnement manquante" -msgid "PrometheusService|Monitored" -msgstr "Surveillé" - msgid "PrometheusService|More information" msgstr "Plus d’informations" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." -msgstr "Aucune métrique n’est surveillée. Pour démarrer la surveillance, déployez sur un environnement." +msgid "PrometheusService|New metric" +msgstr "Nouvelle métrique" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" msgstr "URL de base de l’API Prometheus, comme http://prometheus.example.com/" @@ -2815,6 +3437,9 @@ msgstr "URL de base de l’API Prometheus, comme http://prometheus.example.com/" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "Prometheus est géré automatiquement sur vos clusters" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "Ces métriques ne seront surveillés qu’après votre premier déploiement dans un environnement" + msgid "PrometheusService|Time-series monitoring service" msgstr "Service de surveillance de séries temporelles" @@ -2824,8 +3449,17 @@ msgstr "Pour activer la configuration manuelle, désinstallez Prometheus de vos msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "Pour activer l’installation de Prometheus sur vos clusters, désactivez la configuration manuelle ci-dessous" -msgid "PrometheusService|View environments" -msgstr "Afficher les environnements" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "En attente de votre premier déploiement dans un environnement pour trouver des métriques communes" + +msgid "Promote" +msgstr "Promouvoir" + +msgid "Promote to Group Label" +msgstr "Promouvoir en label de groupe" + +msgid "Promote to Group Milestone" +msgstr "Promouvoir en jalon de groupe" msgid "Protip:" msgstr "Astuce :" @@ -2860,6 +3494,9 @@ msgstr "Lire plus" msgid "Readme" msgstr "LisezMoi" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Branches" @@ -2893,6 +3530,9 @@ msgstr "Demandes de fusion liées" msgid "Related Merged Requests" msgstr "Demandes fusionnées liées" +msgid "Related merge requests" +msgstr "Demandes de fusion liées" + msgid "Remind later" msgstr "Me le rappeler ultérieurement" @@ -2908,12 +3548,24 @@ msgstr "Supprimer le projet" msgid "Repair authentication" msgstr "Réparer l’authentification" +msgid "Repo by URL" +msgstr "Dépôt par URL" + msgid "Repository" msgstr "Dépôt" msgid "Repository has no locks." msgstr "Le dépôt n’a pas de verrous." +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Demander l'accès" @@ -2929,6 +3581,9 @@ msgstr "Réinitialiser le jeton d’inscription des exécuteurs" msgid "Resolve discussion" msgstr "Résoudre la discussion" +msgid "Response" +msgstr "Réponse" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "Révéler la valeur" @@ -2940,9 +3595,36 @@ msgstr "Défaire ce commit" msgid "Revert this merge request" msgstr "Défaire cette demande de fusion" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "Examiner" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "Feuille de route" +msgid "Run CI/CD pipelines for external repositories" +msgstr "Exécuter des pipelines CI / CD pour les dépôts externes" + +msgid "Runners" +msgstr "Exécuteurs" + +msgid "Running" +msgstr "En cours" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "Clés SSH" @@ -2958,6 +3640,9 @@ msgstr "Enregistrer les variables" msgid "Schedule a new pipeline" msgstr "Programmer un nouveau pipeline" +msgid "Scheduled" +msgstr "Planifié" + msgid "Schedules" msgstr "Programmes" @@ -2967,6 +3652,9 @@ msgstr "Programmer des pipelines" msgid "Scoped issue boards" msgstr "Tableaux de tickets avec portée limitée" +msgid "Search" +msgstr "Rechercher" + msgid "Search branches and tags" msgstr "Rechercher dans les branches et les étiquettes" @@ -3030,15 +3718,33 @@ msgstr "Modèles de service" msgid "Service URL" msgstr "URL du service" +msgid "Session expiration, projects limit and attachment size." +msgstr "Expiration de la session, limite des projets et taille des pièces jointes." + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Définissez un mot de passe pour votre compte pour pouvoir tirer ou pousser par %{protocol}." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "Définir les valeurs par défaut et limiter les niveaux de visibilité. Configurer les sources d’importation et le protocole d’accès git." + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "Définir les exigences pour la connexion d’un utilisateur. Activer l’authentification obligatoire à deux facteurs." + msgid "Set up CI/CD" msgstr "Configurer CI/CD" msgid "Set up Koding" msgstr "Mettre en place Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "définir un mot de passe" @@ -3048,6 +3754,9 @@ msgstr "Paramètres" msgid "Setup a specific Runner automatically" msgstr "Configurer un Exécuteur spécifique automatiquement" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "En réinitialisant les minutes du pipeline pour cet espace de noms, les minutes actuellement utilisées seront remises à zéro." @@ -3083,6 +3792,18 @@ msgstr "Aucun" msgid "Sidebar|Weight" msgstr "Poids" +msgid "Sign-in restrictions" +msgstr "Restrictions de connexion" + +msgid "Sign-up restrictions" +msgstr "Restrictions d’inscription" + +msgid "Size and domain settings for static websites" +msgstr "Paramètres de taille et de domaine pour les sites web statiques" + +msgid "Slack application" +msgstr "" + msgid "Snippets" msgstr "Extraits de code" @@ -3092,17 +3813,11 @@ msgstr "Une erreur est survenue de notre côté" msgid "Something went wrong on our end." msgstr "Une erreur est survenue de notre côté." -msgid "Something went wrong trying to change the confidentiality of this issue" -msgstr "Quelque chose s’est mal passé en essayant de changer la confidentialité de ce ticket" - -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" -msgstr "Quelque chose ne s‘est pas bien passé en essayant de changer l’état de verrouillage de cette ${this.issuableDisplayName}" - msgid "Something went wrong when toggling the button" msgstr "Une erreur s’est produite lors du basculement du bouton" -msgid "Something went wrong while closing the %{issuable}. Please try again later" -msgstr "Une erreur s’est produite lors de la fermeture du/de la %{issuable}. Veuillez réessayer plus tard" +msgid "Something went wrong while fetching Dependency Scanning." +msgstr "Une erreur s’est produite lors de la recherche des dépendances." msgid "Something went wrong while fetching SAST." msgstr "Une erreur s’est produite lors de la récupération de la SAST." @@ -3113,12 +3828,6 @@ msgstr "Une erreur s'est produite lors de la récupération des projets." msgid "Something went wrong while fetching the registry list." msgstr "Une erreur s'est produite lors de la récupération de la liste du registre." -msgid "Something went wrong while reopening the %{issuable}. Please try again later" -msgstr "Une erreur s’est produite lors de la réouverture du / de la %{issuable}. Veuillez réessayer plus tard" - -msgid "Something went wrong while resolving this discussion. Please try again." -msgstr "" - msgid "Something went wrong. Please try again." msgstr "Quelque chose s’est mal passé. Veuillez réessayer." @@ -3236,12 +3945,21 @@ msgstr "La source n’est pas disponible" msgid "Spam Logs" msgstr "Journaux des messages indésirables" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "Spécifiez l’URL suivante lors de la configuration de l'Exécuteur :" msgid "StarProject|Star" msgstr "Mettre en favori" +msgid "Starred Projects" +msgstr "Projets favoris" + +msgid "Starred Projects' Activity" +msgstr "Activité des projets favoris" + msgid "Starred projects" msgstr "Projets favoris" @@ -3251,6 +3969,15 @@ msgstr "Créer une %{new_merge_request} avec ces changements" msgid "Start the Runner!" msgstr "Démarrer l'Exécuteur !" +msgid "Started" +msgstr "Démarré" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "État" + msgid "Stopped" msgstr "Arrêté" @@ -3263,9 +3990,15 @@ msgstr "Sous-groupes" msgid "Switch branch/tag" msgstr "Changer de branche / tag" +msgid "System" +msgstr "Système" + msgid "System Hooks" msgstr "Crochets système" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "Tag (%{tag_count})" @@ -3346,6 +4079,9 @@ msgstr "protégé" msgid "Target Branch" msgstr "Branche cible" +msgid "Target branch" +msgstr "Branche cible" + msgid "Team" msgstr "Équipe" @@ -3361,15 +4097,24 @@ msgstr "Le suivi des tickets est l’endroit où ajouter des éléments à amél msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "Le suivi des tickets est l’endroit où ajouter des éléments à améliorer ou à résoudre dans un projet. Vous pouvez vous inscrire ou vous connecter pour créer des tickets pour ce projet." +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "Le certificat X509 à utiliser lorsque le protocole TLS est requis pour communiquer avec le service d’autorisation externe. Si ce champ est vide, le certificat du serveur est utilisé lors de l’accès via HTTPS." + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "L’étape de développement montre le temps entre le premier commit et la création de la demande de fusion. Les données seront automatiquement ajoutées ici une fois que vous aurez créé votre première demande de fusion." msgid "The collection of events added to the data gathered for that stage." msgstr "L’ensemble d’évènements ajoutés aux données récupérées pour cette étape." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "La connexion expirera après %{timeout}. Pour les dépôts qui prennent plus de temps, utilisez une combinaison cloner / pousser." + msgid "The fork relationship has been removed." msgstr "La relation de fourche a été supprimée." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "L’importation expirera après %{timeout}. Pour les dépôts qui prennent plus de temps, utilisez une combinaison clone / push." + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "L'étape des tickets montre le temps nécessaire entre la création d'un ticket et son assignation à un jalon, ou son ajout à une liste d'un tableau de tickets. Commencez par créer des tickets pour voir des données pour cette étape." @@ -3382,12 +4127,18 @@ msgstr "Le nombre de tentatives que GitLab va effectuer pour accéder au stockag msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "Nombre d’échecs avant que GitLab n’empêche tout accès au stockage. Ce nombre d’échecs peut être réinitialisé dans l’interface d’administration : %{link_to_health_page} ou en suivant le %{api_documentation_link}." +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "La phrase secrète est requise pour déchiffrer la clé privée. Ceci est facultatif et la valeur est cryptée à l’arrêt." + msgid "The phase of the development lifecycle." msgstr "Les étapes du cycle de développement." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "L’étape de planification montre le temps entre l’étape précédente et l’envoi de votre premier commit. Ce temps sera automatiquement ajouté quand vous pousserez votre premier commit." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "La clé privée à utiliser lorsqu’un certificat client est fourni. Cette valeur est cryptée à l’arrêt." + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "L’étape de mise en production montre le temps nécessaire entre la création d’un ticket et le déploiement du code en production. Les données seront automatiquement ajoutées une fois que vous aurez complété le cycle complet, depuis l’idée jusqu’à la mise en production." @@ -3403,6 +4154,9 @@ msgstr "Le dépôt pour ce projet n'existe pas." msgid "The repository for this project is empty" msgstr "Le dépôt de ce projet est vide" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "Le dépôt doit être accessible via http://, https:// ou git://." + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "L’étape d’évaluation montre le temps entre la création de la demande de fusion et la fusion effective de celle-ci. Ces données seront automatiquement ajoutées après que vous ayez fusionné votre première demande de fusion." @@ -3439,6 +4193,9 @@ msgstr "Il n’y a aucune demande de fusion à afficher" msgid "There are problems accessing Git storage: " msgstr "Il y a des difficultés à accéder aux données Git : " +msgid "There was an error loading results" +msgstr "Une erreur s’est produite lors du chargement des résultats" + msgid "There was an error loading users activity calendar." msgstr "Une erreur s’est produite lors du chargement du calendrier d’activité des utilisateurs." @@ -3511,6 +4268,9 @@ msgstr "Ce projet" msgid "This repository" msgstr "Ce dépôt" +msgid "This will delete the custom metric, Are you sure?" +msgstr "Cela supprimera la métrique personnalisée, êtes-vous sûr•e ?" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "Ces emails deviennent automatiquement des tickets (les commentaires étant extrait de la conversation par email) répertoriés ici." @@ -3523,6 +4283,12 @@ msgstr "Temps avant que la résolution du ticket ne débute" msgid "Time between merge request creation and merge/close" msgstr "Temps entre la création d'une demande de fusion et sa fusion/clôture" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "Temps en secondes où GitLab attendra une réponse du service externe. Si le service ne répond pas à temps, l’accès sera refusé." + msgid "Time tracking" msgstr "Suivi du temps" @@ -3680,6 +4446,36 @@ msgstr "Astuce :" msgid "Title" msgstr "Titre" +msgid "To GitLab" +msgstr "Vers GitLab" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "Pour connecter les dépôts GitHub, vous pouvez utiliser un %{personal_access_token_link}. Lorsque vous créez votre jeton d’accès, vous devrez sélectionner le champ repo, afin que nous puissions afficher une liste de vos dépôts publics et privés qui sont disponibles pour se connecter." + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "Pour connecter les dépôts GitHub, vous devez d’abord autoriser GitLab à accéder à la liste de vos dépôts GitHub :" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "Pour connecter un dépôt SVN, consultez %{svn_link}." + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "Pour importer les dépôts GitHub, vous pouvez utiliser un %{personal_access_token_link}. Lorsque vous créez votre jeton d’accès, vous devrez sélectionner le champ repo, afin que nous puissions afficher une liste de vos dépôts publics et privés qui sont disponibles pour être importés." + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "Pour importer des dépôts GitHub, vous devez d’abord autoriser GitLab à accéder à la liste de vos dépôts GitHub :" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "Pour importer un dépôt SVN, consultez %{svn_link}." + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "Pour utiliser uniquement les fonctionnalités CI / CD pour un dépôt externe, choisissez CI / CD pour le dépôt externe." + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "Pour valider vos configurations GitLab CI, allez dans 'CI / CD → Pipelines' dans votre projet, et cliquez sur le bouton 'CI Lint'." + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "Pour afficher la feuille de route, ajoutez une date de début ou de fin planifiée à l’une de vos épopées dans ce groupe ou ses sous-groupes. Seules les épopées des 3 derniers mois et des 3 prochains mois sont affichées." @@ -3719,23 +4515,17 @@ msgstr "Déclencher cette action manuelle" msgid "Turn on Service Desk" msgstr "Activer le Service Desk" -msgid "Unable to reset project cache." -msgstr "Impossible de réinitialiser le cache du projet." - msgid "Unknown" msgstr "Inconnu" msgid "Unlock" msgstr "Déverrouiller" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "Débloquez le•a %{issuableDisplayName} ? Tout le monde sera en mesure de commenter." - msgid "Unlocked" msgstr "Déverrouillé" msgid "Unresolve discussion" -msgstr "" +msgstr "Marquer la discussion comme non résolue" msgid "Unstar" msgstr "Supprimer des favoris" @@ -3770,6 +4560,12 @@ msgstr "Importer un nouvel avatar" msgid "UploadLink|click to upload" msgstr "Cliquez pour envoyer" +msgid "Upvotes" +msgstr "Votes positifs" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "Utilisez Service Desk pour intéragir avec vos utilisateurs (par exemple pour offrir un support client) par email directement dans GitLab" @@ -3779,24 +4575,51 @@ msgstr "Utiliser le jeton d’inscription suivant pendant l’installation :" msgid "Use your global notification setting" msgstr "Utiliser vos paramètres de notification globaux" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "Les variables sont appliquées aux environnements via l’exécuteur. Elles peuvent être protégées en les exposant uniquement à des branches ou des tags protégées. Vous pouvez utiliser des variables pour les mots de passe, les clés secrètes ou tout ce que vous voulez." +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "Afficher et modifier les lignes" + msgid "View epics list" msgstr "Afficher la liste des épopées" msgid "View file @ " msgstr "Voir le fichier @ " +msgid "View group labels" +msgstr "Afficher les labels de groupe" + msgid "View labels" msgstr "Afficher les labels" msgid "View open merge request" msgstr "Afficher la demande de fusion" +msgid "View project labels" +msgstr "Afficher les labels de projet" + msgid "View replaced file @ " msgstr "Voir le fichier remplacé @ " +msgid "Visibility and access controls" +msgstr "Contrôles de visibilité et d’accès" + msgid "VisibilityLevel|Internal" msgstr "Interne" @@ -3824,12 +4647,18 @@ msgstr "Nous voulons être sûrs que c'est bien vous, merci de confirmer que vou msgid "Web IDE" msgstr "Web IDE" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "Les webhooks vous permettent d’appeler une URL si, par exemple, du nouveau code est poussé ou un nouveau ticket est créé. Vous pouvez configurer les webhooks pour écouter les événements spécifiques comme des poussées de code, des tickets ou des demandes de fusion. Les webhooks de groupes s’appliqueront à tous les projets dans un groupe, ce qui vous permet de normaliser la fonctionnalité du webhook dans votre groupe entier." msgid "Weight" msgstr "Poids" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "Lorsque vous laissez l’URL vide, les étiquettes de classification peuvent toujours être spécifiées sans désactiver les fonctionnalités inter-projets ou effectuer des vérifications d’autorisation externes." + msgid "Wiki" msgstr "Wiki" @@ -3950,14 +4779,20 @@ msgstr "Écrire un message de commit…" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "Vous êtes sur le point de supprimer %{group_name}. Les groupes supprimés NE PEUVENT PAS être restaurés ! Êtes vous ABSOLUMENT sûr·e ?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "Vous êtes sur le point de supprimer %{project_name_with_namespace}. Les projets supprimés NE PEUVENT PAS être restaurés ! Êtes vous ABSOLUMENT sûr·e ?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "Vous êtes sur le point de supprimer %{project_full_name}. Les projets supprimés NE PEUVENT PAS être restaurés ! Êtes-vous ABSOLUMENT sûr•e ?" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "Vous allez supprimer la relation de fourche avec le projet source %{forked_from_project}. Êtes-vous ABSOLUMENT sûr·e ?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "Vous allez transférer %{project_name_with_namespace} à un nouveau propriétaire. Êtes vous ABSOLUMENT sûr·e ?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "Vous allez transférer %{project_full_name} à un•e nouveau•elle propriétaire. Êtes-vous VRAIMENT sûr•e ?" + +msgid "You are on a read-only GitLab instance." +msgstr "Vous êtes sur une instance GitLab en lecture seule." + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "Vous êtes sur un nœud Geo secondaire (en lecture seule). Si vous voulez apporter des modifications, vous devez visiter le %{primary_node}." msgid "You can also create a project from the command line." msgstr "Vous pouvez également créer un projet en ligne de commande." @@ -4031,9 +4866,27 @@ msgstr "Vous ne pourrez pas récupérer ou pousser de code par SSH tant que vous msgid "You'll need to use different branch names to get a valid comparison." msgstr "Vous devrez utiliser différents noms de branches pour obtenir une comparaison valide." +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "Vous recevez ce courriel en raison de votre compte sur %{host}. %{manage_notifications_link} · %{help_link}" + +msgid "Your Groups" +msgstr "Vos groupes" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "Vos informations de cluster Kubernetes sur cette page sont toujours modifiables, mais il est conseillé de désactiver et reconfigurer" +msgid "Your Projects (default)" +msgstr "Vos projets (défaut)" + +msgid "Your Projects' Activity" +msgstr "Activité de vos projets favoris" + +msgid "Your Todos" +msgstr "Vos tâches à faire" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "Vos modifications peuvent être validées sur %{branch_name} car une demande de fusion est ouverte." + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "Vos modifications ont été validées. Commit %{commitId} %{commitStats}" @@ -4049,6 +4902,14 @@ msgstr "Votre nom" msgid "Your projects" msgstr "Vos projets" +msgid "among other things" +msgstr "entre autres choses" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "et %d vulnérabilité corrigée" +msgstr[1] "et %d vulnérabilités corrigées" + msgid "assign yourself" msgstr "assignez vous" @@ -4058,12 +4919,30 @@ msgstr "nom de la branche" msgid "by" msgstr "par" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "%{type} n’a détecté aucune nouvelle vulnérabilité de sécurité" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "%{type} n’a détecté aucune vulnérabilité de sécurité" + msgid "ciReport|Code quality" msgstr "Qualité du code" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "DAST n’a détecté aucune alerte en analysant l’application de revue" +msgid "ciReport|Dependency scanning" +msgstr "Analyse de dépendance" + +msgid "ciReport|Dependency scanning detected" +msgstr "Analyse de dépendance détectée" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "L’analyse des dépendances n’a détecté aucune nouvelle vulnérabilité de sécurité" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "L’analyse des dépendances n’a détecté aucune vulnérabilité de sécurité" + msgid "ciReport|Failed to load %{reportName} report" msgstr "Impossible de charger le rapport %{reportName}" @@ -4091,9 +4970,6 @@ msgstr "Indicateurs de performance" msgid "ciReport|SAST" msgstr "SAST" -msgid "ciReport|SAST degraded on" -msgstr "SAST dégradée sur" - msgid "ciReport|SAST detected" msgstr "SAST détectée" @@ -4106,41 +4982,69 @@ msgstr "SAST n’a détecté aucune vulnérabilité de sécurité" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "SAST:conteneur aucune vulnérabilité n’a été trouvée" +msgid "ciReport|Security scanning" +msgstr "Analyse de sécurité" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "L’analyse de sécurité n’a pas réussi à charger de résultats" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "Afficher le rapport complet sur les vulnérabilités du code" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "Les vulnérabilités non approuvées (en rouge) peuvent être marquées comme approuvées. %{helpLink}" -msgid "ciReport|no security vulnerabilities" -msgstr "aucune vulnérabilité de sécurité" +msgid "ciReport|no vulnerabilities" +msgstr "aucune vulnérabilité" msgid "command line instructions" msgstr "instructions en ligne de commande" -msgid "commit" -msgstr "validation" - -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "Vous allez désactiver la confidentialité. Cela signifie que tout le monde sera en mesure de voir et de laisser un commentaire sur ce ticket." +msgid "connecting" +msgstr "connexion en cours" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." -msgstr "Vous allez activer la confidentialité. Cela signifie que seuls les membres de l’équipe avec au moins un accès Reporter sont capables de voir et de laisser des commentaires sur le ticket." +msgid "could not read private key, is the passphrase correct?" +msgstr "impossible de lire la clé privée, la phrase secrète est-elle correcte ?" msgid "day" msgid_plural "days" msgstr[0] "jour" msgstr[1] "jours" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "a détecté %d vulnérabilité corrigée" +msgstr[1] "a détecté %d vulnérabilités corrigées" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "a détecté %d nouvelle vulnérabilité" +msgstr[1] "a détecté %d nouvelle vulnérabilité" + +msgid "detected no vulnerabilities" +msgstr "n’a détecté aucune vulnérabilité" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "%{slash_command} mettra à jour la durée estimée avec la dernière commande." +msgid "here" +msgstr "ici" + +msgid "importing" +msgstr "importation en cours" + +msgid "in progress" +msgstr "en cours" + msgid "is invalid because there is downstream lock" msgstr "est invalide car il y a un verrou en aval" msgid "is invalid because there is upstream lock" msgstr "est invalide car il y a un verrou en amont" +msgid "is not a valid X509 certificate." +msgstr "n’est pas un certificat X509 valide." + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "verrouillé par %{path_lock_user_name} %{created_at}" @@ -4152,9 +5056,21 @@ msgstr[1] "demandes de fusion" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "Veuillez la restaurer ou utiliser une autre branche %{missingBranchName}" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "%{metricsLinkStart}L’usage mémoire%{metricsLinkEnd} %{emphasisStart}a diminué%{emphasisEnd} de %{memoryFrom}MO à %{memoryTo}MO" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "%{metricsLinkStart}L’usage mémoire%{metricsLinkEnd} %{emphasisStart}a augmenté%{emphasisEnd} de %{memoryFrom}MO à %{memoryTo}MO" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "%{metricsLinkStart}L’usage mémoire%{metricsLinkEnd} %{emphasisStart}est resté stable%{emphasisEnd} à %{memoryFrom}MO" + msgid "mrWidget|Add approval" msgstr "Ajouter une approbation" +msgid "mrWidget|Allows edits from maintainers" +msgstr "Autoriser les modifications par les mainteneurs" + msgid "mrWidget|An error occured while removing your approval." msgstr "Une erreur est survenue lors de la suppression de votre approbation." @@ -4167,6 +5083,9 @@ msgstr "Une erreur est survenue pendant l’envoi de votre approbation." msgid "mrWidget|Approve" msgstr "Approuver" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "Approuvée par" @@ -4194,18 +5113,27 @@ msgstr "Fermée par" msgid "mrWidget|Closes" msgstr "Résout" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "Les statistiques de déploiement ne sont pas disponibles pour le moment" + msgid "mrWidget|Did not close" msgstr "N’a pas résolu" msgid "mrWidget|Email patches" msgstr "Patchs par courriel" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "Impossible de charger les statistiques de déploiement" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "Si la branche %{branch} existe dans votre dépôt local, vous pouvez fusionner cette demande de fusion manuellement à l’aide de" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "Si la branche %{missingBranchName} existe dans votre dépôt local, vous pouvez fusionner cette demande de fusion manuellement en ligne de commande" +msgid "mrWidget|Loading deployment statistics" +msgstr "mrWidget | Chargement des statistiques de déploiement" + msgid "mrWidget|Mentions" msgstr "Mentionne" @@ -4243,7 +5171,7 @@ msgid "mrWidget|Remove your approval" msgstr "Supprimer votre approbation" msgid "mrWidget|Request to merge" -msgstr "Demander la fusion" +msgstr "Demande de fusion de" msgid "mrWidget|Resolve conflicts" msgstr "Résoudre les conflits" @@ -4290,6 +5218,9 @@ msgstr "Cette demande de fusion est en cours de fusion" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "Ce projet est archivé, l’accès en écriture a été désactivé" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "Vous pouvez fusionner cette demande de fusion manuellement à l’aide de la" @@ -4328,6 +5259,9 @@ msgstr "mot de passe" msgid "personal access token" msgstr "jeton d’accès personnel" +msgid "private key does not match certificate." +msgstr "clé privée ne correspond pas au certificat." + msgid "remove due date" msgstr "supprimer la date d’échéance" @@ -4337,6 +5271,9 @@ msgstr "source" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "%{slash_command} mettra à jour la somme du temps passé." +msgid "this document" +msgstr "ce document" + msgid "to help your contributors communicate effectively!" msgstr "pour aider vos contributeurs à communiquer efficacement !" diff --git a/locale/id_ID/gitlab.po b/locale/id_ID/gitlab.po index 183cb996b0a..adb9746e854 100644 --- a/locale/id_ID/gitlab.po +++ b/locale/id_ID/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:23-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:39-0400\n" "Last-Translator: gitlab \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -27,6 +27,10 @@ msgid "%d commit behind" msgid_plural "%d commits behind" msgstr[0] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -39,6 +43,10 @@ msgid "%d merge request" msgid_plural "%d merge requests" msgstr[0] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "" @@ -53,6 +61,9 @@ msgid "%{count} participant" msgid_plural "%{count} participants" msgstr[0] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -94,15 +105,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "" msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -112,6 +138,9 @@ msgstr "" msgid "Account" msgstr "" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "" @@ -208,9 +237,33 @@ msgstr "" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -289,6 +342,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -322,6 +378,9 @@ msgstr "" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -334,6 +393,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -358,6 +426,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -400,6 +471,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -482,6 +559,15 @@ msgstr "" msgid "Branches" msgstr "" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -527,12 +613,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -578,30 +691,45 @@ msgstr "" msgid "Browse files" msgstr "" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "" -msgid "Cancel edit" +msgid "Cannot be merged automatically" msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "" @@ -656,6 +784,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -758,6 +892,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -857,6 +1000,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -866,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -884,6 +1033,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -917,6 +1069,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -977,6 +1132,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1004,6 +1162,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1126,6 +1287,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1141,9 +1308,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1189,6 +1392,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "" @@ -1252,7 +1461,7 @@ msgstr "" msgid "Create directory" msgstr "" -msgid "Create empty bare repository" +msgid "Create empty repository" msgstr "" msgid "Create epic" @@ -1261,6 +1470,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1285,6 +1497,9 @@ msgstr "" msgid "Create new..." msgstr "" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "" @@ -1318,6 +1533,9 @@ msgstr "" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "" +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "" @@ -1400,9 +1618,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "" +msgid "Done" +msgstr "" + msgid "Download" msgstr "" @@ -1430,9 +1654,15 @@ msgstr "" msgid "DownloadSource|Download" msgstr "" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "" @@ -1442,6 +1672,18 @@ msgstr "" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1451,6 +1693,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1511,6 +1780,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1586,9 +1858,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1598,6 +1876,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1631,6 +1912,9 @@ msgstr "" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "" @@ -1640,12 +1924,21 @@ msgstr "" msgid "Find file" msgstr "" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "" msgid "FirstPushedBy|pushed by" msgstr "" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "" @@ -1656,9 +1949,15 @@ msgstr "" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "" @@ -1677,12 +1976,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1728,21 +2033,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1755,9 +2087,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1788,6 +2132,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1797,12 +2144,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "" @@ -1869,9 +2234,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1902,6 +2264,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1920,6 +2285,15 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1930,16 +2304,43 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" msgstr "" -msgid "Import repository" +msgid "If enabled, access to projects will be validated on an external service using their classification label." msgstr "" -msgid "Improve Issue boards with GitLab Enterprise Edition." +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" msgstr "" -msgid "Improve issues management with Issue weight and GitLab Enterprise Edition." +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + +msgid "Import repository" +msgstr "" + +msgid "ImportButtons|Connect repositories from" +msgstr "" + +msgid "Improve Issue boards with GitLab Enterprise Edition." +msgstr "" + +msgid "Improve issues management with Issue weight and GitLab Enterprise Edition." msgstr "" msgid "Improve search with Advanced Global Search and GitLab Enterprise Edition." @@ -1958,6 +2359,9 @@ msgstr[0] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2012,6 +2416,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2042,12 +2449,30 @@ msgstr "" msgid "LFSStatus|Enabled" msgstr "" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "" @@ -2106,6 +2531,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2118,9 +2546,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2136,9 +2561,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2160,6 +2597,9 @@ msgstr "" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2172,15 +2612,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2196,6 +2708,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "" @@ -2208,6 +2729,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2281,6 +2805,9 @@ msgstr "" msgid "New tag" msgstr "" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2299,6 +2826,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "" @@ -2314,6 +2844,12 @@ msgstr "" msgid "Not available" msgstr "" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2323,6 +2859,18 @@ msgstr "" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "" @@ -2407,6 +2955,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2428,12 +2982,18 @@ msgstr "" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2446,9 +3006,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "" @@ -2530,9 +3102,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2563,6 +3162,9 @@ msgstr "" msgid "Pipeline|with stages" msgstr "" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2572,6 +3174,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2626,6 +3234,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2650,9 +3261,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "" @@ -2749,6 +3357,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2761,9 +3375,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2776,19 +3402,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2797,6 +3417,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2806,7 +3429,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2842,6 +3474,9 @@ msgstr "" msgid "Readme" msgstr "" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "" @@ -2875,6 +3510,9 @@ msgstr "" msgid "Related Merged Requests" msgstr "" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "" @@ -2890,12 +3528,24 @@ msgstr "" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "" @@ -2911,6 +3561,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2921,9 +3574,36 @@ msgstr "" msgid "Revert this merge request" msgstr "" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2939,6 +3619,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2948,6 +3631,9 @@ msgstr "" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "" @@ -3011,15 +3697,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "" @@ -3029,6 +3733,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3063,40 +3770,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3216,12 +3923,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3231,6 +3947,15 @@ msgstr "" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3243,9 +3968,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3325,6 +4056,9 @@ msgstr "" msgid "Target Branch" msgstr "" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3340,15 +4074,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "" msgid "The collection of events added to the data gathered for that stage." msgstr "" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "" @@ -3361,12 +4104,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "" @@ -3382,6 +4131,9 @@ msgstr "" msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "" @@ -3418,6 +4170,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3490,6 +4245,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3502,6 +4260,12 @@ msgstr "" msgid "Time between merge request creation and merge/close" msgstr "" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3657,6 +4421,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3696,18 +4490,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3747,6 +4535,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3756,24 +4550,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "" @@ -3801,12 +4622,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3927,13 +4754,19 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." msgstr "" msgid "You can also create a project from the command line." @@ -4008,9 +4841,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4026,6 +4877,13 @@ msgstr "" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" + msgid "assign yourself" msgstr "" @@ -4035,12 +4893,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4068,9 +4944,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4083,40 +4956,66 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" -msgstr "" - -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" msgid_plural "days" msgstr[0] "" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4127,9 +5026,21 @@ msgstr[0] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4142,6 +5053,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4169,18 +5083,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4265,6 +5188,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4302,6 +5228,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4311,6 +5240,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/it/gitlab.po b/locale/it/gitlab.po index 0cb814ac59c..41d6a76be66 100644 --- a/locale/it/gitlab.po +++ b/locale/it/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:21-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:37-0400\n" "Last-Translator: gitlab \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "" msgstr[1] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "" msgstr[1] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s commit aggiuntivo è stato omesso per evitare degradi di prestazioni negli issues." @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "%{count} partecipante" msgstr[1] "%{count} partecipanti" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -103,15 +116,30 @@ msgstr "Primo contributo!" msgid "2FA enabled" msgstr "2FA abilitata" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Un insieme di grafici riguardo la Continuous Integration" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "Riguardo il rilascio automatico" msgid "Abuse Reports" msgstr "Segnalazioni di abuso" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "Token di accesso" @@ -121,6 +149,9 @@ msgstr "L'accesso agli storages è stato temporaneamente disabilitato per consen msgid "Account" msgstr "Account" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Attivo" @@ -217,9 +248,33 @@ msgstr "Tutto" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -298,6 +353,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "Si è verificato un errore. Riprova." +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "Aspetto" @@ -331,6 +389,9 @@ msgstr "Sei sicuro?" msgid "Artifacts" msgstr "Artefatti" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -343,6 +404,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -367,6 +437,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -409,6 +482,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -492,6 +571,15 @@ msgstr "Cambia branch" msgid "Branches" msgstr "Branch" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "Impossibile trovare l'HEAD commit per questa branch" @@ -537,12 +625,39 @@ msgstr "Una volta confermato e premuto %{delete_protected_branch} non sarà poss msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "Solo gli Owner e i Master possono eliminare una branch protetta" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" -msgstr "Le branch protette possono esser gestite in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" +msgstr "" msgid "Branches|Sort by" msgstr "Ordina per" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -588,30 +703,45 @@ msgstr "Esplora Files" msgid "Browse files" msgstr "Guarda i files" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "per" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "Jobs" msgid "Cancel" msgstr "Cancella" -msgid "Cancel edit" -msgstr "Annulla modifica" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "Preleva nella branch" @@ -666,6 +796,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -768,6 +904,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "Clona repository" @@ -867,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "Helm Tiller" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "Ingresso" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "Installa" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "Installato" @@ -894,6 +1045,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -927,6 +1081,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "Tipo di macchina" @@ -987,6 +1144,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1014,6 +1174,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1138,6 +1301,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1153,9 +1322,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1201,6 +1406,12 @@ msgstr "Utilizza nomi d'immagine differenti" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "Con il Docker Container Registry integrato in Gitlab, ogni progetto può avere il suo spazio d'archiviazione sulle immagini Docker." +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "Guida per contribuire" @@ -1264,8 +1475,8 @@ msgstr "" msgid "Create directory" msgstr "Crea cartella" -msgid "Create empty bare repository" -msgstr "Crea una repository vuota" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "" @@ -1273,6 +1484,9 @@ msgstr "" msgid "Create file" msgstr "Crea file" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1297,6 +1511,9 @@ msgstr "" msgid "Create new..." msgstr "Crea nuovo..." +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "Fork" @@ -1330,6 +1547,9 @@ msgstr "Eventi-Notifica personalizzati" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "I livelli di notifica personalizzati sono uguali a quelli di partecipazione. Con i livelli di notifica personalizzati riceverai anche notifiche per gli eventi da te scelti %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "Statistiche Cicliche" @@ -1413,9 +1633,15 @@ msgstr "Chiudi l'introduzione alle Analisi Cicliche" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "Non mostrare più" +msgid "Done" +msgstr "" + msgid "Download" msgstr "Scarica" @@ -1443,9 +1669,15 @@ msgstr "Differenze" msgid "DownloadSource|Download" msgstr "Scarica" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "Modifica" @@ -1455,6 +1687,18 @@ msgstr "Cambia programmazione della pipeline %{id}" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "E-mail" @@ -1464,6 +1708,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "Errore durante il fetch degli ambienti." @@ -1524,6 +1795,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1599,9 +1873,15 @@ msgstr "Esplora gruppi pubblici" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1611,6 +1891,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1644,6 +1927,9 @@ msgstr "Files" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "Filtra per messaggio di commit" @@ -1653,12 +1939,21 @@ msgstr "Trova in percorso" msgid "Find file" msgstr "Trova file" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "Primo" msgid "FirstPushedBy|pushed by" msgstr "Push di" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "Fork" @@ -1670,9 +1965,15 @@ msgstr "Fork da" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "Fork da %{project_name} (eliminato)" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "Formato" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "Dalla creazione di un issue fino al rilascio in produzione" @@ -1691,12 +1992,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1742,21 +2049,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,9 +2103,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1802,6 +2148,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1811,12 +2160,30 @@ msgstr "Le informazioni sullo stato dell'archiviazione Git è stata ripristinata msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "Sezione Gitlab Runner" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "Vai il tuo fork" @@ -1883,9 +2250,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1916,6 +2280,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "Verifica stato" @@ -1934,10 +2301,19 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" -msgid "Hide value" -msgid_plural "Hide values" -msgstr[0] "" -msgstr[1] "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + +msgid "Hide value" +msgid_plural "Hide values" +msgstr[0] "" +msgstr[1] "" msgid "History" msgstr "Cronologia" @@ -1945,12 +2321,39 @@ msgstr "Cronologia" msgid "Housekeeping successfully started" msgstr "Housekeeping iniziato con successo" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "" +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + msgid "Import repository" msgstr "Importa repository" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1974,6 +2377,9 @@ msgstr[1] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2028,6 +2434,9 @@ msgstr "Giu" msgid "June" msgstr "Giugno" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "Disabilitato" msgid "LFSStatus|Enabled" msgstr "Abilitato" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "L'ultimo %d giorno" @@ -2123,6 +2550,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2135,9 +2565,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "Bloccato" @@ -2153,9 +2580,21 @@ msgstr "Login" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "Mar" @@ -2177,6 +2616,9 @@ msgstr "Mediano" msgid "Members" msgstr "Membri" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "Richieste di merge" @@ -2189,15 +2631,87 @@ msgstr "Richiesta di merge" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "Messaggi" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "aggiungi una chiave SSH" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "Monitoraggio" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2299,6 +2825,9 @@ msgstr "Nuovo sottogruppo" msgid "New tag" msgstr "Nuovo tag" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2317,6 +2846,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "Nessuna Repository" @@ -2332,6 +2864,12 @@ msgstr "" msgid "Not available" msgstr "Non disponibile" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2341,6 +2879,18 @@ msgstr "Dati insufficienti " msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "Notifica eventi" @@ -2425,6 +2975,12 @@ msgstr "Ottobre" msgid "OfSearchInADropdown|Filter" msgstr "Filtra" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "Solo i membri del progetto possono commentare." @@ -2446,12 +3002,18 @@ msgstr "Opzioni" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "Panoramica" msgid "Owner" msgstr "Proprietario" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "Ultima »" @@ -2464,9 +3026,21 @@ msgstr "Precedente" msgid "Pagination|« First" msgstr "« Prima" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "Password" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "Pipeline" @@ -2548,9 +3122,36 @@ msgstr "Pipeline per l'ultimo anno" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2581,6 +3182,9 @@ msgstr "con stadio" msgid "Pipeline|with stages" msgstr "con più stadi" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2590,6 +3194,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "Preferenze" @@ -2644,6 +3254,9 @@ msgstr "Il tuo account è attualmente proprietario in questi gruppi:" msgid "Profiles|your account" msgstr "il tuo account" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2668,9 +3281,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "Dettagli del progetto" @@ -2767,6 +3377,12 @@ msgstr "Siamo spiacenti, non ci sono progetti che corrispondono alla tua ricerca msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "Questa feature richiede il supporto del localStorage del browser" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "Di default, Prometheus è in ascolto su ‘http://localhost:9090‘. Non è consigliabile cambiare l'indirizzo e la porta di default in quanto ciò potrebbe influenzare o causare conflitto con altri servizi in esecuzione sul server GitLab." +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "Ricerco e configuro le metriche..." +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,20 +3422,14 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "Metriche" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "Le metriche sono configurate automaticamente e monitorate sulla base di una libreria di metriche di esportatori popolari." - msgid "PrometheusService|Missing environment variable" msgstr "Variabile d'ambiente mancante" -msgid "PrometheusService|Monitored" -msgstr "Monitorato" - msgid "PrometheusService|More information" msgstr "Ulteriori informazioni" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." -msgstr "Nessuna metrica è stata monitorata. Per iniziare a monitorare, rilascia su un ambiente." +msgid "PrometheusService|New metric" +msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" msgstr "" @@ -2815,6 +3437,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2824,7 +3449,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2860,6 +3494,9 @@ msgstr "Vedi altro" msgid "Readme" msgstr "Leggimi" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Branches" @@ -2893,6 +3530,9 @@ msgstr "Richieste di Merge Correlate" msgid "Related Merged Requests" msgstr "Richieste di Merge Completate Correlate" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "Ricordamelo più tardi" @@ -2908,12 +3548,24 @@ msgstr "Rimuovi progetto" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Richiedi accesso" @@ -2929,6 +3581,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2940,9 +3595,36 @@ msgstr "Ripristina questo commit" msgid "Revert this merge request" msgstr "Ripristina questa richiesta di merge" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "Chiavi SSH" @@ -2958,6 +3640,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "Pianifica una nuova Pipeline" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2967,6 +3652,9 @@ msgstr "Pianificazione pipelines" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "Ricerca branches e tags" @@ -3030,15 +3718,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Establezca una contraseña en su cuenta para actualizar o enviar a través de %{protocol}." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "Configura Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "imposta una password" @@ -3048,6 +3754,9 @@ msgstr "Impostazioni" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,6 +3792,18 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" +msgid "Sign-in restrictions" +msgstr "" + +msgid "Sign-up restrictions" +msgstr "" + +msgid "Size and domain settings for static websites" +msgstr "" + +msgid "Slack application" +msgstr "" + msgid "Snippets" msgstr "Snippet" @@ -3090,18 +3811,12 @@ msgid "Something went wrong on our end" msgstr "" msgid "Something went wrong on our end." -msgstr "Si è verificato un problema con il nostro server." - -msgid "Something went wrong trying to change the confidentiality of this issue" -msgstr "" - -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" msgstr "" msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" msgid "Something went wrong while fetching SAST." @@ -3113,12 +3828,6 @@ msgstr "Qualcosa è andato storto durante il fetch dei progetti." msgid "Something went wrong while fetching the registry list." msgstr "Qualcosa è andato storto durante il recupero dell'elenco dei registri." -msgid "Something went wrong while reopening the %{issuable}. Please try again later" -msgstr "" - -msgid "Something went wrong while resolving this discussion. Please try again." -msgstr "" - msgid "Something went wrong. Please try again." msgstr "" @@ -3236,12 +3945,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "Star" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3251,6 +3969,15 @@ msgstr "inizia una %{new_merge_request} con queste modifiche" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3263,9 +3990,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "Cambia branch/tag" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3346,6 +4079,9 @@ msgstr "" msgid "Target Branch" msgstr "Branch di destinazione" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3361,15 +4097,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "Lo stadio di programmazione mostra il tempo trascorso dal primo commit alla creazione di una richiesta di merge (MR). I dati saranno aggiunti una volta che avrai creato la prima richiesta di merge." msgid "The collection of events added to the data gathered for that stage." msgstr "L'insieme di eventi aggiunti ai dati raccolti per quello stadio." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "La relazione del fork è stata rimossa" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "Lo stadio di Issue mostra il tempo che impiega un issue ad esser correlato ad una Milestone, o ad esser aggiunto ad una tua Lavagna. Inizia la creazione di problemi per visualizzare i dati in questo stadio." @@ -3382,12 +4127,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "Il ciclo vitale della fase di sviluppo." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "Lo stadio di pianificazione mostra il tempo trascorso dal primo commit al suo step precedente. Questo periodo sarà disponibile automaticamente nel momento in cui farai il primo commit." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "Lo stadio di produzione mostra il tempo totale che trascorre tra la creazione di un issue il suo rilascio (inteso come codice) in produzione. Questo dato sarà disponibile automaticamente nel momento in cui avrai completato l'intero processo ideale del ciclo di produzione" @@ -3403,6 +4154,9 @@ msgstr "La repository di questo progetto non esiste." msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "Lo stadio di revisione mostra il tempo tra una richiesta di merge al suo svolgimento effettivo. Questo dato sarà disponibile appena avrai completato una MR (Merger Request)" @@ -3439,6 +4193,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3511,6 +4268,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3523,6 +4283,12 @@ msgstr "Il tempo che impiega un issue per esser implementato" msgid "Time between merge request creation and merge/close" msgstr "Il tempo tra la creazione di una richiesta di merge ed il merge/close" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3678,6 +4444,36 @@ msgid "Tip:" msgstr "" msgid "Title" +msgstr "Titolo" + +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." msgstr "" msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3770,6 +4560,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "clicca per caricare" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3779,24 +4575,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "Usa le tue impostazioni globali " +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "Mostra la richieste di merge aperte" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "Interno" @@ -3824,12 +4647,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3950,14 +4779,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "Stai per rimuovere il gruppo %{group_name}. I gruppi rimossi NON POSSONO esser ripristinati! Sei ASSOLUTAMENTE sicuro?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "Stai per rimuovere %{project_name_with_namespace}. I progetti rimossi NON POSSONO essere ripristinati! Sei assolutamente sicuro?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "Stai per rimuovere la relazione con il progetto sorgente %{forked_from_project}. Sei ASSOLUTAMENTE sicuro?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "Stai per trasferire %{project_name_with_namespace} ad un altro owner. Sei ASSOLUTAMENTE sicuro?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4031,9 +4866,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4049,6 +4902,14 @@ msgstr "Il tuo nome" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + msgid "assign yourself" msgstr "" @@ -4058,12 +4919,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "giorno" msgstr[1] "giorni" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4328,6 +5259,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4337,6 +5271,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/ja/gitlab.po b/locale/ja/gitlab.po index 180f1f0fbe7..b526b0ba202 100644 --- a/locale/ja/gitlab.po +++ b/locale/ja/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:21-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:36-0400\n" "Last-Translator: gitlab \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -27,6 +27,10 @@ msgid "%d commit behind" msgid_plural "%d commits behind" msgstr[0] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -39,6 +43,10 @@ msgid "%d merge request" msgid_plural "%d merge requests" msgstr[0] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "パフォーマンス低下を避けるため %s 個のコミットを省略しました。" @@ -53,6 +61,9 @@ msgid "%{count} participant" msgid_plural "%{count} participants" msgstr[0] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -94,15 +105,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "CIについてのグラフ" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "自動デプロイについて" msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -112,6 +138,9 @@ msgstr "" msgid "Account" msgstr "" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "有効" @@ -208,9 +237,33 @@ msgstr "" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -289,6 +342,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -322,6 +378,9 @@ msgstr "" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -334,6 +393,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -358,6 +426,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -400,6 +471,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -482,6 +559,15 @@ msgstr "ブランチを切替" msgid "Branches" msgstr "ブランチ" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -527,12 +613,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -578,30 +691,45 @@ msgstr "ファイルを表示" msgid "Browse files" msgstr "ファイルを表示" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "作者" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "キャンセル" -msgid "Cancel edit" +msgid "Cannot be merged automatically" msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "ピック先ブランチ:" @@ -656,6 +784,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -758,6 +892,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -857,6 +1000,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -866,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -884,6 +1033,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -917,6 +1069,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -977,6 +1132,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1004,6 +1162,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1126,6 +1287,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1141,9 +1308,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1189,6 +1392,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "貢献者向けガイド" @@ -1252,8 +1461,8 @@ msgstr "" msgid "Create directory" msgstr "ディレクトリを作成" -msgid "Create empty bare repository" -msgstr "空のbareレポジトリーを作成" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "" @@ -1261,6 +1470,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1285,6 +1497,9 @@ msgstr "" msgid "Create new..." msgstr "新規作成" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "フォーク" @@ -1318,6 +1533,9 @@ msgstr "カスタム通知設定" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "\"カスタム\" の通知レベルの基本は \"参加\" と同じです。また、カスタム通知に設定することで選択したカスタムイベントの通知を受け取ることもできます。もっと詳しく知りたい場合は %{notification_link} を見てください。" +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "サイクル分析" @@ -1400,9 +1618,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "次回から表示しない" +msgid "Done" +msgstr "" + msgid "Download" msgstr "ダウンロード" @@ -1430,9 +1654,15 @@ msgstr "プレーン差分" msgid "DownloadSource|Download" msgstr "ダウンロード" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "編集" @@ -1442,6 +1672,18 @@ msgstr "パイプラインスケジュール %{id} を編集" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1451,6 +1693,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1511,6 +1780,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1586,9 +1858,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1598,6 +1876,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1631,6 +1912,9 @@ msgstr "ファイル" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "コミットメッセージで絞り込み" @@ -1640,12 +1924,21 @@ msgstr "パスで検索" msgid "Find file" msgstr "ファイルを検索" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "初回" msgid "FirstPushedBy|pushed by" msgstr "プッシュした人" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "フォーク" @@ -1656,9 +1949,15 @@ msgstr "フォーク元" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "課題が登録されてからプロダクションにデプロイされるまで" @@ -1677,12 +1976,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1728,21 +2033,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1755,9 +2087,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1788,6 +2132,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1797,12 +2144,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "自分のフォークへ移動" @@ -1869,9 +2234,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1902,6 +2264,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1920,6 +2285,15 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1930,11 +2304,38 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "ハウスキーピングは正常に起動しました。" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" msgstr "" -msgid "Import repository" -msgstr "レポジトリーをインポート" +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + +msgid "Import repository" +msgstr "レポジトリーをインポート" + +msgid "ImportButtons|Connect repositories from" +msgstr "" msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1958,6 +2359,9 @@ msgstr[0] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2012,6 +2416,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2042,12 +2449,30 @@ msgstr "無効" msgid "LFSStatus|Enabled" msgstr "有効" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "過去%d日間" @@ -2106,6 +2531,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2118,9 +2546,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2136,9 +2561,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2160,6 +2597,9 @@ msgstr "中央値" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2172,15 +2612,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2196,6 +2708,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "SSH 鍵を追加" @@ -2208,6 +2729,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2281,6 +2805,9 @@ msgstr "" msgid "New tag" msgstr "新規タグ" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2299,6 +2826,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "レポジトリーはありません" @@ -2314,6 +2844,12 @@ msgstr "" msgid "Not available" msgstr "利用できません" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2323,6 +2859,18 @@ msgstr "データ不足" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "イベント通知" @@ -2407,6 +2955,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "フィルター" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2428,12 +2982,18 @@ msgstr "オプション" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "オーナー" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2446,9 +3006,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "パイプライン" @@ -2530,9 +3102,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2563,6 +3162,9 @@ msgstr "ステージあり" msgid "Pipeline|with stages" msgstr "ステージあり" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2572,6 +3174,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2626,6 +3234,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2650,9 +3261,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "" @@ -2749,6 +3357,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2761,9 +3375,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2776,19 +3402,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2797,6 +3417,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2806,7 +3429,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2842,6 +3474,9 @@ msgstr "続きを読む" msgid "Readme" msgstr "" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "ブランチ" @@ -2875,6 +3510,9 @@ msgstr "関連するマージリクエスト" msgid "Related Merged Requests" msgstr "関連するマージリクエスト" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "後で通知" @@ -2890,12 +3528,24 @@ msgstr "プロジェクトを削除" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "アクセス権限をリクエストする" @@ -2911,6 +3561,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2921,9 +3574,36 @@ msgstr "このコミットをリバート" msgid "Revert this merge request" msgstr "このマージリクエストをリバート" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2939,6 +3619,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "新しいパイプラインのスケジュールを作成" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2948,6 +3631,9 @@ msgstr "パイプラインスケジューリング" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "ブランチまたはタグを検索" @@ -3011,15 +3697,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "%{protocol} プロコトル経由でプル、プッシュするためにアカウントのパスワードを設定。" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "Koding を設定" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "パスワードを設定" @@ -3029,6 +3733,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3063,40 +3770,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3216,12 +3923,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "スターを付ける" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3231,6 +3947,15 @@ msgstr "この変更で %{new_merge_request} を作成する" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3243,9 +3968,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "ブランチ・タグ切り替え" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3325,6 +4056,9 @@ msgstr "" msgid "Target Branch" msgstr "ターゲットブランチ" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3340,15 +4074,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "コーディングステージでは、最初のコミットからマージリクエストが作成されるまでの時間が表示されます。このデータは最初のマージリクエストが作成されたときに自動的に追加されます。" msgid "The collection of events added to the data gathered for that stage." msgstr "このステージで計測データに追加されたイベントリスト" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "フォークのリレーションが削除されました。" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "課題ステージでは、課題が登録されてからマイルストーンに割り当てられるか、課題ボードのリストに追加されるまでの時間が表示されます。このリストに表示するには課題を最初に作成してください。" @@ -3361,12 +4104,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "開発ライフサイクルの段階" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "計画ステージでは、課題ステージに登録されてからプッシュされた最初のコミット時刻までの時間が表示されます。最初のコミットがプッシュされときに自動的に追加されます。" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "プロダクションステージでは、課題が作成されてからプロダクションへデプロイされるまでの時間が表示されます。アイディアの時点からプロダクションまでの全ステージが完了したときに自動的に追加されます。" @@ -3382,6 +4131,9 @@ msgstr "このプロジェクトにレポジトリーはありません。" msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "レビューステージとは、マージリクエストを作成してからマージするまでの時間です。このデータは最初のマージリクエストがマージされたときに自動的に追加されます。" @@ -3418,6 +4170,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3490,6 +4245,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3502,6 +4260,12 @@ msgstr "課題の実装が開始されるまでの時間" msgid "Time between merge request creation and merge/close" msgstr "マージリクエストが作成されてからマージまたはクローズされるまでの時間" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3657,6 +4421,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3696,18 +4490,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3747,6 +4535,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "クリックしてアップロード" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3756,24 +4550,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "全体通知設定を利用" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "オープンなマージリクエストを表示" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "内部" @@ -3801,12 +4622,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3927,14 +4754,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "%{group_name} グループを削除しようとしています。 削除されたグループは絶対に元に戻せません!本当によろしいですか?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "%{project_name_with_namespace} プロジェクトを削除しようとしています。削除されたプロジェクトは絶対に元には戻せません!本当によろしいですか?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "元のプロジェクト (%{forked_from_project}) とのリレーションを削除しようとしています。本当によろしいですか?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "%{project_name_with_namespace} プロジェクトを別のオーナーに移譲しようとしています。本当によろしいですか?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4008,9 +4841,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4026,6 +4877,13 @@ msgstr "名前" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" + msgid "assign yourself" msgstr "" @@ -4035,12 +4893,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4068,9 +4944,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4083,40 +4956,66 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" -msgstr "" - -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" msgid_plural "days" msgstr[0] "日" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4127,9 +5026,21 @@ msgstr[0] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4142,6 +5053,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4169,18 +5083,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4265,6 +5188,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4302,6 +5228,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4311,6 +5240,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/ko/gitlab.po b/locale/ko/gitlab.po index 13634091ed7..91f68dfdee1 100644 --- a/locale/ko/gitlab.po +++ b/locale/ko/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:19-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:34-0400\n" "Last-Translator: gitlab \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -27,6 +27,10 @@ msgid "%d commit behind" msgid_plural "%d commits behind" msgstr[0] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -39,6 +43,10 @@ msgid "%d merge request" msgid_plural "%d merge requests" msgstr[0] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s 추가 커밋은 성능 이슈를 방지하기 위해 생략되었습니다." @@ -53,6 +61,9 @@ msgid "%{count} participant" msgid_plural "%{count} participants" msgstr[0] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -94,15 +105,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "지속적인 통합에 관한 그래프 모음" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "자동 배포 정보" msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -112,6 +138,9 @@ msgstr "오동작중인 저장공간에 대한 접근이 복구 작업을 위해 msgid "Account" msgstr "" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "활성" @@ -208,9 +237,33 @@ msgstr "전체" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -289,6 +342,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -322,6 +378,9 @@ msgstr "확실합니까?" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -334,6 +393,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -358,6 +426,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -400,6 +471,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -482,6 +559,15 @@ msgstr "브랜치 변경" msgid "Branches" msgstr "브랜치" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -527,12 +613,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -578,30 +691,45 @@ msgstr "파일 찾아보기" msgid "Browse files" msgstr "파일 찾아보기" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "작성자" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "취소" -msgid "Cancel edit" +msgid "Cannot be merged automatically" msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "브랜치에서 Pick" @@ -656,6 +784,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -758,6 +892,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -857,6 +1000,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -866,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -884,6 +1033,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -917,6 +1069,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -977,6 +1132,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1004,6 +1162,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1126,6 +1287,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1141,9 +1308,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1189,6 +1392,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "기여에 대한 안내" @@ -1252,8 +1461,8 @@ msgstr "" msgid "Create directory" msgstr "디렉토리 만들기" -msgid "Create empty bare repository" -msgstr "빈 bare 저장소 만들기" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "" @@ -1261,6 +1470,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1285,6 +1497,9 @@ msgstr "" msgid "Create new..." msgstr "새로 만들기 ..." +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "포크" @@ -1318,6 +1533,9 @@ msgstr "사용자 정의 알림 이벤트" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "사용자 정의 알림 수준은 참여 수준과 동일합니다. 맞춤 알림 수준을 사용하면 일부 이벤트에 대한 알림도 받게됩니다. 자세한 내용은 %{notification_link}을 확인하십시오." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "" @@ -1400,9 +1618,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "다시 표시하지 않음" +msgid "Done" +msgstr "" + msgid "Download" msgstr "다운로드" @@ -1430,9 +1654,15 @@ msgstr "Plain Diff" msgid "DownloadSource|Download" msgstr "다운로드" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "편집" @@ -1442,6 +1672,18 @@ msgstr "파이프라인 스케줄 편집 %{id}" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1451,6 +1693,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1511,6 +1780,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1586,9 +1858,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1598,6 +1876,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1631,6 +1912,9 @@ msgstr "파일" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "커밋 메시지로 필터" @@ -1640,12 +1924,21 @@ msgstr "경로로 찾기" msgid "Find file" msgstr "파일 찾기" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "처음" msgid "FirstPushedBy|pushed by" msgstr "푸시한 사용자" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "포크" @@ -1656,9 +1949,15 @@ msgstr "포크한 사용자" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "이슈 생성에서 프로덕션 배포까지" @@ -1677,12 +1976,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1728,21 +2033,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1755,9 +2087,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1788,6 +2132,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1797,12 +2144,30 @@ msgstr "git storage 상태 정보가 초기화되었습니다." msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "GitLab Runner 섹션" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "당신의 포크로 이동하세요" @@ -1869,9 +2234,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1902,6 +2264,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "헬스 체크" @@ -1920,6 +2285,15 @@ msgstr " 헬스 문제가 발견되지 않았습니다." msgid "HealthCheck|Unhealthy" msgstr "비정상" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1930,11 +2304,38 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "Housekeeping이 성공적으로 시작되었습니다" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" msgstr "" -msgid "Import repository" -msgstr "저장소 가져 오기" +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + +msgid "Import repository" +msgstr "저장소 가져 오기" + +msgid "ImportButtons|Connect repositories from" +msgstr "" msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1958,6 +2359,9 @@ msgstr[0] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2012,6 +2416,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2042,12 +2449,30 @@ msgstr "Disabled" msgid "LFSStatus|Enabled" msgstr "Enabled" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "최근 %d 일" @@ -2106,6 +2531,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2118,9 +2546,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2136,9 +2561,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2160,6 +2597,9 @@ msgstr "중앙값" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2172,15 +2612,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2196,6 +2708,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "SSH 키 추가" @@ -2208,6 +2729,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2281,6 +2805,9 @@ msgstr "" msgid "New tag" msgstr "새 태그 " +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2299,6 +2826,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "저장소 없음" @@ -2314,6 +2844,12 @@ msgstr "" msgid "Not available" msgstr "사용할 수 없음" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2323,6 +2859,18 @@ msgstr "데이터가 충분하지 않습니다." msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "알림 이벤트" @@ -2407,6 +2955,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "필터" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2428,12 +2982,18 @@ msgstr "옵션 " msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "소유자" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2446,9 +3006,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "파이프라인" @@ -2530,9 +3102,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2563,6 +3162,9 @@ msgstr "스테이징" msgid "Pipeline|with stages" msgstr "스테이징" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2572,6 +3174,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2626,6 +3234,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2650,9 +3261,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "프로젝트 상세" @@ -2749,6 +3357,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2761,9 +3375,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2776,19 +3402,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2797,6 +3417,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2806,7 +3429,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2842,6 +3474,9 @@ msgstr "더 읽기" msgid "Readme" msgstr "" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "브랜치" @@ -2875,6 +3510,9 @@ msgstr "관련 머지 리퀘스트" msgid "Related Merged Requests" msgstr "관련 머지 리퀘스트" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "나중에 다시 알림" @@ -2890,12 +3528,24 @@ msgstr "프로젝트 삭제" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "액세스 요청" @@ -2911,6 +3561,9 @@ msgstr "runner 등록 토큰 초기화" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2921,9 +3574,36 @@ msgstr "이 커밋 되돌리기" msgid "Revert this merge request" msgstr "이 머지 리퀘스트 되돌리기" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2939,6 +3619,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "새로운 파이프라인 스케줄 잡기" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2948,6 +3631,9 @@ msgstr "파이프라인 스케줄링" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "브랜치 및 태그 검색" @@ -3011,15 +3697,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "%{protocol} 프로토콜을 통해 Pull 하거나 Push하려면 계정에 패스워드를 설정하십시오." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "Koding 설정" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "패스워드 설정" @@ -3029,6 +3733,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3063,40 +3770,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3216,12 +3923,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "Runner 설정 중 다음 URL을 지정하세요." msgid "StarProject|Star" msgstr "별표" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3231,6 +3947,15 @@ msgstr "이 변경 사항으로 %{new_merge_request} 을 시작하십시오." msgid "Start the Runner!" msgstr "Runner 시작!" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3243,9 +3968,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "스위치 브랜치/태그" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3325,6 +4056,9 @@ msgstr "" msgid "Target Branch" msgstr "대상 브랜치" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3340,15 +4074,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "Coding Stage는 첫 번째 커밋에서부터 머지 리퀘스트 생성까지의 시간을 보여줍니다. 첫 번째 머지 리퀘스트을 생성하면 데이터가 자동으로 여기에 추가됩니다." msgid "The collection of events added to the data gathered for that stage." msgstr "해당 단계에서 수집 된 데이터가 이벤트 모음에 추가되었습니다." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "포크 관계가 제거되었습니다." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "이슈 단계에는 이슈를 작성하여 마일스톤으로 지정하는 데 걸리는 시간 또는 이슈 보드의 목록에 이슈를 추가하는 시간이 표시됩니다. 이 단계의 데이터를 보기 위해서는 이슈를 먼저 작성해야 합니다." @@ -3361,12 +4104,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "개발 수명주기의 단계." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "계획 단계에서는 이전 단계에서 첫 번째 커밋 시간이 표시됩니다. 이 시간은 첫 번째 커밋을 누르면 자동으로 추가됩니다." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "프로덕션 단계에서는 문제를 만들고 코드를 프로덕션 환경으로 배포하는 데 걸리는 총 시간을 보여줍니다. 생산주기에 대한 완전한 아이디어를 얻은 후에는 데이터가 자동으로 추가됩니다." @@ -3382,6 +4131,9 @@ msgstr "이 프로젝트의 저장소가 존재하지 않습니다." msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "Review 단계에서는 머지 리퀘스트를 작성한 후 머지하기까지의 시간을 보여줍니다. 데이터는 첫 번째 머지 리퀘스트을 머지 한 후에 자동으로 추가됩니다." @@ -3418,6 +4170,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "git storage에 접근하는데 문제가 발생했습니다. " +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3490,6 +4245,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3502,6 +4260,12 @@ msgstr "이슈가 구현되기 전의 시간" msgid "Time between merge request creation and merge/close" msgstr "머지 리퀘스트 생성과 머지 / 닫기 사이의 시간" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3657,6 +4421,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3696,18 +4490,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3747,6 +4535,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "업로드하려면 클릭하십시오." +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3756,24 +4550,51 @@ msgstr "설정 중에 다음 등록 토큰 이용 : " msgid "Use your global notification setting" msgstr "전체 알림 설정 사용" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "열린 머지 리퀘스트보기" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "내부" @@ -3801,12 +4622,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3927,14 +4754,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "%{group_name} 그룹을 제거하려고합니다. \\\"정말로\\\" 확실합니까?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "%{project_name_with_namespace} 프로젝트를 삭제하려고합니다. \"삭제된 프로젝트를 복원 할 수 없습니다! \\\"정말로\\\" 확실합니까?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "포크 관계를 소스 프로젝트 %{forked_from_project}에 대해 제거하려고합니다. \"정말로\" 확실합니까?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "%{project_name_with_namespace}을 다른 소유자에게 이전하려고합니다. \"정말로\" 확실합니까?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4008,9 +4841,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4026,6 +4877,13 @@ msgstr "귀하의 이름" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" + msgid "assign yourself" msgstr "" @@ -4035,12 +4893,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4068,9 +4944,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4083,40 +4956,66 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" -msgstr "" - -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" msgid_plural "days" msgstr[0] "일" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4127,9 +5026,21 @@ msgstr[0] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4142,6 +5053,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4169,18 +5083,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4265,6 +5188,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4302,6 +5228,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4311,6 +5240,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/nl_NL/gitlab.po b/locale/nl_NL/gitlab.po index ce3f2e5627e..1b3811198a8 100644 --- a/locale/nl_NL/gitlab.po +++ b/locale/nl_NL/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:22-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:39-0400\n" "Last-Translator: gitlab \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "" msgstr[1] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "" msgstr[1] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s andere commit is weggelaten om prestatieproblemen te voorkomen." @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "" msgstr[1] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -103,15 +116,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "Over auto deploy" msgid "Abuse Reports" msgstr "Misbruik rapporten" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "Toegangstokens" @@ -121,6 +149,9 @@ msgstr "" msgid "Account" msgstr "Account" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Actief" @@ -217,9 +248,33 @@ msgstr "Alles" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -298,6 +353,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "Uiterlijk" @@ -331,6 +389,9 @@ msgstr "" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -343,6 +404,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -367,6 +437,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -409,6 +482,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -492,6 +571,15 @@ msgstr "BranchSwitcherTitle|Ga naar branch" msgid "Branches" msgstr "Branches" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "Branches|Kan geen HEAD-commit vinden voor deze branch" @@ -537,12 +625,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -588,30 +703,45 @@ msgstr "Door bestanden bladeren" msgid "Browse files" msgstr "Door bestanden bladeren" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "door" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "Annuleren" -msgid "Cancel edit" -msgstr "Bewerken annuleren" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "" @@ -666,6 +796,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -768,6 +904,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -867,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -894,6 +1045,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -927,6 +1081,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -987,6 +1144,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1014,6 +1174,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1138,6 +1301,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1153,9 +1322,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1201,6 +1406,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "" @@ -1264,7 +1475,7 @@ msgstr "" msgid "Create directory" msgstr "Maak map aan" -msgid "Create empty bare repository" +msgid "Create empty repository" msgstr "" msgid "Create epic" @@ -1273,6 +1484,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1297,6 +1511,9 @@ msgstr "" msgid "Create new..." msgstr "" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "" @@ -1330,6 +1547,9 @@ msgstr "" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "" +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "" @@ -1413,9 +1633,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "" +msgid "Done" +msgstr "" + msgid "Download" msgstr "" @@ -1443,9 +1669,15 @@ msgstr "" msgid "DownloadSource|Download" msgstr "" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "" @@ -1455,6 +1687,18 @@ msgstr "" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1464,6 +1708,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1524,6 +1795,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1599,9 +1873,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1611,6 +1891,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1644,6 +1927,9 @@ msgstr "" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "" @@ -1653,12 +1939,21 @@ msgstr "" msgid "Find file" msgstr "" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "" msgid "FirstPushedBy|pushed by" msgstr "" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "" @@ -1670,9 +1965,15 @@ msgstr "" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "" @@ -1691,12 +1992,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1742,21 +2049,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,9 +2103,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1802,6 +2148,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1811,12 +2160,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "" @@ -1883,9 +2250,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1916,6 +2280,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1934,6 +2301,15 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1945,12 +2321,39 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" msgstr "" msgid "Import repository" msgstr "" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1974,6 +2377,9 @@ msgstr[1] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2028,6 +2434,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "" msgid "LFSStatus|Enabled" msgstr "" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "" @@ -2123,6 +2550,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2135,9 +2565,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2153,9 +2580,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2177,6 +2616,9 @@ msgstr "" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2189,15 +2631,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2299,6 +2825,9 @@ msgstr "" msgid "New tag" msgstr "" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2317,6 +2846,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "" @@ -2332,6 +2864,12 @@ msgstr "" msgid "Not available" msgstr "" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2341,6 +2879,18 @@ msgstr "" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "" @@ -2425,6 +2975,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2446,12 +3002,18 @@ msgstr "" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2464,9 +3026,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "" @@ -2548,9 +3122,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2581,6 +3182,9 @@ msgstr "" msgid "Pipeline|with stages" msgstr "" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2590,6 +3194,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2644,6 +3254,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2668,9 +3281,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "" @@ -2767,6 +3377,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,19 +3422,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2815,6 +3437,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2824,7 +3449,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2860,6 +3494,9 @@ msgstr "" msgid "Readme" msgstr "" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "" @@ -2893,6 +3530,9 @@ msgstr "" msgid "Related Merged Requests" msgstr "" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "" @@ -2908,12 +3548,24 @@ msgstr "" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "" @@ -2929,6 +3581,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2940,9 +3595,36 @@ msgstr "" msgid "Revert this merge request" msgstr "" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2958,6 +3640,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2967,6 +3652,9 @@ msgstr "" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "" @@ -3030,15 +3718,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "" @@ -3048,6 +3754,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,40 +3792,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3236,12 +3945,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3251,6 +3969,15 @@ msgstr "" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3263,9 +3990,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3346,6 +4079,9 @@ msgstr "" msgid "Target Branch" msgstr "" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3361,15 +4097,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "" msgid "The collection of events added to the data gathered for that stage." msgstr "" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "" @@ -3382,12 +4127,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "" @@ -3403,6 +4154,9 @@ msgstr "" msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "" @@ -3439,6 +4193,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3511,6 +4268,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3523,6 +4283,12 @@ msgstr "" msgid "Time between merge request creation and merge/close" msgstr "" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3680,6 +4446,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3770,6 +4560,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3779,24 +4575,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "" @@ -3824,12 +4647,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3950,13 +4779,19 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." msgstr "" msgid "You can also create a project from the command line." @@ -4031,9 +4866,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4049,6 +4902,14 @@ msgstr "" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + msgid "assign yourself" msgstr "" @@ -4058,12 +4919,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "" msgstr[1] "" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4328,6 +5259,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4337,6 +5271,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/pl_PL/gitlab.po b/locale/pl_PL/gitlab.po index 8e414d0d07b..4ae57235f90 100644 --- a/locale/pl_PL/gitlab.po +++ b/locale/pl_PL/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:21-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:36-0400\n" "Last-Translator: gitlab \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -33,6 +33,13 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -54,6 +61,13 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "" @@ -74,6 +88,9 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -121,15 +138,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "" msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -139,6 +171,9 @@ msgstr "" msgid "Account" msgstr "" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "" @@ -235,9 +270,33 @@ msgstr "" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -316,6 +375,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -349,6 +411,9 @@ msgstr "" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -361,6 +426,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -385,6 +459,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -427,6 +504,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -512,6 +595,15 @@ msgstr "" msgid "Branches" msgstr "" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -557,12 +649,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -608,30 +727,45 @@ msgstr "" msgid "Browse files" msgstr "" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "" -msgid "Cancel edit" +msgid "Cannot be merged automatically" msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "" @@ -686,6 +820,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -788,6 +928,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -887,6 +1036,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -896,6 +1048,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -914,6 +1069,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -947,6 +1105,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -1007,6 +1168,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1034,6 +1198,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1162,6 +1329,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1177,9 +1350,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1225,6 +1434,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "" @@ -1288,7 +1503,7 @@ msgstr "" msgid "Create directory" msgstr "" -msgid "Create empty bare repository" +msgid "Create empty repository" msgstr "" msgid "Create epic" @@ -1297,6 +1512,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1321,6 +1539,9 @@ msgstr "" msgid "Create new..." msgstr "" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "" @@ -1354,6 +1575,9 @@ msgstr "" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "" +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "" @@ -1439,9 +1663,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "" +msgid "Done" +msgstr "" + msgid "Download" msgstr "" @@ -1469,9 +1699,15 @@ msgstr "" msgid "DownloadSource|Download" msgstr "" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "" @@ -1481,6 +1717,18 @@ msgstr "" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1490,6 +1738,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1550,6 +1825,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1625,9 +1903,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1637,6 +1921,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1670,6 +1957,9 @@ msgstr "" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "" @@ -1679,12 +1969,21 @@ msgstr "" msgid "Find file" msgstr "" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "" msgid "FirstPushedBy|pushed by" msgstr "" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "" @@ -1698,9 +1997,15 @@ msgstr "" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "" @@ -1719,12 +2024,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1770,21 +2081,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1797,9 +2135,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1830,6 +2180,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1839,12 +2192,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "" @@ -1911,9 +2282,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1944,6 +2312,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1962,10 +2333,19 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" -msgid "Hide value" -msgid_plural "Hide values" -msgstr[0] "" -msgstr[1] "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + +msgid "Hide value" +msgid_plural "Hide values" +msgstr[0] "" +msgstr[1] "" msgstr[2] "" msgstr[3] "" @@ -1975,12 +2355,39 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "" +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + msgid "Import repository" msgstr "" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -2006,6 +2413,9 @@ msgstr[3] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2060,6 +2470,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2090,12 +2503,30 @@ msgstr "" msgid "LFSStatus|Enabled" msgstr "" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "" @@ -2157,6 +2588,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2169,9 +2603,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2187,9 +2618,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2211,6 +2654,9 @@ msgstr "" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2223,15 +2669,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2247,6 +2765,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "" @@ -2259,6 +2786,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2335,6 +2865,9 @@ msgstr "" msgid "New tag" msgstr "" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2353,6 +2886,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "" @@ -2368,6 +2904,12 @@ msgstr "" msgid "Not available" msgstr "" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2377,6 +2919,18 @@ msgstr "" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "" @@ -2461,6 +3015,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2482,12 +3042,18 @@ msgstr "" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2500,9 +3066,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "" @@ -2584,9 +3162,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2617,6 +3222,9 @@ msgstr "" msgid "Pipeline|with stages" msgstr "" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2626,6 +3234,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2680,6 +3294,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2704,9 +3321,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "" @@ -2803,6 +3417,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2815,9 +3435,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2830,19 +3462,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2851,6 +3477,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2860,7 +3489,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2896,6 +3534,9 @@ msgstr "" msgid "Readme" msgstr "" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "" @@ -2929,6 +3570,9 @@ msgstr "" msgid "Related Merged Requests" msgstr "" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "" @@ -2944,12 +3588,24 @@ msgstr "" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "" @@ -2965,6 +3621,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2978,9 +3637,36 @@ msgstr "" msgid "Revert this merge request" msgstr "" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2996,6 +3682,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -3005,6 +3694,9 @@ msgstr "" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "" @@ -3068,15 +3760,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "" @@ -3086,6 +3796,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3123,40 +3836,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3276,12 +3989,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3291,6 +4013,15 @@ msgstr "" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3303,9 +4034,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3388,6 +4125,9 @@ msgstr "" msgid "Target Branch" msgstr "" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3403,15 +4143,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "" msgid "The collection of events added to the data gathered for that stage." msgstr "" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "" @@ -3424,12 +4173,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "" @@ -3445,6 +4200,9 @@ msgstr "" msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "" @@ -3481,6 +4239,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3553,6 +4314,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3565,6 +4329,12 @@ msgstr "" msgid "Time between merge request creation and merge/close" msgstr "" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3726,6 +4496,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3765,18 +4565,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3816,6 +4610,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3825,24 +4625,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "" @@ -3870,12 +4697,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3996,13 +4829,19 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." msgstr "" msgid "You can also create a project from the command line." @@ -4077,9 +4916,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4095,6 +4952,16 @@ msgstr "" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + msgid "assign yourself" msgstr "" @@ -4104,12 +4971,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4137,9 +5022,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4152,25 +5034,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4180,15 +5065,44 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4202,9 +5116,21 @@ msgstr[3] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4217,6 +5143,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4244,18 +5173,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4340,6 +5278,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4380,6 +5321,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4389,6 +5333,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/pt_BR/gitlab.po b/locale/pt_BR/gitlab.po index 277552a8d02..96a59d6d0d3 100644 --- a/locale/pt_BR/gitlab.po +++ b/locale/pt_BR/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:20-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:36-0400\n" "Last-Translator: gitlab \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /master/locale/gitlab.pot\n" msgid " and" -msgstr "" +msgstr " e" msgid "%d commit" msgid_plural "%d commits" @@ -26,13 +26,18 @@ msgstr[1] "%d commits" msgid "%d commit behind" msgid_plural "%d commits behind" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d commit atrás" +msgstr[1] "%d commits atrás" + +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "%d exporter" +msgstr[1] "%d exporters" msgid "%d issue" msgid_plural "%d issues" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d issue" +msgstr[1] "%d issues" msgid "%d layer" msgid_plural "%d layers" @@ -41,8 +46,13 @@ msgstr[1] "%d camadas" msgid "%d merge request" msgid_plural "%d merge requests" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d merge request" +msgstr[1] "%d merge requests" + +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "%d métrica" +msgstr[1] "%d métricas" msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." @@ -50,18 +60,21 @@ msgstr[0] "%s commit adicional foi omitido para prevenir problemas de performanc msgstr[1] "%s commits adicionais foram omitidos para prevenir problemas de performance." msgid "%{actionText} & %{openOrClose} %{noteable}" -msgstr "" +msgstr "%{actionText} & %{openOrClose} %{noteable}" msgid "%{commit_author_link} authored %{commit_timeago}" -msgstr "" +msgstr "%{commit_author_link} fez commit à %{commit_timeago}" msgid "%{count} participant" msgid_plural "%{count} participants" msgstr[0] "%{count} participante" msgstr[1] "%{count} participantes" +msgid "%{loadingIcon} Started" +msgstr "%{loadingIcon} Iniciado" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" -msgstr "" +msgstr "%{lock_path} está bloqueado pelo usuário do GitLab %{lock_user_id}" msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead" msgstr "%{number_commits_behind} commits atrás de %{default_branch}, %{number_commits_ahead} commits à frente" @@ -73,7 +86,7 @@ msgid "%{number_of_failures} of %{maximum_failures} failures. GitLab will not re msgstr "%{number_of_failures} de %{maximum_failures} falhas. O GitLab não tentará mais automaticamente. Redefina as informações de storage quando o problema for resolvido." msgid "%{openOrClose} %{noteable}" -msgstr "" +msgstr "%{openOrClose} %{noteable}" msgid "%{storage_name}: failed storage access attempt on host:" msgid_plural "%{storage_name}: %{failed_attempts} failed storage access attempts:" @@ -103,15 +116,30 @@ msgstr "1ª contribuição!" msgid "2FA enabled" msgstr "Autenticação de 2 passos ativada" +msgid "Removes source branch" +msgstr "Remover branch de origem" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Uma coleção de gráficos sobre Integração Contínua" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "Um novo \"branch\" será criado no seu \"fork\" e um novo merge request será iniciado." + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "Um projeto é onde você armazena seus arquivos (repositório), planeja seu trabalho (issues), e publica sua documentação (wiki), %{among_other_things_link}." + +msgid "A user with write access to the source branch selected this option" +msgstr "Um usuário com permissão de escrita no branch de origem selecionou esta opção" + msgid "About auto deploy" msgstr "Sobre o deploy automático" msgid "Abuse Reports" msgstr "Relatórios de abuso" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "Tokens de acesso" @@ -121,6 +149,9 @@ msgstr "Os acessos à storages com defeito foram temporariamente desabilitados p msgid "Account" msgstr "Conta" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Ativo" @@ -140,73 +171,73 @@ msgid "Add Group Webhooks and GitLab Enterprise Edition." msgstr "Adicione o Webhooks de Grupos e GitLab Enterprise Edition." msgid "Add Kubernetes cluster" -msgstr "" +msgstr "Adicionar cluster Kubernetes" msgid "Add License" msgstr "Adicionar Licença" msgid "Add Readme" -msgstr "" +msgstr "Adicionar leia-me" msgid "Add new directory" msgstr "Adicionar novo diretório" msgid "Add todo" -msgstr "" +msgstr "Adicionar tarefa" msgid "AdminArea|Stop all jobs" -msgstr "" +msgstr "Parar todos os processos" msgid "AdminArea|Stop all jobs?" -msgstr "" +msgstr "Parar todos os processos?" msgid "AdminArea|Stop jobs" -msgstr "" +msgstr "Parar processos" msgid "AdminArea|Stopping jobs failed" -msgstr "" +msgstr "Erro ao parar processos" msgid "AdminArea|You’re about to stop all jobs.This will halt all current jobs that are running." -msgstr "" +msgstr "Você parará todos os processos. Os processos em execução serão abruptamente interrompidos." msgid "AdminHealthPageLink|health page" msgstr "página de saúde" msgid "AdminProjects|Delete" -msgstr "" +msgstr "Excluir" msgid "AdminProjects|Delete Project %{projectName}?" -msgstr "" +msgstr "Excluir o projeto %{projectName}?" msgid "AdminProjects|Delete project" -msgstr "" +msgstr "Excluir projeto" msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages." -msgstr "" +msgstr "Especifique um domínio a ser usado por padrão para os estágios de Auto Review Application e Auto Deploy de cada projeto." msgid "AdminUsers|Block user" -msgstr "" +msgstr "Bloquear usuário" msgid "AdminUsers|Delete User %{username} and contributions?" -msgstr "" +msgstr "Excluir o usuário %{username} e suas contribuições?" msgid "AdminUsers|Delete User %{username}?" -msgstr "" +msgstr "Excluir o usuário %{username}?" msgid "AdminUsers|Delete user" -msgstr "" +msgstr "Apagar usuário" msgid "AdminUsers|Delete user and contributions" -msgstr "" +msgstr "Excluir o usuário e suas contribuições" msgid "AdminUsers|To confirm, type %{projectName}" -msgstr "" +msgstr "Para confirmar, digite %{projectName}" msgid "AdminUsers|To confirm, type %{username}" -msgstr "" +msgstr "Para confirmar, digite %{username}" msgid "Advanced" -msgstr "" +msgstr "Avançado" msgid "Advanced settings" msgstr "Configurações avançadas" @@ -215,14 +246,38 @@ msgid "All" msgstr "Todos" msgid "All changes are committed" +msgstr "Houve commit com todas as mudanças" + +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "Todas as funcionalidades estão habilitadas para projetos em branco, a partir de templates ou ao importar, mas você pode desativá-los posteriormente nas configurações do projeto." + +msgid "Allow edits from maintainers." +msgstr "Permitir as edições dos mantenedores." + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." msgstr "" msgid "Allows you to add and manage Kubernetes clusters." +msgstr "Permite adicionar e gerenciar clusters do Kubernetes." + +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" msgstr "" -msgid "An error occurred previewing the blob" +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" msgstr "" +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "Alternativamente, você pode usar um %{personal_access_token_link}. Quando você cria seu Token de Acesso Pessoal, você precisará selecionar o escopo do repositório, para que possamos exibir uma lista de seus repositórios públicos e privados que estão disponíveis para se conectar." + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "Alternativamente, você pode usar um %{personal_access_token_link}. Quando você cria seu Token de Acesso Pessoal, você precisará selecionar o escopo do repositório, para que possamos exibir uma lista de seus repositórios públicos e privados que estão disponíveis para se importar." + +msgid "An error occurred previewing the blob" +msgstr "Erro ao pré-visualizar o blob" + msgid "An error occurred when toggling the notification subscription" msgstr "Erro ao modificar notificação de assinatura" @@ -230,74 +285,77 @@ msgid "An error occurred when updating the issue weight" msgstr "Um erro aconteceu ao atualizar o peso da issue" msgid "An error occurred while adding approver" -msgstr "" +msgstr "Erro ao adicionar o aprovador" msgid "An error occurred while detecting host keys" -msgstr "" +msgstr "Erro ao detectar a chave do host" msgid "An error occurred while dismissing the feature highlight. Refresh the page and try dismissing again." -msgstr "" +msgstr "Erro ao remover alerta. Atualize a página e tente novamente." msgid "An error occurred while fetching markdown preview" -msgstr "" +msgstr "Erro ao gerar pré-visualização do markdown" msgid "An error occurred while fetching sidebar data" msgstr "Erro ao recuperar informações da barra lateral" msgid "An error occurred while fetching the pipeline." -msgstr "" +msgstr "Erro ao recuperar informações da pipeline." msgid "An error occurred while getting projects" -msgstr "" +msgstr "Erro ao recuperar projetos" msgid "An error occurred while importing project" -msgstr "" +msgstr "Erro ao importar o projeto" msgid "An error occurred while initializing path locks" -msgstr "" +msgstr "Erro ao iniciar o bloqueio do Path" msgid "An error occurred while loading commits" -msgstr "" +msgstr "Erro ao carregar os Commits" msgid "An error occurred while loading diff" -msgstr "" +msgstr "Erro ao carregar o Diff" msgid "An error occurred while loading filenames" -msgstr "" +msgstr "Erro ao carregar nomes de arquivos" msgid "An error occurred while loading the file" -msgstr "" +msgstr "Erro ao carregar o arquivo" msgid "An error occurred while making the request." -msgstr "" +msgstr "Erro ao fazer a requisição." msgid "An error occurred while removing approver" -msgstr "" +msgstr "Erro ao remover o aprovador" msgid "An error occurred while rendering KaTeX" -msgstr "" +msgstr "Erro ao renderizar o KaTeX" msgid "An error occurred while rendering preview broadcast message" -msgstr "" +msgstr "Erro ao renderizar pré-visualização da mensagem de transmissão" msgid "An error occurred while retrieving calendar activity" -msgstr "" +msgstr "Erro ao recuperar calendário de atividades" msgid "An error occurred while retrieving diff" -msgstr "" +msgstr "Erro ao recuperar o diff" msgid "An error occurred while saving LDAP override status. Please try again." -msgstr "" +msgstr "Um erro ocorreu ao sobrescrever o status LDAP." msgid "An error occurred while saving assignees" -msgstr "" +msgstr "Erro ao salvar assignees" msgid "An error occurred while validating username" -msgstr "" +msgstr "Erro ao validar o nome de usuário" msgid "An error occurred. Please try again." msgstr "Ocorreu um erro. Tente novamente." +msgid "Any Label" +msgstr "Qualquer Label" + msgid "Appearance" msgstr "Aparência" @@ -323,7 +381,7 @@ msgid "Are you sure you want to reset the health check token?" msgstr "Você tem certeza que quer reiniciar o token de status de saúde?" msgid "Are you sure you want to unlock %{path_lock_path}?" -msgstr "" +msgstr "Tem certeza que deseja desbloquear %{path_lock_path}?" msgid "Are you sure?" msgstr "Você tem certeza?" @@ -331,21 +389,33 @@ msgstr "Você tem certeza?" msgid "Artifacts" msgstr "Artefatos" -msgid "Assign custom color like #FF0000" +msgid "Assertion consumer service URL" msgstr "" +msgid "Assign custom color like #FF0000" +msgstr "Coloque uma cor personalizada, como #FF0000" + msgid "Assign labels" -msgstr "" +msgstr "Atribuir labels" msgid "Assign milestone" -msgstr "" +msgstr "Atribuir milestone" msgid "Assign to" +msgstr "Atribuir à" + +msgid "Assigned Issues" msgstr "" -msgid "Assignee" +msgid "Assigned Merge Requests" msgstr "" +msgid "Assigned to :name" +msgstr "" + +msgid "Assignee" +msgstr "Responsável" + msgid "Attach a file by drag & drop or %{upload_link}" msgstr "Para anexar arquivo, arraste e solte ou %{upload_link}" @@ -362,16 +432,19 @@ msgid "Author" msgstr "Autor" msgid "Authors: %{authors}" -msgstr "" +msgstr "Autores: %{authors}" msgid "Auto DevOps enabled" +msgstr "Auto DevOps ativo" + +msgid "Auto DevOps, runners and job artifacts" msgstr "" msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." -msgstr "" +msgstr "Apps de revisão e deploy automáticos precisam de um %{kubernetes} para funcionar corretamente." msgid "Auto Review Apps and Auto Deploy need a domain name and a %{kubernetes} to work correctly." -msgstr "" +msgstr "Apps de revisão e deploy automáticos precisam de um nome de domínio e um %{kubernetes} para funcionar corretamente." msgid "Auto Review Apps and Auto Deploy need a domain name to work correctly." msgstr "Apps de revisão automática e Auto Deploy precisam de um nome de domínio para que funcione corretamente." @@ -392,26 +465,32 @@ msgid "AutoDevOps|Learn more in the %{link_to_documentation}" msgstr "Saiba mais em %{link_to_documentation}" msgid "AutoDevOps|You can automatically build and test your application if you %{link_to_auto_devops_settings} for this project. You can automatically deploy it as well, if you %{link_to_add_kubernetes_cluster}." -msgstr "" +msgstr "Você pode automaticamente construir e testar sua aplicação, se você %{link_to_auto_devops_settings} para este projeto. Você pode também fazer o deploy automaticamente, se você %{link_to_add_kubernetes_cluster}." msgid "AutoDevOps|add a Kubernetes cluster" -msgstr "" +msgstr "adicionar um cluster Kubernetes" msgid "AutoDevOps|enable Auto DevOps (Beta)" -msgstr "" +msgstr "ativar auto DevOps (Beta)" msgid "Available" msgstr "Disponível" msgid "Avatar will be removed. Are you sure?" -msgstr "" +msgstr "Foto de perfil será removida. Tem certeza?" msgid "Average per day: %{average}" +msgstr "Média diária: %{average}" + +msgid "Background Color" msgstr "" -msgid "Begin with the selected commit" +msgid "Background jobs" msgstr "" +msgid "Begin with the selected commit" +msgstr "Comece com o commit selecionado" + msgid "Billing" msgstr "Cobrança" @@ -468,8 +547,8 @@ msgstr "por usuário" msgid "Branch (%{branch_count})" msgid_plural "Branches (%{branch_count})" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Branch (%{branch_count})" +msgstr[1] "Branches (%{branch_count})" msgid "Branch %{branch_name} was created. To set up auto deploy, choose a GitLab CI Yaml template and commit your changes. %{link_to_autodeploy_doc}" msgstr "O branch %{branch_name} foi criado. Para configurar o deploy automático, selecione um modelo de Yaml do GitLab CI e commit suas mudanças. %{link_to_autodeploy_doc}" @@ -492,6 +571,15 @@ msgstr "Mudar de branch" msgid "Branches" msgstr "Branches" +msgid "Branches|Active" +msgstr "Ativos" + +msgid "Branches|Active branches" +msgstr "Branches ativos" + +msgid "Branches|All" +msgstr "Todos" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "Não foi possível encontrar o commit HEAD para essa branch" @@ -537,12 +625,39 @@ msgstr "Uma vez que você confirmar e pressionar %{delete_protected_branch}, nã msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "Somente alguém master ou dono do projeto poderá apagar branches protegidas" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" -msgstr "Ramos protegidos podem ser gerenciados em %{project_settings_link}" +msgid "Branches|Overview" +msgstr "Visão Geral" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "Branches protegidas podem ser gerenciadas em %{project_settings_link}." + +msgid "Branches|Show active branches" +msgstr "Mostrar branches ativas" + +msgid "Branches|Show all branches" +msgstr "Mostrar todas as branches" + +msgid "Branches|Show more active branches" +msgstr "Mostrar as branches mais ativas" + +msgid "Branches|Show more stale branches" +msgstr "Mostrar os branches obsoletos" + +msgid "Branches|Show overview of the branches" +msgstr "Mostrar visão geral dos branches" + +msgid "Branches|Show stale branches" +msgstr "Mostrar branches obsoletos" msgid "Branches|Sort by" msgstr "Ordernar por" +msgid "Branches|Stale" +msgstr "Obsoleto" + +msgid "Branches|Stale branches" +msgstr "Branches obsoletos" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "O branch não pode ser atualizado automaticamente porque diverge do seu upstream." @@ -588,14 +703,23 @@ msgstr "Acessar arquivos" msgid "Browse files" msgstr "Navegar pelos arquivos" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "por" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "CI/CD" + msgid "CI/CD configuration" -msgstr "" +msgstr "Configuração de CI/CD" + +msgid "CI/CD for external repo" +msgstr "CI/CD para um repositório externo" msgid "CICD|Jobs" msgstr "Jobs" @@ -603,15 +727,21 @@ msgstr "Jobs" msgid "Cancel" msgstr "Cancelar" -msgid "Cancel edit" -msgstr "Cancelar edição" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" +msgstr "Não se pode modificar um cluster Kubernetes gerenciado" + +msgid "Certificate fingerprint" msgstr "" msgid "Change Weight" msgstr "Alterar peso" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "Pick para um branch" @@ -625,13 +755,13 @@ msgid "ChangeTypeAction|Revert" msgstr "Reverter" msgid "ChangeTypeAction|This will create a new commit in order to revert the existing changes." -msgstr "" +msgstr "Isso criará um novo commit para reverter as mudanças existentes." msgid "Changelog" msgstr "Registro de mudanças" msgid "Changes are shown as if the source revision was being merged into the target revision." -msgstr "" +msgstr "Mudanças serão mostradas se revisão de origem tiver sofrido merge na revisão alvo." msgid "Charts" msgstr "Gráficos" @@ -640,7 +770,7 @@ msgid "Chat" msgstr "Bate-papo" msgid "Check interval" -msgstr "" +msgstr "Intervalo de verificação" msgid "Checking %{text} availability…" msgstr "Verificando disponibilidade de %{text}…" @@ -655,19 +785,25 @@ msgid "Cherry-pick this merge request" msgstr "Cherry-pick esse merge request" msgid "Choose File ..." -msgstr "" +msgstr "Escolha o arquivo ..." msgid "Choose a branch/tag (e.g. %{master}) or enter a commit (e.g. %{sha}) to see what's changed or to create a merge request." -msgstr "" +msgstr "Escolha a branch/tag (ex: %{master}) ou número do commit (ex: %{sha}) para ver o que mudou ou para criar um merge request." msgid "Choose file..." -msgstr "" +msgstr "Escolha o arquivo..." msgid "Choose which groups you wish to synchronize to this secondary node." -msgstr "" +msgstr "Escolha quais grupos você deseja sincronizar nesse nó secundário." + +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "Escolha quais repositórios você deseja se conectar e executar CI/CD pipeline." + +msgid "Choose which repositories you want to import." +msgstr "Escolha quais repositórios você deseja importar." msgid "Choose which shards you wish to synchronize to this secondary node." -msgstr "" +msgstr "Escolha quais shards você deseja que sincronizem com esse nó secundário." msgid "CiStatusLabel|canceled" msgstr "cancelado" @@ -724,48 +860,57 @@ msgid "CiStatus|running" msgstr "executando" msgid "CiVariables|Input variable key" -msgstr "" +msgstr "Digite o nome da variável" msgid "CiVariables|Input variable value" -msgstr "" +msgstr "Digite o valor da variável" msgid "CiVariables|Remove variable row" -msgstr "" +msgstr "Remover a variável" msgid "CiVariable|* (All environments)" -msgstr "" +msgstr "* (Todos os ambientes)" msgid "CiVariable|All environments" -msgstr "" +msgstr "Todos os ambientes" msgid "CiVariable|Create wildcard" -msgstr "" +msgstr "Criar um curinga" msgid "CiVariable|Error occured while saving variables" -msgstr "" +msgstr "Erro ao salvar variáveis" msgid "CiVariable|New environment" -msgstr "" +msgstr "Novo ambiente" msgid "CiVariable|Protected" -msgstr "" +msgstr "Protegido" msgid "CiVariable|Search environments" -msgstr "" +msgstr "Procurar ambientes" msgid "CiVariable|Toggle protected" -msgstr "" +msgstr "Alternar proteção" msgid "CiVariable|Validation failed" -msgstr "" +msgstr "Falha na validação" msgid "CircuitBreakerApiLink|circuitbreaker api" msgstr "interruptor da api" msgid "Click the button below to begin the install process by navigating to the Kubernetes page" -msgstr "" +msgstr "Clique no botão abaixo para iniciar o processo de instalação navegando para a página do Kubernetes" msgid "Click to expand text" +msgstr "Cliquei pra expandir o texto" + +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" msgstr "" msgid "Clone repository" @@ -775,28 +920,28 @@ msgid "Close" msgstr "Fechar" msgid "Closed" -msgstr "" +msgstr "Fechado" msgid "ClusterIntegration|%{appList} was successfully installed on your Kubernetes cluster" -msgstr "" +msgstr "%{appList} foi instalado com sucesso no seu cluster Kubernetes" msgid "ClusterIntegration|API URL" msgstr "API URL" msgid "ClusterIntegration|Add Kubernetes cluster" -msgstr "" +msgstr "Adicionar cluster Kubernetes" msgid "ClusterIntegration|Add an existing Kubernetes cluster" -msgstr "" +msgstr "Adicionar um cluster Kubernetes existente" msgid "ClusterIntegration|Advanced options on this Kubernetes cluster's integration" -msgstr "" +msgstr "Opções avançadas na integração deste cluster Kubernetes" msgid "ClusterIntegration|Applications" msgstr "Aplicações" msgid "ClusterIntegration|Are you sure you want to remove this Kubernetes cluster's integration? This will not delete your actual Kubernetes cluster." -msgstr "" +msgstr "Tem certeza de que deseja remover a integração deste cluster do Kubernetes? Isso não excluirá o seu cluster atual do Kubernetes." msgid "ClusterIntegration|CA Certificate" msgstr "Certificado CA" @@ -805,10 +950,10 @@ msgid "ClusterIntegration|Certificate Authority bundle (PEM format)" msgstr "Pacote de autoridade certificadora (Formato PEM)" msgid "ClusterIntegration|Choose how to set up Kubernetes cluster integration" -msgstr "" +msgstr "Escolha como configurar a integração do cluster Kubernetes" msgid "ClusterIntegration|Choose which of your project's environments will use this Kubernetes cluster." -msgstr "" +msgstr "Escolha qual dos ambientes do seu projeto usará este cluster Kubernetes." msgid "ClusterIntegration|Control how your Kubernetes cluster integrates with GitLab" msgstr "" @@ -867,6 +1012,9 @@ msgstr "Projeto do Google Kubernetes Engine" msgid "ClusterIntegration|Helm Tiller" msgstr "Helm Tiller" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "Ingressar" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "Instalar" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "Instalado" @@ -894,6 +1045,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -927,6 +1081,9 @@ msgstr "Leia mais sobre %{link_to_documentation}" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "Tipo de máquina" @@ -940,10 +1097,10 @@ msgid "ClusterIntegration|Manage your Kubernetes cluster by visiting %{link_gke} msgstr "" msgid "ClusterIntegration|More information" -msgstr "" +msgstr "Mais informações" msgid "ClusterIntegration|Multiple Kubernetes clusters are available in GitLab Enterprise Edition Premium and Ultimate" -msgstr "" +msgstr "Multiplos clusters Kubernetes estão disponíveis no GitLab Enterprise Edition Premium e Ultimate" msgid "ClusterIntegration|Note:" msgstr "Nota:" @@ -967,7 +1124,7 @@ msgid "ClusterIntegration|Project namespace (optional, unique)" msgstr "Namespace do projeto (opcional, único)" msgid "ClusterIntegration|Prometheus" -msgstr "" +msgstr "Prometheus" msgid "ClusterIntegration|Read our %{link_to_help_page} on Kubernetes cluster integration." msgstr "" @@ -987,9 +1144,12 @@ msgstr "Solicitação para início de instalação falhou" msgid "ClusterIntegration|Save changes" msgstr "Salvar alterações" -msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" +msgid "ClusterIntegration|Security" msgstr "" +msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" +msgstr "Veja e edite os detalhes de seus cluster Kubernates" + msgid "ClusterIntegration|See machine types" msgstr "Ver tipos de máquina" @@ -1009,11 +1169,14 @@ msgid "ClusterIntegration|Something went wrong on our end." msgstr "Alguma coisa deu errado do nosso lado." msgid "ClusterIntegration|Something went wrong while creating your Kubernetes cluster on Google Kubernetes Engine" -msgstr "" +msgstr "Erro ao criar cluster Kubernetes no Google Kubernetes Engine" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "Algo deu errado ao instalar %{title}" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1057,13 +1220,13 @@ msgid "ClusterIntegration|properly configured" msgstr "configurado corretamente" msgid "Collapse" -msgstr "" +msgstr "Recolher" msgid "Comment and resolve discussion" msgstr "" msgid "Comment and unresolve discussion" -msgstr "" +msgstr "Comente e marque discussão como não resolvida" msgid "Comments" msgstr "Comentários" @@ -1075,8 +1238,8 @@ msgstr[1] "Commits" msgid "Commit (%{commit_count})" msgid_plural "Commits (%{commit_count})" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Commit (%{commit_count})" +msgstr[1] "Commits (%{commit_count})" msgid "Commit Message" msgstr "Mensagem de Commit" @@ -1088,10 +1251,10 @@ msgid "Commit message" msgstr "Mensagem de commit" msgid "Commit statistics for %{ref} %{start_time} - %{end_time}" -msgstr "" +msgstr "Estatísticas de commits para %{ref} %{start_time} - %{end_time}" msgid "Commit to %{branchName} branch" -msgstr "" +msgstr "Commit para a branch %{branchName}" msgid "CommitBoxTitle|Commit" msgstr "Commit" @@ -1106,25 +1269,25 @@ msgid "Commits feed" msgstr "Feed de commits" msgid "Commits per day hour (UTC)" -msgstr "" +msgstr "Commits por hora (UTC)" msgid "Commits per day of month" -msgstr "" +msgstr "Commits por dia do mês" msgid "Commits per weekday" -msgstr "" +msgstr "Commits por dia da semana" msgid "Commits|An error occurred while fetching merge requests data." -msgstr "" +msgstr "Erro ao recuperar dados do merge request." msgid "Commits|Commit: %{commitText}" -msgstr "" +msgstr "Commit: %{commitText}" msgid "Commits|History" msgstr "Histórico" msgid "Commits|No related merge requests found" -msgstr "" +msgstr "Nenhum merge request relacionado foi encontrado" msgid "Committed by" msgstr "Commit feito por" @@ -1133,29 +1296,71 @@ msgid "Compare" msgstr "Comparar" msgid "Compare Git revisions" -msgstr "" +msgstr "Parar versões do Git" msgid "Compare Revisions" +msgstr "Comparar revisões" + +msgid "Compare changes with the last commit" msgstr "" -msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." +msgid "Compare changes with the merge request target branch" msgstr "" +msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." +msgstr "%{source_branch} e %{target_branch} são o mesmo." + msgid "CompareBranches|Compare" -msgstr "" +msgstr "Comparar" msgid "CompareBranches|Source" -msgstr "" +msgstr "Origem" msgid "CompareBranches|Target" -msgstr "" +msgstr "Alvo" msgid "CompareBranches|There isn't anything to compare." +msgstr "Não há nada para comparar." + +msgid "Confidential" msgstr "" msgid "Confidentiality" +msgstr "Confidencialidade" + +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "Conectar" + +msgid "Connect all repositories" +msgstr "Conectar todos repositórios" + +msgid "Connect repositories from GitHub" +msgstr "Conectar repositórios do GitHub" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." msgstr "" +msgid "Connecting..." +msgstr "Conectando..." + msgid "Container Registry" msgstr "Container Registry" @@ -1201,6 +1406,12 @@ msgstr "Use nomes de imagem diferentes" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "Com o Container Registry do Docker integrado ao Gitlab, todo projeto pode ter seu próprio espaço para guardar suas imagens." +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "Contribuições" + msgid "Contribution guide" msgstr "Guia de contribuição" @@ -1208,7 +1419,7 @@ msgid "Contributors" msgstr "Contribuidores" msgid "ContributorsPage|%{startDate} – %{endDate}" -msgstr "" +msgstr "%{startDate} - %{endDate}" msgid "ContributorsPage|Building repository graph." msgstr "Gerando gráfico do repositório." @@ -1232,40 +1443,40 @@ msgid "Copy URL to clipboard" msgstr "Copiar URL para área de transferência" msgid "Copy branch name to clipboard" -msgstr "" +msgstr "Copiar nome do branch para área de transferência" msgid "Copy command to clipboard" -msgstr "" +msgstr "Copiar o comando para área de transferência" msgid "Copy commit SHA to clipboard" msgstr "Copiar SHA do commit para a área de transferência" msgid "Copy reference to clipboard" -msgstr "" +msgstr "Copiar referência para área de transferência" msgid "Create" -msgstr "" +msgstr "Criar" msgid "Create New Directory" msgstr "Criar Novo Diretório" msgid "Create a new branch" -msgstr "" +msgstr "Criar uma nova branch" msgid "Create a new branch and merge request" -msgstr "" +msgstr "Criar um novo branch e abrir merge request" msgid "Create a personal access token on your account to pull or push via %{protocol}." msgstr "Crie um token de acesso pessoal na sua conta para dar pull ou push via %{protocol}." msgid "Create branch" -msgstr "" +msgstr "Criar a branch" msgid "Create directory" msgstr "Criar diretório" -msgid "Create empty bare repository" -msgstr "Criar repositório bruto vazio" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "Criar épico" @@ -1273,14 +1484,17 @@ msgstr "Criar épico" msgid "Create file" msgstr "Criar arquivo" -msgid "Create lists from labels. Issues with that label appear in that list." +msgid "Create group label" msgstr "" +msgid "Create lists from labels. Issues with that label appear in that list." +msgstr "Criar lista a partir de labels. Issues com labels aparecem nestas listas." + msgid "Create merge request" msgstr "Criar merge request" msgid "Create merge request and branch" -msgstr "" +msgstr "Abrir merge request e criar branch" msgid "Create new branch" msgstr "Criar novo branch" @@ -1292,11 +1506,14 @@ msgid "Create new file" msgstr "Criar novo arquivo" msgid "Create new label" -msgstr "" +msgstr "Criar nova label" msgid "Create new..." msgstr "Criar novo..." +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "Fork" @@ -1307,7 +1524,7 @@ msgid "CreateTokenToCloneLink|create a personal access token" msgstr "criar um token de acesso pessoal" msgid "Creates a new branch from %{branchName}" -msgstr "" +msgstr "Cria um novo branch de %{branchName}" msgid "Creates a new branch from %{branchName} and re-directs to create a new merge request" msgstr "" @@ -1322,7 +1539,7 @@ msgid "Cron syntax" msgstr "Sintaxe do cron" msgid "Current node" -msgstr "" +msgstr "Nó atual" msgid "Custom notification events" msgstr "Eventos de notificação personalizados" @@ -1330,6 +1547,9 @@ msgstr "Eventos de notificação personalizados" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "Níveis de notificação personalizados são equivalentes a níveis de participação. Com níveis de notificação personalizados você também será notificado sobre eventos selecionados. Para mais informações, visite %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "Análise de Ciclo" @@ -1367,7 +1587,7 @@ msgid "December" msgstr "Dezembro" msgid "Default classification label" -msgstr "" +msgstr "Label de classificação padrão" msgid "Define a custom pattern with cron syntax" msgstr "Defina um padrão personalizado utilizando a sintaxe do cron" @@ -1393,19 +1613,19 @@ msgid "Details" msgstr "Detalhes" msgid "Diffs|No file name available" -msgstr "" +msgstr "Nenhum nome de arquivo disponível" msgid "Directory name" msgstr "Nome do diretório" msgid "Disable" -msgstr "" +msgstr "Desabilitar" msgid "Discard draft" -msgstr "" +msgstr "Descartar rascunho" msgid "Discover GitLab Geo." -msgstr "" +msgstr "Descubra Gitlab Geo." msgid "Dismiss Cycle Analytics introduction box" msgstr "Ignorar introdução do Cycle Analytics" @@ -1413,9 +1633,15 @@ msgstr "Ignorar introdução do Cycle Analytics" msgid "Dismiss Merge Request promotion" msgstr "Ignorar anúncio do merge request" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "Não exibir novamente" +msgid "Done" +msgstr "Pronto" + msgid "Download" msgstr "Baixar" @@ -1443,7 +1669,13 @@ msgstr "Arquivo de texto com as mudanças" msgid "DownloadSource|Download" msgstr "Baixar" +msgid "Downvotes" +msgstr "" + msgid "Due date" +msgstr "Validade" + +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." msgstr "" msgid "Edit" @@ -1453,15 +1685,54 @@ msgid "Edit Pipeline Schedule %{id}" msgstr "Alterar Agendamento do Pipeline %{id}" msgid "Edit files in the editor and commit changes here" +msgstr "Alterar arquivos no editor e fazer commit das alterações aqui" + +msgid "Editing" msgstr "" -msgid "Emails" -msgstr "Emails" +msgid "Elasticsearch" +msgstr "" -msgid "Enable" +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" msgstr "" +msgid "Emails" +msgstr "Emails" + +msgid "Enable" +msgstr "Ativar" + msgid "Enable Auto DevOps" +msgstr "Ativar Auto DevOps" + +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" msgstr "" msgid "Environments|An error occurred while fetching the environments." @@ -1524,41 +1795,44 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "Epics permite que você gerencie seu portfólio de projetos de forma mais eficiente e com menos esforço" -msgid "Error checking branch data. Please try again." +msgid "Error Reporting and Logging" msgstr "" +msgid "Error checking branch data. Please try again." +msgstr "Erro ao verificar dados do branch. Favor tentar novamente." + msgid "Error committing changes. Please try again." -msgstr "" +msgstr "Erro ao realizar o commit das alterações. Favor tentar novamente." msgid "Error creating epic" msgstr "Erro ao criar épico" msgid "Error fetching contributors data." -msgstr "" +msgstr "Erro ao recuperar informações de contribuintes." msgid "Error fetching labels." -msgstr "" +msgstr "Erro ao carregar labels." msgid "Error fetching network graph." -msgstr "" +msgstr "Erro ao recuperar gráfico de rede." msgid "Error fetching refs" -msgstr "" +msgstr "Erro ao recuperar refs" msgid "Error fetching usage ping data." -msgstr "" +msgstr "Erro ao recupera dados de ping." msgid "Error occurred when toggling the notification subscription" msgstr "Erro ao alterar configuração de notificação de assinatura" msgid "Error saving label update." -msgstr "" +msgstr "Erro ao salvar alteração de label." msgid "Error updating status for all todos." -msgstr "" +msgstr "Erro ao atualizar status para todas as tarefas." msgid "Error updating todo status." -msgstr "" +msgstr "Erro ao atualizar status das tarefas." msgid "EventFilterBy|Filter by all" msgstr "EventFilterBy|Filtrar por tudo" @@ -1588,7 +1862,7 @@ msgid "Every week (Sundays at 4:00am)" msgstr "Toda semana (domingos às 4:00)" msgid "Expand" -msgstr "" +msgstr "Expandir" msgid "Explore projects" msgstr "Explorar projetos" @@ -1599,7 +1873,13 @@ msgstr "Explorar grupos públicos" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" +msgstr "O acesso a este projeto foi negado para autorização externa" + +msgid "External authorization request timeout" msgstr "" msgid "ExternalAuthorizationService|Classification Label" @@ -1611,8 +1891,11 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "Falha" + msgid "Failed Jobs" -msgstr "" +msgstr "Jobs falharam" msgid "Failed to change the owner" msgstr "Erro ao alterar o proprietário" @@ -1633,7 +1916,7 @@ msgid "February" msgstr "Fevereiro" msgid "Fields on this page are now uneditable, you can configure" -msgstr "" +msgstr "Campos nessa página não são mais editáveis, você pode configurar" msgid "File name" msgstr "Nome do arquivo" @@ -1642,6 +1925,9 @@ msgid "Files" msgstr "Arquivos" msgid "Files (%{human_size})" +msgstr "Arquivos (%{human_size})" + +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" msgstr "" msgid "Filter by commit message" @@ -1653,12 +1939,21 @@ msgstr "Localizar por caminho" msgid "Find file" msgstr "Localizar arquivo" +msgid "Finished" +msgstr "Finalizado" + msgid "FirstPushedBy|First" msgstr "Primeiro" msgid "FirstPushedBy|pushed by" msgstr "publicado por" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "Fork" @@ -1670,9 +1965,15 @@ msgstr "Fork criado a partir de" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "Fork a partir de %{project_name} (apagado)" +msgid "Forking in progress" +msgstr "Fork em andamento" + msgid "Format" msgstr "Formato" +msgid "From %{provider_title}" +msgstr "De %{provider_title}" + msgid "From issue creation until deploy to production" msgstr "Da abertura de tarefas até a implantação para a produção" @@ -1686,63 +1987,81 @@ msgid "GPG Keys" msgstr "Chaves GPG" msgid "Generate a default set of labels" -msgstr "" +msgstr "Gerar labels padrão" msgid "Geo Nodes" msgstr "Nós de geo" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "Nó está falhando ou quebrado." msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "Nó está lento, sobrecarregado, ou acabou de recuperar após uma interrupção." -msgid "GeoNodes|Database replication lag:" +msgid "GeoNodes|Checksummed" msgstr "" +msgid "GeoNodes|Database replication lag:" +msgstr "Atraso na replicação do banco de dados:" + msgid "GeoNodes|Disabling a node stops the sync process. Are you sure?" -msgstr "" +msgstr "Desabilitar um nó para o processo de sincronização. Você tem certeza?" msgid "GeoNodes|Does not match the primary storage configuration" -msgstr "" +msgstr "Não corresponde á configuração de armazenamento primário" msgid "GeoNodes|Failed" -msgstr "" +msgstr "Falha" msgid "GeoNodes|Full" -msgstr "" +msgstr "Completo" msgid "GeoNodes|GitLab version does not match the primary node version" -msgstr "" +msgstr "Versão do GitLab não corresponde a versão do nó primário" msgid "GeoNodes|GitLab version:" -msgstr "" +msgstr "Versão do GitLab:" msgid "GeoNodes|Health status:" -msgstr "" +msgstr "Saúde dos serviços:" msgid "GeoNodes|Last event ID processed by cursor:" -msgstr "" +msgstr "Último ID de evento processado pelo cursor:" msgid "GeoNodes|Last event ID seen from primary:" -msgstr "" +msgstr "Último ID de evento visto pelo primário:" msgid "GeoNodes|Loading nodes" -msgstr "" +msgstr "Carregando nós" msgid "GeoNodes|Local Attachments:" -msgstr "" +msgstr "Anexos locais:" msgid "GeoNodes|Local LFS objects:" -msgstr "" +msgstr "Objetos LFS locais:" msgid "GeoNodes|Local job artifacts:" -msgstr "" +msgstr "Artefatos de processos locais:" msgid "GeoNodes|New node" +msgstr "Novo nó" + +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" msgstr "" msgid "GeoNodes|Out of sync" +msgstr "Fora de sincronia" + +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" msgstr "" msgid "GeoNodes|Replication slot WAL:" @@ -1751,12 +2070,27 @@ msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,26 +2103,38 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" -msgid "GeoNodes|Wikis:" +msgid "GeoNodes|Verified" msgstr "" -msgid "GeoNodes|You have configured Geo nodes using an insecure HTTP connection. We recommend the use of HTTPS." +msgid "GeoNodes|Wiki checksums verified:" msgstr "" -msgid "Geo|All projects" +msgid "GeoNodes|Wikis checksummed:" msgstr "" +msgid "GeoNodes|Wikis:" +msgstr "Wikis:" + +msgid "GeoNodes|You have configured Geo nodes using an insecure HTTP connection. We recommend the use of HTTPS." +msgstr "Você configurou Geo nodes usando uma conexão HTTP insegura. Recomendamos o uso de HTTPS." + +msgid "Geo|All projects" +msgstr "Todos os projetos" + msgid "Geo|File sync capacity" msgstr "Capacidade de sincronização de arquivos" msgid "Geo|Groups to synchronize" -msgstr "" +msgstr "Grupos para sincronizar" msgid "Geo|Projects in certain groups" -msgstr "" +msgstr "Projetos em certos grupos" msgid "Geo|Projects in certain storage shards" msgstr "" @@ -1802,21 +2148,42 @@ msgstr "Selecione grupos para replicar." msgid "Geo|Shards to synchronize" msgstr "" -msgid "Git revision" +msgid "Git repository URL" msgstr "" +msgid "Git revision" +msgstr "Revisão do Git" + msgid "Git storage health information has been reset" msgstr "Informações sobre o status de saúde do storage Git foram reiniciadas" msgid "Git version" +msgstr "Versão do Git" + +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" msgstr "" msgid "GitLab Runner section" msgstr "Seção GitLab Runner" -msgid "Gitaly Servers" +msgid "GitLab single sign on URL" msgstr "" +msgid "Gitaly" +msgstr "" + +msgid "Gitaly Servers" +msgstr "Servidores Gitaly" + +msgid "Go back" +msgstr "Voltar" + msgid "Go to your fork" msgstr "Ir para seu fork" @@ -1827,7 +2194,7 @@ msgid "Google authentication is not %{link_to_documentation}. Ask your GitLab ad msgstr "Autenticação do Google não está %{link_to_documentation}. Peça ao administrador do Gitlab se você deseja usar esse serviço." msgid "Got it!" -msgstr "" +msgstr "Entendi!" msgid "GroupRoadmap|Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" @@ -1883,9 +2250,6 @@ msgstr "Nenhum grupo encontrado" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "Você pode gerenciar permissões de membros e acesso do seu grupo para cada projeto no grupo." -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "Criar um projeto nesse grupo." @@ -1916,6 +2280,9 @@ msgstr "Desculpe, nenhum grupo ou projeto correspondem à sua pesquisa" msgid "Have your users email" msgstr "E-mail para abertura de issues" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "Status de Saúde" @@ -1934,10 +2301,19 @@ msgstr "Nenhum problema de saúde detectado" msgid "HealthCheck|Unhealthy" msgstr "Não saudável" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ocultar valor" +msgstr[1] "Ocultar valores" msgid "History" msgstr "Histórico" @@ -1945,12 +2321,39 @@ msgstr "Histórico" msgid "Housekeeping successfully started" msgstr "Manutenção iniciada com sucesso" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "" +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "Importar" + +msgid "Import all repositories" +msgstr "Importar todos repositórios" + +msgid "Import in progress" +msgstr "Importação em andamento" + +msgid "Import repositories from GitHub" +msgstr "Importar repositórios do GitHub" + msgid "Import repository" msgstr "Importar repositório" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "Melhorar issue boards com o GitLab Enterprise Edition." @@ -1961,7 +2364,7 @@ msgid "Improve search with Advanced Global Search and GitLab Enterprise Edition. msgstr "Encontre o que precisa mais facilmente com a pesquisa global avançada com GitLab Enterprise Edition." msgid "Install Runner on Kubernetes" -msgstr "" +msgstr "Instalar Runner no Kubernates" msgid "Install a Runner compatible with GitLab CI" msgstr "Instalar um Runner compatível com o GitLab CI" @@ -1972,6 +2375,9 @@ msgstr[0] "Instância" msgstr[1] "Instâncias" msgid "Instance does not support multiple Kubernetes clusters" +msgstr "A instância não suporta múltiplos clusters Kubernetes" + +msgid "Integrations" msgstr "" msgid "Interested parties can even contribute by pushing commits if they want to." @@ -2014,7 +2420,7 @@ msgid "January" msgstr "Janeiro" msgid "Jobs" -msgstr "" +msgstr "Jobs" msgid "Jul" msgstr "Jul" @@ -2028,11 +2434,14 @@ msgstr "Jun" msgid "June" msgstr "Junho" -msgid "Kubernetes" +msgid "Koding" msgstr "" +msgid "Kubernetes" +msgstr "Kubernetes" + msgid "Kubernetes Cluster" -msgstr "" +msgstr "Cluster Kubernetes" msgid "Kubernetes cluster creation time exceeds timeout; %{timeout}" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "Desabilitado" msgid "LFSStatus|Enabled" msgstr "Habilitado" +msgid "Label" +msgstr "Label" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "Etiquetas" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "Último %d dia" @@ -2094,7 +2521,7 @@ msgid "LastPushEvent|at" msgstr "em" msgid "Learn more" -msgstr "" +msgstr "Saiba mais" msgid "Learn more about Kubernetes" msgstr "" @@ -2121,22 +2548,22 @@ msgid "License" msgstr "Licença" msgid "List" +msgstr "Lista" + +msgid "List your GitHub repositories" msgstr "" msgid "Loading the GitLab IDE..." -msgstr "" +msgstr "Carregando IDE do GitLab..." msgid "Lock" msgstr "Bloquear" msgid "Lock %{issuableDisplayName}" -msgstr "" +msgstr "Bloquear %{issuableDisplayName}" msgid "Lock not found" -msgstr "" - -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" +msgstr "Bloqueio não encontrado" msgid "Locked" msgstr "Bloqueado" @@ -2153,7 +2580,19 @@ msgstr "Entrar" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" +msgstr "Gerenciar etiquetas" + +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." msgstr "" msgid "Mar" @@ -2163,7 +2602,7 @@ msgid "March" msgstr "Março" msgid "Mark done" -msgstr "" +msgstr "Marcar como feito" msgid "Maximum git storage failures" msgstr "Máximo de falhas do git storage" @@ -2177,6 +2616,9 @@ msgstr "Mediana" msgid "Members" msgstr "Membros" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "Merge Requests" @@ -2187,20 +2629,92 @@ msgid "Merge request" msgstr "Merge requests" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" +msgstr "A tela de Merge request é um lugar para propor mudanças em um projeto e discutir essas mudanças com outros" + +msgid "Merged" +msgstr "Merge realizado" + +msgid "Messages" +msgstr "Mensagens" + +msgid "Metrics - Influx" msgstr "" -msgid "MergeRequest|Approved" +msgid "Metrics - Prometheus" msgstr "" -msgid "Merged" +msgid "Metrics|Business" msgstr "" -msgid "Messages" -msgstr "Mensagens" +msgid "Metrics|Create metric" +msgstr "" -msgid "Milestone" +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" msgstr "" +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + +msgid "Milestone" +msgstr "Milestone" + msgid "Milestones|Delete milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "adicione uma chave SSH" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "Monitoramento" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2232,16 +2758,16 @@ msgid "More information is available|here" msgstr "Mais informações estão disponíveis|aqui" msgid "Move" -msgstr "" +msgstr "Mover" msgid "Move issue" -msgstr "" +msgstr "Mover issue" msgid "Multiple issue boards" msgstr "Múltiplos issue boards" msgid "Name new label" -msgstr "" +msgstr "Nome da nova label" msgid "New Issue" msgid_plural "New Issues" @@ -2249,10 +2775,10 @@ msgstr[0] "Nova Issue" msgstr[1] "Novas Issues" msgid "New Kubernetes Cluster" -msgstr "" +msgstr "Novo cluster Kubernetes" msgid "New Kubernetes cluster" -msgstr "" +msgstr "Novo cluster Kubernetes" msgid "New Pipeline Schedule" msgstr "Novo Agendamento de Pipeline" @@ -2279,7 +2805,7 @@ msgid "New issue" msgstr "Nova issue" msgid "New label" -msgstr "" +msgstr "Nova label" msgid "New merge request" msgstr "Novo merge request" @@ -2299,22 +2825,28 @@ msgstr "Novo subgrupo" msgid "New tag" msgstr "Nova tag" -msgid "No assignee" +msgid "No Label" msgstr "" +msgid "No assignee" +msgstr "Sem responsável" + msgid "No changes" -msgstr "" +msgstr "Sem alterarções" msgid "No connection could be made to a Gitaly Server, please check your logs!" -msgstr "" +msgstr "Nenhuma conexão pode ser feita para um servidor Gitaly, por favor check os logs!" msgid "No due date" -msgstr "" +msgstr "Sem validade" msgid "No estimate or time spent" -msgstr "" +msgstr "Sem estimativa de tempo gasto" msgid "No file chosen" +msgstr "Nenhum arquivo escolhido" + +msgid "No labels created yet." msgstr "" msgid "No repository" @@ -2327,20 +2859,38 @@ msgid "None" msgstr "Nenhum" msgid "Not allowed to merge" -msgstr "" +msgstr "Merge não permitido" msgid "Not available" msgstr "Não disponível" -msgid "Not confidential" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" msgstr "" +msgid "Not confidential" +msgstr "Não confidencial" + msgid "Not enough data" msgstr "Dados insuficientes" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "Eventos de notificação" @@ -2399,10 +2949,10 @@ msgid "Notifications" msgstr "Notificações" msgid "Notifications off" -msgstr "" +msgstr "Notificações deligadas" msgid "Notifications on" -msgstr "" +msgstr "Notificações ligadas" msgid "Nov" msgstr "Nov" @@ -2414,7 +2964,7 @@ msgid "Number of access attempts" msgstr "Número de tentativas de acesso" msgid "OK" -msgstr "" +msgstr "OK" msgid "Oct" msgstr "Out" @@ -2425,11 +2975,17 @@ msgstr "Outubro" msgid "OfSearchInADropdown|Filter" msgstr "Filtrar" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "Somente membros do projeto podem comentar." msgid "Open" -msgstr "" +msgstr "Abrir" msgid "Opened" msgstr "Aberto" @@ -2446,12 +3002,18 @@ msgstr "Opções" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "Visão geral" msgid "Owner" msgstr "Proprietário" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "Último >>" @@ -2464,9 +3026,21 @@ msgstr "Anterior" msgid "Pagination|« First" msgstr "<< Primeiro" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "Senha" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "Pipeline" @@ -2546,9 +3120,36 @@ msgid "Pipelines for last year" msgstr "Pipelines para o último ano" msgid "Pipelines|Build with confidence" +msgstr "Construa com confiança" + +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" msgstr "" msgid "Pipelines|Get started with Pipelines" +msgstr "Saiba como funcionam as pipelines" + +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." msgstr "" msgid "Pipeline|Retry pipeline" @@ -2581,20 +3182,29 @@ msgstr "com etapa" msgid "Pipeline|with stages" msgstr "com etapas" -msgid "Play" +msgid "PlantUML" msgstr "" +msgid "Play" +msgstr "Iniciar" + msgid "Please enable billing for one of your projects to be able to create a Kubernetes cluster, then try again." -msgstr "" +msgstr "Por favor, ative a cobrança para um de seus projetos para ser possível criar um cluster Kubernetes, depois tente novamente." msgid "Please solve the reCAPTCHA" msgstr "Por favor, resolva o reCAPTCHA" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "Preferências" msgid "Primary" -msgstr "" +msgstr "Primário" msgid "Private - Project access must be granted explicitly to each user." msgstr "Privado - O acesso ao projeto deve ser concedido explicitamente para cada usuário." @@ -2644,9 +3254,12 @@ msgstr "Sua conta é atualmente proprietária dos seguintes grupos:" msgid "Profiles|your account" msgstr "sua conta" -msgid "Programming languages used in this repository" +msgid "Profiling - Performance bar" msgstr "" +msgid "Programming languages used in this repository" +msgstr "Linguagens de programação usadas nesse repositório" + msgid "Project '%{project_name}' is in the process of being deleted." msgstr "O projeto '%{project_name}' está sendo excluído." @@ -2663,13 +3276,10 @@ msgid "Project access must be granted explicitly to each user." msgstr "Acesso ao projeto deve ser concedido explicitamente para cada usuário." msgid "Project avatar" -msgstr "" +msgstr "Imagem do projeto" msgid "Project avatar in repository: %{link}" -msgstr "" - -msgid "Project cache successfully reset." -msgstr "" +msgstr "Imagem do projeto no repositório: %{link}" msgid "Project details" msgstr "Detalhes do projeto" @@ -2690,19 +3300,19 @@ msgid "ProjectActivityRSS|Subscribe" msgstr "Inscreva-se" msgid "ProjectCreationLevel|Allowed to create projects" -msgstr "" +msgstr "Permitido a criação de projetos" msgid "ProjectCreationLevel|Default project creation protection" -msgstr "" +msgstr "Proteção de criação de projeto padrão" msgid "ProjectCreationLevel|Developers + Masters" -msgstr "" +msgstr "Desenvolvedores + Masters" msgid "ProjectCreationLevel|Masters" -msgstr "" +msgstr "Masters" msgid "ProjectCreationLevel|No one" -msgstr "" +msgstr "Ninguém" msgid "ProjectFeature|Disabled" msgstr "Desabilitado" @@ -2767,6 +3377,12 @@ msgstr "Desculpe, nenhum projeto corresponde a sua pesquisa" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "Esta funcionalidade necessita de suporte à localStorage do navegador" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "Por padrão, Prometheus escuta em 'http://localhost:9090'. Não é recomendado mudar o endereço padrão e sua porta, porque pode conflitar com outros serviços que estão executando no sevidor do Gitlab." +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "Encontrando e configurando métricas..." +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,20 +3422,14 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "Métricas" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "Métricas são automaticamente configuradas e monitoradas baseadas na biblioteca de métricas de exportadores populares." - msgid "PrometheusService|Missing environment variable" msgstr "Variável de ambiente ausente" -msgid "PrometheusService|Monitored" -msgstr "Monitorado" - msgid "PrometheusService|More information" msgstr "Mais informações" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." -msgstr "Nenhuma métrica está sendo monitorada. Para inicar o monitoramento, faça deploy em um ambiente." +msgid "PrometheusService|New metric" +msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" msgstr "URL da API base do Prometheus. como http://prometheus.example.com/" @@ -2815,21 +3437,33 @@ msgstr "URL da API base do Prometheus. como http://prometheus.example.com/" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" -msgid "PrometheusService|Time-series monitoring service" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" msgstr "" +msgid "PrometheusService|Time-series monitoring service" +msgstr "Serviço de monitoramento de tempo-de-série" + msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters" msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" -msgstr "Ver ambientes" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" -msgid "Protip:" +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" +msgid "Protip:" +msgstr "Dicas:" + msgid "Public - The group and any public projects can be viewed without any authentication." msgstr "Público - O grupo e seus projetos podem ser visualizados por todos sem autenticação." @@ -2852,7 +3486,7 @@ msgid "PushRule|Committer restriction" msgstr "Restrição de commit" msgid "Quick actions can be used in the issues description and comment boxes." -msgstr "" +msgstr "Ações rápidas podem ser usadas nas descrições das issues e nas caixas de comentário." msgid "Read more" msgstr "Leia mais" @@ -2860,6 +3494,9 @@ msgstr "Leia mais" msgid "Readme" msgstr "Leia-me" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Branches" @@ -2867,10 +3504,10 @@ msgid "RefSwitcher|Tags" msgstr "Tags" msgid "Reference:" -msgstr "" +msgstr "Referência:" msgid "Register / Sign In" -msgstr "" +msgstr "Registrar/Login" msgid "Registry" msgstr "Registro" @@ -2893,19 +3530,25 @@ msgstr "Merge Requests Relacionados" msgid "Related Merged Requests" msgstr "Merge Requests Relacionados" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "Lembrar mais tarde" msgid "Remove" -msgstr "" +msgstr "Remover" msgid "Remove avatar" -msgstr "" +msgstr "Remover imagem" msgid "Remove project" msgstr "Remover projeto" msgid "Repair authentication" +msgstr "Reparar autenticação" + +msgid "Repo by URL" msgstr "" msgid "Repository" @@ -2914,6 +3557,15 @@ msgstr "Repositório" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Solicitar acesso" @@ -2929,18 +3581,48 @@ msgstr "Recriar o token de registro de runners" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Mostrar valor" +msgstr[1] "Mostrar valores" + +msgid "Revert this commit" +msgstr "Reverter este commit" + +msgid "Revert this merge request" +msgstr "Reverter esse merge request" + +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + +msgid "Roadmap" +msgstr "" + +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "Executando" -msgid "Revert this commit" -msgstr "Reverter este commit" +msgid "SAML Single Sign On" +msgstr "" -msgid "Revert this merge request" -msgstr "Reverter esse merge request" +msgid "SAML Single Sign On Settings" +msgstr "" -msgid "Roadmap" +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." msgstr "" msgid "SSH Keys" @@ -2953,11 +3635,14 @@ msgid "Save pipeline schedule" msgstr "Salvar agendamento da pipeline" msgid "Save variables" -msgstr "" +msgstr "Salvar variáveis" msgid "Schedule a new pipeline" msgstr "Agendar nova pipeline" +msgid "Scheduled" +msgstr "Agendado" + msgid "Schedules" msgstr "Agendamentos" @@ -2967,17 +3652,20 @@ msgstr "Agendando pipelines" msgid "Scoped issue boards" msgstr "Issue board de escopo" +msgid "Search" +msgstr "Pesquisar" + msgid "Search branches and tags" msgstr "Procurar branch e tags" msgid "Search milestones" -msgstr "" +msgstr "Pesquisar milestones" msgid "Search project" -msgstr "" +msgstr "Procurar projeto" msgid "Search users" -msgstr "" +msgstr "Procurar usuários" msgid "Seconds before reseting failure information" msgstr "Segundos antes de redefinir as informações de falha" @@ -2986,10 +3674,10 @@ msgid "Seconds to wait for a storage access attempt" msgstr "Segundo de espera para tentativa de acesso ao storage" msgid "Secret variables" -msgstr "" +msgstr "Variáveis secretas" msgid "Security report" -msgstr "" +msgstr "Relatório de segurança" msgid "Select Archive Format" msgstr "Selecionar Formato do Arquivo" @@ -3001,19 +3689,19 @@ msgid "Select an existing Kubernetes cluster or create a new one" msgstr "" msgid "Select assignee" -msgstr "" +msgstr "Selecione o responsável" msgid "Select branch/tag" -msgstr "" +msgstr "Selecionar o branch/tag" msgid "Select target branch" msgstr "Selecionar branch de destino" msgid "Selective synchronization" -msgstr "" +msgstr "Sincronização seletiva" msgid "Send email" -msgstr "" +msgstr "Enviar e-mail" msgid "Sep" msgstr "Set" @@ -3022,7 +3710,7 @@ msgid "September" msgstr "Setembro" msgid "Server version" -msgstr "" +msgstr "Versão do servidor" msgid "Service Templates" msgstr "Modelos de serviço" @@ -3030,15 +3718,33 @@ msgstr "Modelos de serviço" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Defina uma senha para sua conta para aceitar ou entregar código via %{protocol}." -msgid "Set up CI/CD" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." msgstr "" +msgid "Set up CI/CD" +msgstr "Configurar CI/CD" + msgid "Set up Koding" msgstr "Configurar Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "defina uma senha" @@ -3048,6 +3754,9 @@ msgstr "Configurações" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,6 +3792,18 @@ msgstr "Nenhum" msgid "Sidebar|Weight" msgstr "Peso" +msgid "Sign-in restrictions" +msgstr "" + +msgid "Sign-up restrictions" +msgstr "" + +msgid "Size and domain settings for static websites" +msgstr "" + +msgid "Slack application" +msgstr "" + msgid "Snippets" msgstr "Snippets" @@ -3090,18 +3811,12 @@ msgid "Something went wrong on our end" msgstr "" msgid "Something went wrong on our end." -msgstr "Algo deu errado do nosso lado." - -msgid "Something went wrong trying to change the confidentiality of this issue" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" -msgstr "Algo deu errado ao tentar mudar o estado de ${this.issuableDisplayName}" - msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" msgid "Something went wrong while fetching SAST." @@ -3113,14 +3828,8 @@ msgstr "Algo deu errado ao recuperar os projetos." msgid "Something went wrong while fetching the registry list." msgstr "Algo deu errado ao recuperar a lista de registro." -msgid "Something went wrong while reopening the %{issuable}. Please try again later" -msgstr "" - -msgid "Something went wrong while resolving this discussion. Please try again." -msgstr "" - msgid "Something went wrong. Please try again." -msgstr "" +msgstr "Algo deu errado. Por favor, tente novamente." msgid "Sort by" msgstr "Ordenar por" @@ -3225,7 +3934,7 @@ msgid "Source" msgstr "Origem" msgid "Source (branch or tag)" -msgstr "" +msgstr "Fonte (branch or tag)" msgid "Source code" msgstr "Código-fonte" @@ -3236,12 +3945,21 @@ msgstr "Origem não está disponível" msgid "Spam Logs" msgstr "Logs de spam" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "Especifique a seguinte URL durante a configuração do Runner:" msgid "StarProject|Star" msgstr "Marcar" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "Projetos favoritos" @@ -3251,11 +3969,20 @@ msgstr "Iniciar um %{new_merge_request} a partir dessas alterações" msgid "Start the Runner!" msgstr "Inicie o Runner!" +msgid "Started" +msgstr "Iniciado" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "Status" + msgid "Stopped" msgstr "Parado" msgid "Storage" -msgstr "" +msgstr "Armazenamento" msgid "Subgroups" msgstr "Subgrupos" @@ -3263,13 +3990,19 @@ msgstr "Subgrupos" msgid "Switch branch/tag" msgstr "Trocar branch/tag" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "Hooks do sistema" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Tag (%{tag_count})" +msgstr[1] "Tags (%{tag_count})" msgid "Tags" msgstr "Tags" @@ -3346,6 +4079,9 @@ msgstr "protegido" msgid "Target Branch" msgstr "Branch de destino" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "Equipe" @@ -3356,9 +4092,12 @@ msgid "The Advanced Global Search in GitLab is a powerful search service that sa msgstr "A pesquisa global avançada no GitLab é um serviço de pesquisa poderoso que economiza seu tempo. Ao invés de criar códigos duplicados e perder seu tempo, você pode agora pesquisar códigos de outros times que podem ajudar em seu projeto." msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project" -msgstr "" +msgstr "Issue Tracker é o lugar para adicionar coisas que precisam ser melhoradas ou resolvidas em um projeto" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." +msgstr "Issue Tracker é o lugar para adicionar coisas que precisam ser melhoradas ou resolvidas em um projeto. Você precisa se registrar ou fazer login para criar alguma Issue para este projeto." + +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." msgstr "" msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." @@ -3367,9 +4106,15 @@ msgstr "A etapa de codificação mostra o tempo desde a entrega do primeiro comm msgid "The collection of events added to the data gathered for that stage." msgstr "A coleção de eventos adicionados aos dados coletados para essa etapa." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "O relacionamento como fork foi removido." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "A etapa de planejamento mostra o tempo que se leva desde a criação de uma issue até sua atribuição à um milestone, ou sua adição a uma lista no seu Issue Board. Comece a criar issues para ver dados para esta etapa." @@ -3382,12 +4127,18 @@ msgstr "O número de tentativas que gitlab fará para acessar um storage." msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "O número de falhas para que o GitLab desabilite o acesso ao storage. O número de falhas pode ser redefinido na interface do administrador: %{link_to_health_page} ou %{api_documentation_link}." +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "A fase do ciclo de vida do desenvolvimento." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "A etapa de planejamento mostra o tempo do passo anterior até a publicação de seu primeiro conjunto de mudanças. Este tempo será adicionado automaticamente assim que você enviar seu primeiro conjunto de mudanças." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "A etapa de produção mostra o tempo total que leva entre criar uma issue e implantar o código em produção. Os dados serão adicionados automaticamente assim que você completar todo o ciclo de produção." @@ -3403,6 +4154,9 @@ msgstr "Não existe repositório para este projeto." msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "A etapa de revisão mostra o tempo de criação de uma solicitação de incorporação até sua aceitação. Os dados serão automaticamente adicionados depois que sua primeira solicitação de incorporação for aceita." @@ -3431,37 +4185,40 @@ msgid "The value lying at the midpoint of a series of observed values. E.g., bet msgstr "O valor situado no ponto médio de uma série de valores observados. Ex., entre 3, 5, 9, a mediana é 5. Entre 3, 5, 7, 8, a mediana é (5+7)/2 = 6." msgid "There are no issues to show" -msgstr "" +msgstr "Não há issues para mostrar" msgid "There are no merge requests to show" -msgstr "" +msgstr "Não há merge requests pra mostrar" msgid "There are problems accessing Git storage: " msgstr "Há problemas para acessar o storage Git: " -msgid "There was an error loading users activity calendar." +msgid "There was an error loading results" msgstr "" +msgid "There was an error loading users activity calendar." +msgstr "Erro ao carregar calendário de atividades." + msgid "There was an error saving your notification settings." -msgstr "" +msgstr "Erro ao salvar suas configurações de notificação." msgid "There was an error subscribing to this label." -msgstr "" +msgstr "Erro ao se inscrever nessa label." msgid "There was an error when reseting email token." -msgstr "" +msgstr "Erro ao redefinir token do email." msgid "There was an error when subscribing to this label." -msgstr "" +msgstr "Erro ao se inscrever nessa label." msgid "There was an error when unsubscribing from this label." -msgstr "" +msgstr "Erro ao se anular a inscrição dessa label." msgid "This board\\'s scope is reduced" msgstr "O escopo desse board está reduzido" msgid "This directory" -msgstr "" +msgstr "Esse diretório" msgid "This is a confidential issue." msgstr "Essa issue é confidencial." @@ -3470,7 +4227,7 @@ msgid "This is the author's first Merge Request to this project." msgstr "Esse é o autor do primeiro merge request desse projeto." msgid "This issue is confidential" -msgstr "" +msgstr "Essa issue é confidencial" msgid "This issue is confidential and locked." msgstr "Essa issue é confidencial e está bloqueada." @@ -3488,13 +4245,13 @@ msgid "This job has not been triggered yet" msgstr "" msgid "This job has not started yet" -msgstr "" +msgstr "Esse processo ainda não começou" msgid "This job is in pending state and is waiting to be picked by a runner" msgstr "" msgid "This job requires a manual action" -msgstr "" +msgstr "Este Job exige uma ação manual" msgid "This means you can not push code until you create an empty repository or import existing one." msgstr "Isto significa que você não pode entregar código até que crie um repositório vazio ou importe um existente." @@ -3503,13 +4260,16 @@ msgid "This merge request is locked." msgstr "Esse merge request está bloqueado." msgid "This page is unavailable because you are not allowed to read information across multiple projects." -msgstr "" +msgstr "Esta página não está disponível porque você não tem permissão para ler informações de vários projetos." msgid "This project" -msgstr "" +msgstr "Esse projeto" msgid "This repository" -msgstr "" +msgstr "Esse repositório" + +msgid "This will delete the custom metric, Are you sure?" +msgstr "Esta ação excluirá uma métrica personalizada, você tem certeza?" msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "Esses e-mails se tornarão issues automaticamente (com os comentários se tornando uma conversa de e-mail) listadas aqui." @@ -3523,6 +4283,12 @@ msgstr "Tempo até que uma issue comece a ser implementado" msgid "Time between merge request creation and merge/close" msgstr "Tempo entre a criação da solicitação de incorporação e a aceitação/fechamento" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3680,20 +4446,50 @@ msgstr "" msgid "Title" msgstr "Título" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" msgid "Todo" -msgstr "" +msgstr "Pendente" msgid "Toggle sidebar" -msgstr "" +msgstr "Ativar/Desativar barra lateral" msgid "ToggleButton|Toggle Status: OFF" -msgstr "" +msgstr "Mudar Status: Desligado" msgid "ToggleButton|Toggle Status: ON" -msgstr "" +msgstr "Mudar Status: Ligado" msgid "Total Time" msgstr "Tempo Total" @@ -3702,7 +4498,7 @@ msgid "Total test time for all commits/merges" msgstr "Tempo de teste total para todos os commits/merges" msgid "Total: %{total}" -msgstr "" +msgstr "Total: %{total}" msgid "Track activity with Contribution Analytics." msgstr "Acompanhe a atividade com o Contribution Analytics." @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "Ativar Service Desk" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" -msgstr "" +msgstr "Desconhecido" msgid "Unlock" msgstr "Desbloquear" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "Desbloqueado" @@ -3741,7 +4531,7 @@ msgid "Unstar" msgstr "Desmarcar" msgid "Up to date" -msgstr "" +msgstr "Atualizado" msgid "Upgrade your plan to activate Advanced Global Search." msgstr "Atualize seu plano para ativar a Pesquisa Global Avançada." @@ -3765,11 +4555,17 @@ msgid "Upload file" msgstr "Enviar arquivo" msgid "Upload new avatar" -msgstr "" +msgstr "Fazer upload de nova imagem" msgid "UploadLink|click to upload" msgstr "clique para fazer upload" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "Use o Service Desk para se conectar com seus usuários (por exemplo, para oferecer suporte ao cliente) por email dentro do GitLab" @@ -3779,24 +4575,51 @@ msgstr "Use o seguinte token de registro durante a configuração:" msgid "Use your global notification setting" msgstr "Utilizar configuração de notificação global" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "Ver arquivo @ " -msgid "View labels" +msgid "View group labels" msgstr "" +msgid "View labels" +msgstr "Visualizar etiquetas" + msgid "View open merge request" msgstr "Ver merge request aberto" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "Ver arquivo substituído @ " +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "Interno" @@ -3813,7 +4636,7 @@ msgid "Want to see the data? Please ask an administrator for access." msgstr "Precisa visualizar os dados? Solicite acesso ao administrador." msgid "We could not verify that one of your projects on GCP has billing enabled. Please try again." -msgstr "" +msgstr "Não foi possível verificar se um dos seus projetos no GCP possui o faturamento ativado. Por favor, tente novamente." msgid "We don't have enough data to show this stage." msgstr "Esta etapa não possui dados suficientes para exibição." @@ -3824,12 +4647,18 @@ msgstr "Queremos ter certeza de que é você, confirme que você não é um rob msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "Webhooks permitem que você acione uma URL se, por exemplo, quando um novo código for feito push ou uma nova issue criada. Você pode configurar os webhooks para escutar eventos específicos como push, issue ou merge request. Webhooks de grupo aplicarão para todos os projetos no grupo, permitindo você padronizar o funcionamento em todo o grupo." msgid "Weight" msgstr "Peso" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "Wiki" @@ -3945,37 +4774,43 @@ msgid "Withdraw Access Request" msgstr "Remover Requisição de Acesso" msgid "Write a commit message..." -msgstr "" +msgstr "Escrever uma mensagem de commit..." msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "Você vai remover %{group_name}. Grupos removidos NÃO PODEM ser restaurados! Você está ABSOLUTAMENTE certo?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "Você irá remover %{project_name_with_namespace}. O projeto removido NÃO PODE ser restaurado! Tem certeza ABSOLUTA?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "Você irá remover %{project_full_name}. O projeto removido NÃO PODE ser restaurado! Tem certeza ABSOLUTA?" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "Você está prestes a remover a relação de fork do projeto original %{forked_from_project}. Você tem CERTEZA disso?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "Você irá transferir %{project_name_with_namespace} para outro proprietário. Tem certeza ABSOLUTA?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "Você irá transferir %{project_full_name} para outro proprietário. Tem certeza ABSOLUTA?" -msgid "You can also create a project from the command line." +msgid "You are on a read-only GitLab instance." msgstr "" -msgid "You can also star a label to make it a priority label." +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." msgstr "" +msgid "You can also create a project from the command line." +msgstr "Você também pode criar um projeto a partir da linha de comando." + +msgid "You can also star a label to make it a priority label." +msgstr "Você também pode marcar uma label para torná-la uma label de prioridade." + msgid "You can easily install a Runner on a Kubernetes cluster. %{link_to_help_page}" -msgstr "" +msgstr "Você pode instalar facilmente um Runner em um cluster Kubernetes. %{link_to_help_page}" msgid "You can move around the graph by using the arrow keys." -msgstr "" +msgstr "Você pode mover o gráfico usando as setas do teclado." msgid "You can only add files when you are on a branch" msgstr "Você somente pode adicionar arquivos quando estiver em um branch" msgid "You can only edit files when you are on a branch" -msgstr "" +msgstr "Você só pode editar arquivos quando estiver em um branch" msgid "You cannot write to a read-only secondary GitLab Geo instance. Please use %{link_to_primary_node} instead." msgstr "Você não pode escrever numa instância secundária de somente leitura do GitLab Geo. Por favor use %{link_to_primary_node}." @@ -3987,13 +4822,13 @@ msgid "You do not have the correct permissions to override the settings from the msgstr "" msgid "You have no permissions" -msgstr "" +msgstr "Você não tem permissão" msgid "You have reached your project limit" msgstr "Você atingiu o limite de seu projeto" msgid "You must have master access to force delete a lock" -msgstr "" +msgstr "Você deve ter o acesso master para apagar um bloqueio" msgid "You must sign in to star a project" msgstr "Você deve estar autenticado para marcar um projeto" @@ -4029,14 +4864,32 @@ msgid "You won't be able to pull or push project code via SSH until you add an S msgstr "Você não poderá fazer push ou pull do código via SSH enquanto não adicionar sua chave SSH no seu perfil" msgid "You'll need to use different branch names to get a valid comparison." +msgstr "Você precisará usar nomes de branch diferentes para obter uma comparação válida." + +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" msgstr "" msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" -msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." msgstr "" +msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" +msgstr "Commit com suas alterações realizado. Commit %{commitId} %{commitStats}" + msgid "Your comment will not be visible to the public." msgstr "Seu comentário não estará visível ao público." @@ -4049,21 +4902,47 @@ msgstr "Seu nome" msgid "Your projects" msgstr "Seus projetos" -msgid "assign yourself" +msgid "among other things" msgstr "" +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "assign yourself" +msgstr "atribuir a si mesmo" + msgid "branch name" msgstr "nome da branch" msgid "by" msgstr "por" -msgid "ciReport|Code quality" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" msgstr "" +msgid "ciReport|Code quality" +msgstr "Qualidade de código" + msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" -msgstr "commit" - -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "dia" msgstr[1] "dias" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4315,7 +5246,7 @@ msgid "notification emails" msgstr "emails de notificação" msgid "or" -msgstr "" +msgstr "ou" msgid "parent" msgid_plural "parents" @@ -4328,13 +5259,19 @@ msgstr "senha" msgid "personal access token" msgstr "token de acesso pessoal" -msgid "remove due date" +msgid "private key does not match certificate." msgstr "" +msgid "remove due date" +msgstr "remover a data de vencimento" + msgid "source" msgstr "origem" msgid "spendCommand|%{slash_command} will update the sum of the time spent." +msgstr "%{slash_command} irá atualizar a soma do tempo gasto." + +msgid "this document" msgstr "" msgid "to help your contributors communicate effectively!" diff --git a/locale/ru/gitlab.po b/locale/ru/gitlab.po index 6214460fc21..a5e145a06ed 100644 --- a/locale/ru/gitlab.po +++ b/locale/ru/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:53-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:35-0400\n" "Last-Translator: gitlab \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /master/locale/gitlab.pot\n" msgid " and" -msgstr "" +msgstr " и" msgid "%d commit" msgid_plural "%d commits" @@ -33,6 +33,13 @@ msgstr[1] "на %d коммита позади" msgstr[2] "на %d коммитов позади" msgstr[3] "на %d коммитов позади" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "%d обсуждение" @@ -54,6 +61,13 @@ msgstr[1] "%d запроса на слияние" msgstr[2] "%d запросов на слияние" msgstr[3] "%d запросов на слияние" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "%s дополнительный коммит был пропущен для предотвращения проблем с производительностью." @@ -74,9 +88,12 @@ msgstr[1] "%{count} участника" msgstr[2] "%{count} участников" msgstr[3] "%{count} участников" -msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" +msgid "%{loadingIcon} Started" msgstr "" +msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" +msgstr "%{lock_path} заблокирован пользователем GitLab %{lock_user_id}" + msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead" msgstr "на %{number_commits_behind} коммитов позади %{default_branch}, на %{number_commits_ahead} коммитов впереди" @@ -121,15 +138,30 @@ msgstr "Первый вклад!" msgid "2FA enabled" msgstr "Двухфакторная авторизация включена" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Графики непрерывной интеграции (CI)" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "Об автоматическом развёртывании" msgid "Abuse Reports" msgstr "Отчёты о Жалобах" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "Токены Доступа" @@ -139,6 +171,9 @@ msgstr "Доступ к вышедшим из строя хранилищам в msgid "Account" msgstr "Учетная запись" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Активный" @@ -158,19 +193,19 @@ msgid "Add Group Webhooks and GitLab Enterprise Edition." msgstr "Добавить групповые веб-обработчики и GitLab Enterprise Edition." msgid "Add Kubernetes cluster" -msgstr "" +msgstr "Добавить Kubernetes кластер" msgid "Add License" msgstr "Добавить Лицензию" msgid "Add Readme" -msgstr "" +msgstr "Добавить Информацию" msgid "Add new directory" msgstr "Добавить новый каталог" msgid "Add todo" -msgstr "" +msgstr "Добавить todo" msgid "AdminArea|Stop all jobs" msgstr "Остановить все задания" @@ -200,7 +235,7 @@ msgid "AdminProjects|Delete project" msgstr "Удалить проект" msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages." -msgstr "" +msgstr "Укажите домен, который будет использоваться по умолчанию для всех проектов в Auto Review приложениях и стадиях Auto Deploy." msgid "AdminUsers|Block user" msgstr "Заблокировать пользователя" @@ -224,7 +259,7 @@ msgid "AdminUsers|To confirm, type %{username}" msgstr "Для подтверждения, введите %{username}" msgid "Advanced" -msgstr "" +msgstr "Дополнительно" msgid "Advanced settings" msgstr "Расширенные настройки" @@ -233,9 +268,33 @@ msgid "All" msgstr "Все" msgid "All changes are committed" +msgstr "Все изменения зафиксированы" + +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." msgstr "" msgid "Allows you to add and manage Kubernetes clusters." +msgstr "Позволяет добавлять и управлять кластерами Kubernetes." + +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." msgstr "" msgid "An error occurred previewing the blob" @@ -316,6 +375,9 @@ msgstr "Произошла ошибка при проверке имени по msgid "An error occurred. Please try again." msgstr "Произошла ошибка. Пожалуйста, попробуйте снова." +msgid "Any Label" +msgstr "Любая Метка" + msgid "Appearance" msgstr "Оформление" @@ -341,7 +403,7 @@ msgid "Are you sure you want to reset the health check token?" msgstr "Вы уверены, что хотите сбросить этот токен проверки работоспособности?" msgid "Are you sure you want to unlock %{path_lock_path}?" -msgstr "" +msgstr "Вы действительно хотите разблокировать %{path_lock_path}?" msgid "Are you sure?" msgstr "Вы уверены?" @@ -349,16 +411,28 @@ msgstr "Вы уверены?" msgid "Artifacts" msgstr "Артефакты" -msgid "Assign custom color like #FF0000" +msgid "Assertion consumer service URL" msgstr "" +msgid "Assign custom color like #FF0000" +msgstr "Назначьте пользовательский цвет, например #FF0000" + msgid "Assign labels" -msgstr "" +msgstr "Назначить метки" msgid "Assign milestone" -msgstr "" +msgstr "Назначить этап" msgid "Assign to" +msgstr "Назначить" + +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" msgstr "" msgid "Assignee" @@ -380,16 +454,19 @@ msgid "Author" msgstr "Автор" msgid "Authors: %{authors}" -msgstr "" +msgstr "Авторы: %{authors}" msgid "Auto DevOps enabled" +msgstr "Auto DevOps включен" + +msgid "Auto DevOps, runners and job artifacts" msgstr "" msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." -msgstr "" +msgstr "Приложения для автоматического ревью и автоматического развёртывания требуют указания %{kubernetes} для корректной работы." msgid "Auto Review Apps and Auto Deploy need a domain name and a %{kubernetes} to work correctly." -msgstr "" +msgstr "Приложения для автоматического ревью и автоматического развёртывания требуют указания имени домена и %{kubernetes} для корректной работы." msgid "Auto Review Apps and Auto Deploy need a domain name to work correctly." msgstr "Приложения для автоматического ревью и автоматического развёртывания требуют указания имени домена для корректной работы." @@ -410,26 +487,32 @@ msgid "AutoDevOps|Learn more in the %{link_to_documentation}" msgstr "Подробнее по ссылке %{link_to_documentation}" msgid "AutoDevOps|You can automatically build and test your application if you %{link_to_auto_devops_settings} for this project. You can automatically deploy it as well, if you %{link_to_add_kubernetes_cluster}." -msgstr "" +msgstr "Вы можете автоматически собирать и тестировать свое приложение, если для этого проекта %{link_to_auto_devops_settings}. Вы также можете автоматически развернуть свое приложение, если вы %{link_to_add_kubernetes_cluster}." msgid "AutoDevOps|add a Kubernetes cluster" -msgstr "" +msgstr "добавите кластер Kubernetes" msgid "AutoDevOps|enable Auto DevOps (Beta)" -msgstr "" +msgstr "включен Auto DevOps (Beta)" msgid "Available" msgstr "Доступен" msgid "Avatar will be removed. Are you sure?" -msgstr "" +msgstr "Аватар будет удален. Вы уверены?" msgid "Average per day: %{average}" +msgstr "В среднем за день: %{average}" + +msgid "Background Color" msgstr "" -msgid "Begin with the selected commit" +msgid "Background jobs" msgstr "" +msgid "Begin with the selected commit" +msgstr "Начать с выбранного коммита" + msgid "Billing" msgstr "Тариф" @@ -512,6 +595,15 @@ msgstr "Переключить ветку" msgid "Branches" msgstr "Ветки" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "Невозможно найти HEAD-коммит этой ветки" @@ -534,7 +626,7 @@ msgid "Branches|Delete protected branch '%{branch_name}'?" msgstr "Удалить защищённую ветку '%{branch_name}'?" msgid "Branches|Deleting the '%{branch_name}' branch cannot be undone. Are you sure?" -msgstr "Уделение ветки '%{branch_name}' невозможно отменить. Вы уверены?" +msgstr "Удаление ветки '%{branch_name}' невозможно отменить. Вы уверены?" msgid "Branches|Deleting the merged branches cannot be undone. Are you sure?" msgstr "Удаление влитых веток невозможно отменить. Вы уверены?" @@ -557,12 +649,39 @@ msgstr "Как только вы подтвердите и нажмёте %{dele msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "Только мастер или владелец проекта может удалить защищённую ветку" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" -msgstr "Управление защищёнными ветками возможно в %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" +msgstr "" msgid "Branches|Sort by" msgstr "Сортировать по" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "Ветвь не может быть обновлена автоматически, потому что она имеет расхождения с родительским репозиторием." @@ -608,14 +727,23 @@ msgstr "Просмотр файлов" msgid "Browse files" msgstr "Просмотр файлов" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "по автору" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "CI/CD" + msgid "CI/CD configuration" -msgstr "" +msgstr "Конфигурация CI/CD" + +msgid "CI/CD for external repo" +msgstr "CI/CD для внешнего репозитория" msgid "CICD|Jobs" msgstr "Задания" @@ -623,15 +751,21 @@ msgstr "Задания" msgid "Cancel" msgstr "Отмена" -msgid "Cancel edit" -msgstr "Отменить редактирование" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" +msgstr "Невозможно изменить управляемый кластер Kubernetes" + +msgid "Certificate fingerprint" msgstr "" msgid "Change Weight" msgstr "Изменить Вес" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "Выбрать в ветке" @@ -645,7 +779,7 @@ msgid "ChangeTypeAction|Revert" msgstr "Отменить" msgid "ChangeTypeAction|This will create a new commit in order to revert the existing changes." -msgstr "" +msgstr "Это создаст новый коммит для того, чтобы откатить существующие изменения." msgid "Changelog" msgstr "Журнал изменений" @@ -660,7 +794,7 @@ msgid "Chat" msgstr "Чат" msgid "Check interval" -msgstr "" +msgstr "Интервал проверки" msgid "Checking %{text} availability…" msgstr "Проверка доступности %{text} ..." @@ -675,15 +809,21 @@ msgid "Cherry-pick this merge request" msgstr "Подобрать этот запрос на слияние" msgid "Choose File ..." -msgstr "" +msgstr "Выберите Файл..." msgid "Choose a branch/tag (e.g. %{master}) or enter a commit (e.g. %{sha}) to see what's changed or to create a merge request." -msgstr "" +msgstr "Выберите ветку/тег (например, %{master}) или введите коммит(например, %{sha}), чтобы увидеть, что изменилось или создать запрос на слияние." msgid "Choose file..." -msgstr "" +msgstr "Выберите файл..." msgid "Choose which groups you wish to synchronize to this secondary node." +msgstr "Выберите группы, которые вы хотите синхронизировать с этим вторичным узлом." + +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." msgstr "" msgid "Choose which shards you wish to synchronize to this secondary node." @@ -744,48 +884,57 @@ msgid "CiStatus|running" msgstr "выполняется" msgid "CiVariables|Input variable key" -msgstr "" +msgstr "Ключ входной переменной" msgid "CiVariables|Input variable value" -msgstr "" +msgstr "Значение входной переменной" msgid "CiVariables|Remove variable row" -msgstr "" +msgstr "Удалить строку переменных" msgid "CiVariable|* (All environments)" -msgstr "" +msgstr " * (Все среды)" msgid "CiVariable|All environments" -msgstr "" +msgstr "Все среды" msgid "CiVariable|Create wildcard" -msgstr "" +msgstr "Создать шаблон" msgid "CiVariable|Error occured while saving variables" -msgstr "" +msgstr "Произошла ошибка при сохранении переменных" msgid "CiVariable|New environment" -msgstr "" +msgstr "Новая среда" msgid "CiVariable|Protected" -msgstr "" +msgstr "Защищено" msgid "CiVariable|Search environments" -msgstr "" +msgstr "Поиск сред" msgid "CiVariable|Toggle protected" -msgstr "" +msgstr "Включить защиту" msgid "CiVariable|Validation failed" -msgstr "" +msgstr "Проверка не удалась" msgid "CircuitBreakerApiLink|circuitbreaker api" msgstr "CircuitBreaker API" msgid "Click the button below to begin the install process by navigating to the Kubernetes page" -msgstr "" +msgstr "Нажмите кнопку ниже, чтобы начать процесс установки, перейдя на страницу Kubernetes" msgid "Click to expand text" +msgstr "Нажмите, чтобы раскрыть текст" + +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" msgstr "" msgid "Clone repository" @@ -795,28 +944,28 @@ msgid "Close" msgstr "Закрыть" msgid "Closed" -msgstr "" +msgstr "Закрыто" msgid "ClusterIntegration|%{appList} was successfully installed on your Kubernetes cluster" -msgstr "" +msgstr "%{appList} успешно установлены на вашем кластере Kubernetes" msgid "ClusterIntegration|API URL" msgstr "Адрес API" msgid "ClusterIntegration|Add Kubernetes cluster" -msgstr "" +msgstr "Добавить кластер Kubernetes" msgid "ClusterIntegration|Add an existing Kubernetes cluster" -msgstr "" +msgstr "Добавить существующий кластер Kubernetes" msgid "ClusterIntegration|Advanced options on this Kubernetes cluster's integration" -msgstr "" +msgstr "Дополнительные опции для этой интеграции с кластером Kubernetes" msgid "ClusterIntegration|Applications" msgstr "Приложения" msgid "ClusterIntegration|Are you sure you want to remove this Kubernetes cluster's integration? This will not delete your actual Kubernetes cluster." -msgstr "" +msgstr "Вы уверены, что хотите удалить интеграцию с этим кластером Kubernetes? Это не приведет к удалению вашего кластера Kubernetes." msgid "ClusterIntegration|CA Certificate" msgstr "Сертификат удостоверяющего центра" @@ -825,13 +974,13 @@ msgid "ClusterIntegration|Certificate Authority bundle (PEM format)" msgstr "Комплект сертификатов удостоверяющего центра (формат PEM)" msgid "ClusterIntegration|Choose how to set up Kubernetes cluster integration" -msgstr "" +msgstr "Выберите способ настройки интеграции с кластером Kubernetes" msgid "ClusterIntegration|Choose which of your project's environments will use this Kubernetes cluster." -msgstr "" +msgstr "Выберите, какие среды вашего проекта будут использовать этот кластер Kubernetes." msgid "ClusterIntegration|Control how your Kubernetes cluster integrates with GitLab" -msgstr "" +msgstr "Управляйте тем, как ваш кластер Kubernetes интегрируется с GitLab" msgid "ClusterIntegration|Copy API URL" msgstr "Скопировать адрес API" @@ -840,22 +989,22 @@ msgid "ClusterIntegration|Copy CA Certificate" msgstr "Копировать Сертификат Удостоверяющего Центра" msgid "ClusterIntegration|Copy Ingress IP Address to clipboard" -msgstr "" +msgstr "Скопировать IP-адрес Ingress в буфер обмена" msgid "ClusterIntegration|Copy Kubernetes cluster name" -msgstr "" +msgstr "Скопировать имя кластера Kubernetes" msgid "ClusterIntegration|Copy Token" msgstr "Скопировать Токен" msgid "ClusterIntegration|Create Kubernetes cluster" -msgstr "" +msgstr "Создать кластер Kubernetes" msgid "ClusterIntegration|Create Kubernetes cluster on Google Kubernetes Engine" -msgstr "" +msgstr "Создать кластер при помощи Google Kubernetes Engine" msgid "ClusterIntegration|Create a new Kubernetes cluster on Google Kubernetes Engine right from GitLab" -msgstr "" +msgstr "Создайте новый кластер Kubernetes в Google Kubernetes Engine прямо из GitLab" msgid "ClusterIntegration|Create on GKE" msgstr "Создать в GKE" @@ -864,13 +1013,13 @@ msgid "ClusterIntegration|Enter the details for an existing Kubernetes cluster" msgstr "Укажите параметры существующего кластера Kubernetes" msgid "ClusterIntegration|Enter the details for your Kubernetes cluster" -msgstr "" +msgstr "Введите сведения о вашем кластере Kubernetes" msgid "ClusterIntegration|Environment scope" msgstr "" msgid "ClusterIntegration|GitLab Integration" -msgstr "" +msgstr "Интеграция с GitLab" msgid "ClusterIntegration|GitLab Runner" msgstr "GitLab Runner" @@ -887,15 +1036,21 @@ msgstr "Проект Google Kubernetes Engine" msgid "ClusterIntegration|Helm Tiller" msgstr "Helm Tiller" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "Ingress" msgid "ClusterIntegration|Ingress IP Address" -msgstr "" +msgstr "IP-адрес Ingress" msgid "ClusterIntegration|Install" msgstr "Установить" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "Установлен" @@ -903,48 +1058,54 @@ msgid "ClusterIntegration|Installing" msgstr "Установка" msgid "ClusterIntegration|Integrate Kubernetes cluster automation" -msgstr "" +msgstr "Интеграция автоматизации кластеров Kubernetes" msgid "ClusterIntegration|Integration status" -msgstr "" +msgstr " Статус интеграции" msgid "ClusterIntegration|Kubernetes cluster" -msgstr "" +msgstr "Кластер Kubernetes" msgid "ClusterIntegration|Kubernetes cluster details" +msgstr "Сведения о кластере Kubernetes" + +msgid "ClusterIntegration|Kubernetes cluster health" msgstr "" msgid "ClusterIntegration|Kubernetes cluster integration" -msgstr "" +msgstr "Интеграция кластера Kubernetes" msgid "ClusterIntegration|Kubernetes cluster integration is disabled for this project." -msgstr "" +msgstr "Интеграция кластера Kubernetes для этого проекта отключена." msgid "ClusterIntegration|Kubernetes cluster integration is enabled for this project." -msgstr "" +msgstr "Интеграция кластера Kubernetes для этого проекта включена." msgid "ClusterIntegration|Kubernetes cluster integration is enabled for this project. Disabling this integration will not affect your Kubernetes cluster, it will only temporarily turn off GitLab's connection to it." -msgstr "" +msgstr "Для этого проекта включена интеграция кластера Kubernetes. Отключение интеграции не повлияет на кластер Kubernetes, но соединение с GitLab будет временно отключено." msgid "ClusterIntegration|Kubernetes cluster is being created on Google Kubernetes Engine..." -msgstr "" +msgstr "Кластер Kubernetes создаётся в Google Kubernetes Engine..." msgid "ClusterIntegration|Kubernetes cluster name" -msgstr "" +msgstr "Имя кластера Kubernetes" msgid "ClusterIntegration|Kubernetes cluster was successfully created on Google Kubernetes Engine. Refresh the page to see Kubernetes cluster's details" -msgstr "" +msgstr "Кластер Kubernetes был успешно создан в Google Kubernetes Engine. Обновите страницу, чтобы увидеть сведения о кластере Kubernetes" msgid "ClusterIntegration|Kubernetes clusters allow you to use review apps, deploy your applications, run your pipelines, and much more in an easy way. %{link_to_help_page}" -msgstr "" +msgstr "Кластер Kubernetes позволяет вам использовать приложения для ревью, развёртывать ваши приложения, запускать ваши сборочные линии и многое другое более простым способом. %{link_to_help_page}" msgid "ClusterIntegration|Kubernetes clusters can be used to deploy applications and to provide Review Apps for this project" -msgstr "" +msgstr "Кластеры Kubernetes могут использоваться для развертывания приложений и предоставления приложений Review для этого проекта" msgid "ClusterIntegration|Learn more about %{link_to_documentation}" msgstr "Узнайте больше на %{link_to_documentation}" msgid "ClusterIntegration|Learn more about environments" +msgstr "Узнайте больше о средах" + +msgid "ClusterIntegration|Learn more about security configuration" msgstr "" msgid "ClusterIntegration|Machine type" @@ -954,16 +1115,16 @@ msgid "ClusterIntegration|Make sure your account %{link_to_requirements} to crea msgstr "" msgid "ClusterIntegration|Manage" -msgstr "" +msgstr "Управление" msgid "ClusterIntegration|Manage your Kubernetes cluster by visiting %{link_gke}" -msgstr "" +msgstr "Управляйте вашему кластером Kubernetes, перейдя по ссылке %{link_gke}" msgid "ClusterIntegration|More information" -msgstr "" +msgstr "Дополнительная информация" msgid "ClusterIntegration|Multiple Kubernetes clusters are available in GitLab Enterprise Edition Premium and Ultimate" -msgstr "" +msgstr "Несколько кластеров Kubernetes доступно в GitLab Entreprise Edition Premium и Ultimate" msgid "ClusterIntegration|Note:" msgstr "Примечание:" @@ -972,7 +1133,7 @@ msgid "ClusterIntegration|Number of nodes" msgstr "Количество узлов" msgid "ClusterIntegration|Please enter access information for your Kubernetes cluster. If you need help, you can read our %{link_to_help_page} on Kubernetes" -msgstr "" +msgstr "Пожалуйста, укажите параметры доступа к вашему кластеру Kubernetes. Если вам необходима помощь, вы можете ознакомиться с нашей страницей %{link_to_help_page} по Kubernetes" msgid "ClusterIntegration|Please make sure that your Google account meets the following requirements:" msgstr "Пожалуйста, убедитесь, что ваш аккаунт Google отвечает следующим требованиям:" @@ -993,13 +1154,13 @@ msgid "ClusterIntegration|Read our %{link_to_help_page} on Kubernetes cluster in msgstr "" msgid "ClusterIntegration|Remove Kubernetes cluster integration" -msgstr "" +msgstr "Удалить интеграцию кластера Kubernetes" msgid "ClusterIntegration|Remove integration" msgstr "Удалить интеграцию" msgid "ClusterIntegration|Remove this Kubernetes cluster's configuration from this project. This will not delete your actual Kubernetes cluster." -msgstr "" +msgstr "Удалить эту конфигурацию кластера Kubernetes из этого проекта. Это не приведет к удалению вашего фактического кластера Kubernetes." msgid "ClusterIntegration|Request to begin installing failed" msgstr "Не удалось выполнить запрос на запуск процесса установки" @@ -1007,9 +1168,12 @@ msgstr "Не удалось выполнить запрос на запуск п msgid "ClusterIntegration|Save changes" msgstr "Сохранить изменения" -msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" +msgid "ClusterIntegration|Security" msgstr "" +msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" +msgstr "Просмотр и редактирование информации о вашем кластере Kubernetes" + msgid "ClusterIntegration|See machine types" msgstr "См. типы машин" @@ -1029,25 +1193,28 @@ msgid "ClusterIntegration|Something went wrong on our end." msgstr " У нас что-то пошло не так." msgid "ClusterIntegration|Something went wrong while creating your Kubernetes cluster on Google Kubernetes Engine" -msgstr "" +msgstr "Что-то пошло не так при создании кластера Kubernetes в Google Kubernetes Engine" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "Произошли ошибки во время установки %{title}" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" msgid "ClusterIntegration|Toggle Kubernetes Cluster" -msgstr "" +msgstr "Переключить Кластер Kubernetes" msgid "ClusterIntegration|Toggle Kubernetes cluster" -msgstr "" +msgstr "Переключить кластер Kubernetes" msgid "ClusterIntegration|Token" msgstr "Токен" msgid "ClusterIntegration|With a Kubernetes cluster associated to this project, you can use review apps, deploy your applications, run your pipelines, and much more in an easy way." -msgstr "" +msgstr "Если привязать кластер Kubernetes к этому проекту, вы с лёгкостью сможете использовать приложения для ревью, развертывать ваши приложения, запускать сборочные линии и многое другое." msgid "ClusterIntegration|Your account must have %{link_to_kubernetes_engine}" msgstr "Ваша учетная запись должна иметь %{link_to_kubernetes_engine}" @@ -1077,13 +1244,13 @@ msgid "ClusterIntegration|properly configured" msgstr "правильно настроен" msgid "Collapse" -msgstr "" +msgstr "Свернуть" msgid "Comment and resolve discussion" -msgstr "" +msgstr "Прокомментировать и закрыть дискуссию" msgid "Comment and unresolve discussion" -msgstr "" +msgstr "Прокомментировать и переоткрыть дискуссию" msgid "Comments" msgstr "Комментарии" @@ -1162,24 +1329,66 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" msgid "CompareBranches|Compare" -msgstr "" +msgstr "Сравнить" msgid "CompareBranches|Source" -msgstr "" +msgstr "Источник" msgid "CompareBranches|Target" -msgstr "" +msgstr "Цель" msgid "CompareBranches|There isn't anything to compare." +msgstr "Нечего сравнивать." + +msgid "Confidential" msgstr "" msgid "Confidentiality" +msgstr "Конфиденциальность" + +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" msgstr "" +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "Подключение..." + msgid "Container Registry" msgstr "Реестр Контейнеров" @@ -1225,6 +1434,12 @@ msgstr "Использовать различные имена образов" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "Когда реестр контейнеров Docker интегрирован с GitLab, каждый проект может иметь свое собственное пространство для хранения его Docker образов." +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "Руководство участника" @@ -1232,7 +1447,7 @@ msgid "Contributors" msgstr "Участники" msgid "ContributorsPage|%{startDate} – %{endDate}" -msgstr "" +msgstr "%{startDate} - %{endDate}" msgid "ContributorsPage|Building repository graph." msgstr "Построение графа репозитория." @@ -1256,40 +1471,40 @@ msgid "Copy URL to clipboard" msgstr "Копировать URL в буфер обмена" msgid "Copy branch name to clipboard" -msgstr "" +msgstr "Скопировать имя ветки в буфер обмена" msgid "Copy command to clipboard" -msgstr "" +msgstr "Копировать команду в буфер обмена" msgid "Copy commit SHA to clipboard" msgstr "Копировать SHA коммита в буфер обмена" msgid "Copy reference to clipboard" -msgstr "" +msgstr "Скопировать ссылку в буфер обмена" msgid "Create" -msgstr "" +msgstr "Создать" msgid "Create New Directory" msgstr "Создать Новый каталог" msgid "Create a new branch" -msgstr "" +msgstr "Создать новую ветку" msgid "Create a new branch and merge request" -msgstr "" +msgstr "Создать новую ветку и запрос на слияние" msgid "Create a personal access token on your account to pull or push via %{protocol}." msgstr "Создать личный токен на аккаунте для получения или отправки через %{protocol}." msgid "Create branch" -msgstr "" +msgstr "Создать ветку" msgid "Create directory" msgstr "Создать каталог" -msgid "Create empty bare repository" -msgstr "Создать пустой репозиторий" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "Создать эпик" @@ -1297,14 +1512,17 @@ msgstr "Создать эпик" msgid "Create file" msgstr "Создать файл" -msgid "Create lists from labels. Issues with that label appear in that list." +msgid "Create group label" msgstr "" +msgid "Create lists from labels. Issues with that label appear in that list." +msgstr "Создать список из меток. Обсуждения с этой меткой появляются в этом списке." + msgid "Create merge request" msgstr "Создать запрос на слияние" msgid "Create merge request and branch" -msgstr "" +msgstr "Создать запрос на слияние и ветку" msgid "Create new branch" msgstr "Создать новую ветку" @@ -1316,11 +1534,14 @@ msgid "Create new file" msgstr "Создать новый файл" msgid "Create new label" -msgstr "" +msgstr "Создать новую метку" msgid "Create new..." msgstr "Новый" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "Ответвить" @@ -1331,10 +1552,10 @@ msgid "CreateTokenToCloneLink|create a personal access token" msgstr "создать персональный токен доступа" msgid "Creates a new branch from %{branchName}" -msgstr "" +msgstr "Создает новую ветку из %{branchName}" msgid "Creates a new branch from %{branchName} and re-directs to create a new merge request" -msgstr "" +msgstr "Создает новую ветку из %{branchName} и перенаправляет на создание нового запроса на слияние" msgid "Creating epic" msgstr "Создание эпика" @@ -1346,7 +1567,7 @@ msgid "Cron syntax" msgstr "Синтаксис Cron" msgid "Current node" -msgstr "" +msgstr "Текущий узел" msgid "Custom notification events" msgstr "События настраиваемых уведомлений" @@ -1354,6 +1575,9 @@ msgstr "События настраиваемых уведомлений" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "Настраиваемые уровни уведомлений аналогичны уровню уведомлений в соответствии с участием. С настраиваемыми уровнями уведомлений вы также будете получать уведомления о выбранных событиях. Чтобы узнать больше, посмотрите %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "Аналитика Цикла" @@ -1391,7 +1615,7 @@ msgid "December" msgstr "Декабрь" msgid "Default classification label" -msgstr "" +msgstr "Метка классификации по умолчанию" msgid "Define a custom pattern with cron syntax" msgstr "Определить настраиваемый шаблон с синтаксисом cron" @@ -1419,19 +1643,19 @@ msgid "Details" msgstr "Подробная информация" msgid "Diffs|No file name available" -msgstr "" +msgstr "Имя файла недоступно" msgid "Directory name" msgstr "Имя каталога" msgid "Disable" -msgstr "" +msgstr "Отключить" msgid "Discard draft" -msgstr "" +msgstr "Удалить черновик" msgid "Discover GitLab Geo." -msgstr "" +msgstr "Откройте для себя GitLab Geo." msgid "Dismiss Cycle Analytics introduction box" msgstr "Отключить блок введения в Аналитику Цикла" @@ -1439,9 +1663,15 @@ msgstr "Отключить блок введения в Аналитику Ци msgid "Dismiss Merge Request promotion" msgstr "Отключить анонсы для Запросов на слияние" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "Не показывать снова" +msgid "Done" +msgstr "" + msgid "Download" msgstr "Скачать" @@ -1469,7 +1699,13 @@ msgstr "Простой Diff" msgid "DownloadSource|Download" msgstr "Скачать" +msgid "Downvotes" +msgstr "" + msgid "Due date" +msgstr "Срок" + +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." msgstr "" msgid "Edit" @@ -1479,15 +1715,54 @@ msgid "Edit Pipeline Schedule %{id}" msgstr "Изменить расписание сборочной линии %{id}" msgid "Edit files in the editor and commit changes here" +msgstr "Редактируйте файлы в редакторе и зафиксируйте изменения здесь" + +msgid "Editing" msgstr "" -msgid "Emails" +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + +msgid "Emails" msgstr "Email-адреса" msgid "Enable" -msgstr "" +msgstr "Включить" msgid "Enable Auto DevOps" +msgstr "Включить Auto DevOps" + +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" msgstr "" msgid "Environments|An error occurred while fetching the environments." @@ -1550,41 +1825,44 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "Эпики позволят вам управлять портфелем проектов более эффективно и с меньшими усилиями" -msgid "Error checking branch data. Please try again." +msgid "Error Reporting and Logging" msgstr "" +msgid "Error checking branch data. Please try again." +msgstr "Ошибка проверки данных ветки. Пожалуйста, попробуйте еще раз." + msgid "Error committing changes. Please try again." -msgstr "" +msgstr "Ошибка при сохранении изменений. Пожалуйста, попробуйте еще раз." msgid "Error creating epic" msgstr "Ошибка создания эпика" msgid "Error fetching contributors data." -msgstr "" +msgstr "Ошибка получения данных участников." msgid "Error fetching labels." -msgstr "" +msgstr "Ошибка получения меток." msgid "Error fetching network graph." -msgstr "" +msgstr "Ошибка получения сетевого графа." msgid "Error fetching refs" -msgstr "" +msgstr "Ошибка получения ссылок" msgid "Error fetching usage ping data." -msgstr "" +msgstr "Ошибка при получении данных об использовании ping." msgid "Error occurred when toggling the notification subscription" msgstr "Произошла ошибка при переключении подписки на оповещение" msgid "Error saving label update." -msgstr "" +msgstr "Ошибка при обновлении метки." msgid "Error updating status for all todos." -msgstr "" +msgstr "Ошибка при обновлении статуса для всех todo." msgid "Error updating todo status." -msgstr "" +msgstr "Ошибка при обновлении статуса todo." msgid "EventFilterBy|Filter by all" msgstr "Фильтр по всему" @@ -1614,7 +1892,7 @@ msgid "Every week (Sundays at 4:00am)" msgstr "Еженедельно (по воскресениям в 4:00)" msgid "Expand" -msgstr "" +msgstr "Развернуть" msgid "Explore projects" msgstr "Обзор проектов" @@ -1625,9 +1903,15 @@ msgstr "Исследовать публичные группы" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1637,6 +1921,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "Невыполненные Задания" @@ -1644,13 +1931,13 @@ msgid "Failed to change the owner" msgstr "Не удалось изменить владельца" msgid "Failed to remove issue from board, please try again." -msgstr "" +msgstr "Ошибка при удалении обсуждения с доски, повторите попытку." msgid "Failed to remove the pipeline schedule" msgstr "Не удалось удалить расписание сборочной линии" msgid "Failed to update issues, please try again." -msgstr "" +msgstr "Ошибка обновления обсуждений, пожалуйста, попробуйте снова." msgid "Feb" msgstr "Фев." @@ -1659,7 +1946,7 @@ msgid "February" msgstr "Февраль" msgid "Fields on this page are now uneditable, you can configure" -msgstr "" +msgstr "Поля на этой странице сейчас недоступны для редактирования, вы можете настроить" msgid "File name" msgstr "Имя файла" @@ -1668,6 +1955,9 @@ msgid "Files" msgstr "Файлы" msgid "Files (%{human_size})" +msgstr "Файлов (%{human_size})" + +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" msgstr "" msgid "Filter by commit message" @@ -1679,18 +1969,27 @@ msgstr "Поиск по пути" msgid "Find file" msgstr "Найти файл" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "Первый" msgid "FirstPushedBy|pushed by" msgstr "отправлено автором" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +msgstr[0] "Ответвление" +msgstr[1] "Ответвления" +msgstr[2] "Ответвлений" +msgstr[3] "Ответвления" msgid "ForkedFromProjectPath|Forked from" msgstr "Ответвлено от" @@ -1698,9 +1997,15 @@ msgstr "Ответвлено от" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "Ответвление от %{project_name} (удалено)" +msgid "Forking in progress" +msgstr "Выполняется ответвление" + msgid "Format" msgstr "Формат" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "От создания обсуждения до развертывания реализации в рабочей среде" @@ -1714,17 +2019,23 @@ msgid "GPG Keys" msgstr "GPG Ключи" msgid "Generate a default set of labels" -msgstr "" +msgstr "Создать стандартный набор меток" msgid "Geo Nodes" msgstr "Географические Узлы" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "На узле сбой или он не работает." msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "Узел функционирует медленно, перегужен или только что восстановлен после сбоя." +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1770,21 +2081,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1797,9 +2135,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1830,21 +2180,42 @@ msgstr "Выберите группы для репликации." msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "URL-адрес репозитория Git" + msgid "Git revision" -msgstr "" +msgstr "Ревизия git" msgid "Git storage health information has been reset" msgstr "Информация о стабильности Git хранилища была сброшена" msgid "Git version" +msgstr "Версия Git" + +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" msgstr "" msgid "GitLab Runner section" msgstr "Секция Gitlab Runner" -msgid "Gitaly Servers" +msgid "GitLab single sign on URL" msgstr "" +msgid "Gitaly" +msgstr "" + +msgid "Gitaly Servers" +msgstr "Серверы Gitaly" + +msgid "Go back" +msgstr "Вернуться" + msgid "Go to your fork" msgstr "Перейти к вашему ответвлению" @@ -1855,7 +2226,7 @@ msgid "Google authentication is not %{link_to_documentation}. Ask your GitLab ad msgstr "Аутентификация Google не %{link_to_documentation}. Попросите своего администратора GitLab, если вы хотите воспользоваться этим сервисом." msgid "Got it!" -msgstr "" +msgstr "Понятно!" msgid "GroupRoadmap|Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" @@ -1911,9 +2282,6 @@ msgstr "Группы не найдены" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "Вы можете управлять правами и доступом участников вашей группы к каждому проекту в группе." -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "Создать проект в этой группе." @@ -1944,6 +2312,9 @@ msgstr "К сожалению, по вашему запросу групп ил msgid "Have your users email" msgstr "Электронная почта для обращений пользователей" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "Проверка работоспособности" @@ -1962,6 +2333,15 @@ msgstr "Проблем работоспособности не обнаруже msgid "HealthCheck|Unhealthy" msgstr "Нестабильный" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1975,12 +2355,39 @@ msgstr "История" msgid "Housekeeping successfully started" msgstr "Очистка успешно запущена" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "" +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "Выполняется импорт" + +msgid "Import repositories from GitHub" +msgstr "" + msgid "Import repository" msgstr "Импорт репозитория" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "Улучшить доски обсуждений с помощью GitLab Enterprise Edition." @@ -1991,19 +2398,22 @@ msgid "Improve search with Advanced Global Search and GitLab Enterprise Edition. msgstr "Улучшить поиск при помощи Расширенного Глобального Поиска и GitLab Enterprise Edition." msgid "Install Runner on Kubernetes" -msgstr "" +msgstr "Установить Runner на Kubernetes" msgid "Install a Runner compatible with GitLab CI" msgstr "Установите Gitlab Runner совместимый с Gitlab CI" msgid "Instance" msgid_plural "Instances" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +msgstr[0] "Экземпляр" +msgstr[1] "Экземпляра" +msgstr[2] "Экземпляров" +msgstr[3] "Экземпляры" msgid "Instance does not support multiple Kubernetes clusters" +msgstr "Экземпляр не поддерживает несколько кластеров Kubernetes" + +msgid "Integrations" msgstr "" msgid "Interested parties can even contribute by pushing commits if they want to." @@ -2060,26 +2470,29 @@ msgstr "Июн." msgid "June" msgstr "Июнь" -msgid "Kubernetes" +msgid "Koding" msgstr "" +msgid "Kubernetes" +msgstr "Kubernetes" + msgid "Kubernetes Cluster" -msgstr "" +msgstr "Кластер Kubernetes" msgid "Kubernetes cluster creation time exceeds timeout; %{timeout}" -msgstr "" +msgstr "Время создания кластера Kubernetes превышает время ожидания; %{timeout}" msgid "Kubernetes cluster integration was not removed." -msgstr "" +msgstr "Интеграция кластера Кубернете не была удалена." msgid "Kubernetes cluster integration was successfully removed." -msgstr "" +msgstr "Интеграция кластера Kubernetes была успешно удалена." msgid "Kubernetes cluster was successfully updated." -msgstr "" +msgstr "Кластер Kubernetes был успешно обновлён." msgid "Kubernetes configured" -msgstr "" +msgstr "Kubernetes настроен" msgid "Kubernetes service integration has been deprecated. %{deprecated_message_content} your Kubernetes clusters using the new Kubernetes Clusters page" msgstr "" @@ -2090,12 +2503,30 @@ msgstr "Отключено" msgid "LFSStatus|Enabled" msgstr "Включено" +msgid "Label" +msgstr "Метка" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "Метки" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "Последний %d день" @@ -2155,10 +2586,13 @@ msgid "License" msgstr "Лицензия" msgid "List" +msgstr "Список" + +msgid "List your GitHub repositories" msgstr "" msgid "Loading the GitLab IDE..." -msgstr "" +msgstr "Загрузка GitLab IDE..." msgid "Lock" msgstr "Блокировка" @@ -2169,9 +2603,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "Заблокировано" @@ -2187,9 +2618,21 @@ msgstr "Войти" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "Мар." @@ -2211,6 +2654,9 @@ msgstr "Среднее" msgid "Members" msgstr "Участники" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "Запросы на Слияние" @@ -2223,15 +2669,87 @@ msgstr "Запрос на слияние" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "Сообщения" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2247,6 +2765,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "добавить ключ SSH" @@ -2259,6 +2786,9 @@ msgstr "" msgid "Monitoring" msgstr "Мониторинг" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2335,6 +2865,9 @@ msgstr "Новая подгруппа" msgid "New tag" msgstr "Новый тег" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2353,6 +2886,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "Нет репозитория" @@ -2368,6 +2904,12 @@ msgstr "" msgid "Not available" msgstr "Недоступно" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2377,6 +2919,18 @@ msgstr "Недостаточно данных" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "Уведомления о событиях" @@ -2461,6 +3015,12 @@ msgstr "Октябрь" msgid "OfSearchInADropdown|Filter" msgstr "Фильтр" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "Только участники проекта могут оставлять комментарии." @@ -2482,12 +3042,18 @@ msgstr "Настройки" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "Обзор" msgid "Owner" msgstr "Владелец" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "Последняя »" @@ -2500,9 +3066,21 @@ msgstr "Предыдущая" msgid "Pagination|« First" msgstr "« Первая" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "Пароль" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "Сборочная линия" @@ -2584,9 +3162,36 @@ msgstr "Сборочные линии за последний год" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2617,6 +3222,9 @@ msgstr "со стадией" msgid "Pipeline|with stages" msgstr "со стадиями" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2626,6 +3234,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "Пожалуйста, решите reCAPTCHA" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "Предпочтения" @@ -2680,6 +3294,9 @@ msgstr "Ваша учетная запись в настоящее время я msgid "Profiles|your account" msgstr "ваша учетная запись" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2704,9 +3321,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "Детали проекта" @@ -2803,6 +3417,12 @@ msgstr "К сожалению, по вашему запросу проекты msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "Эта функциональность требует поддержки localStorage в вашем браузере" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2815,9 +3435,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "По умолчанию, Prometheus запускается по адресу ‘http://localhost:9090’. Не рекомендуется изменять адрес и порт по умолчанию, так как это может привести к конфликту с другим сервисами запущенными на GitLab сервере." +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "Определение и настройка метрик..." +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2830,20 +3462,14 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "Метрики" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "Метрики автоматически настраиваются и отслеживаются на основе популярных библиотек метрик." - msgid "PrometheusService|Missing environment variable" msgstr "Пропущена переменная окружения" -msgid "PrometheusService|Monitored" -msgstr "Мониторинг подключен" - msgid "PrometheusService|More information" msgstr "Дополнительная информация" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." -msgstr "Ни одной метрики не отслеживается. Для начала мониторинга разверните окружение." +msgid "PrometheusService|New metric" +msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" msgstr "Базовый адрес Prometheus API, например http://prometheus.example.com/" @@ -2851,6 +3477,9 @@ msgstr "Базовый адрес Prometheus API, например http://promet msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2860,8 +3489,17 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" -msgstr "Просмотр окружений" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" +msgstr "" msgid "Protip:" msgstr "" @@ -2896,6 +3534,9 @@ msgstr "Подробнее" msgid "Readme" msgstr "Инструкция" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Ветки" @@ -2929,6 +3570,9 @@ msgstr "Связанные Запросы на Слияние" msgid "Related Merged Requests" msgstr "Связанные Влитые Запросы" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "Напомнить позже" @@ -2944,12 +3588,24 @@ msgstr "Удалить проект" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "Репозиторий" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Запрос доступа" @@ -2963,6 +3619,9 @@ msgid "Reset runners registration token" msgstr "Сбросить ключ регистрации Gitlab Runners" msgid "Resolve discussion" +msgstr "Закрыть дискуссию" + +msgid "Response" msgstr "" msgid "Reveal value" @@ -2978,9 +3637,36 @@ msgstr "Отменить это коммит" msgid "Revert this merge request" msgstr "Отменить этот запрос на слияние" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "SSH Ключи" @@ -2996,6 +3682,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "Расписание новой сборочной линии" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "Расписания" @@ -3005,6 +3694,9 @@ msgstr "Планирование Сборочных Линий" msgid "Scoped issue boards" msgstr "Тематические доски обсуждений" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "Найти ветки и теги" @@ -3068,15 +3760,33 @@ msgstr "Шаблоны Служб" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Установите пароль в своем аккаунте, чтобы отправлять или получать код через %{protocol}." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "Настройка Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "установите пароль" @@ -3086,6 +3796,9 @@ msgstr "Настройки" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3123,6 +3836,18 @@ msgstr "Отсутствует" msgid "Sidebar|Weight" msgstr "Вес" +msgid "Sign-in restrictions" +msgstr "" + +msgid "Sign-up restrictions" +msgstr "" + +msgid "Size and domain settings for static websites" +msgstr "" + +msgid "Slack application" +msgstr "" + msgid "Snippets" msgstr "Сниппеты" @@ -3130,18 +3855,12 @@ msgid "Something went wrong on our end" msgstr "" msgid "Something went wrong on our end." -msgstr "У нас что-то пошло не так." - -msgid "Something went wrong trying to change the confidentiality of this issue" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" -msgstr "Что-то пошло не так при попытке изменения состояния блокировки ${this.issuableDisplayName}" - msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" msgid "Something went wrong while fetching SAST." @@ -3153,12 +3872,6 @@ msgstr "Что-то пошло не так при получении проек msgid "Something went wrong while fetching the registry list." msgstr "Что-то пошло не так при получении списка реестров." -msgid "Something went wrong while reopening the %{issuable}. Please try again later" -msgstr "" - -msgid "Something went wrong while resolving this discussion. Please try again." -msgstr "" - msgid "Something went wrong. Please try again." msgstr "" @@ -3276,12 +3989,21 @@ msgstr "Исходный текст недоступен" msgid "Spam Logs" msgstr "Спам Логи" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "Укажите следующий URL во время настройки Gitlab Runner:" msgid "StarProject|Star" msgstr "Отметить" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "Отмеченные проекты" @@ -3291,6 +4013,15 @@ msgstr "Начать %{new_merge_request} с этих изменений" msgid "Start the Runner!" msgstr "Запустить GitLab Runner!" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "Остановлен" @@ -3303,9 +4034,15 @@ msgstr "Подгруппы" msgid "Switch branch/tag" msgstr "Переключить ветка/тег" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "Системные Обработчики" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3388,6 +4125,9 @@ msgstr "защищенный" msgid "Target Branch" msgstr "Ветка" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "Команда" @@ -3403,15 +4143,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "Этап написания кода показывает время с первого коммита до создания запроса на слияние. Данные автоматически добавятся сюда после того, как вы создать свой первый запрос на слияние." msgid "The collection of events added to the data gathered for that stage." msgstr "Коллекция событий добавленных в данные собранные для этого этапа." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "Связь с ответвлением удалена." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "Стадия обсуждения показывает время, которое потребуется с момента создания обсуждения до назначения обсуждению вехи, или добавления обсуждения на вашу доску задач. Начните создавать обсуждения, чтобы увидеть сведения для этой стадии." @@ -3424,12 +4173,18 @@ msgstr "Количество попыток, которые GitLab будет п msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "Количество сбоев, после которого Gitlab полностью прекратит доступ к хранилищу. Изменение счётчика \"количество сбоев\" может быть произведено через административный интерфейс: %{link_to_health_page} или при помощи API %{api_documentation_link}." +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "Фаза жизненного цикла разработки." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "Этап планирования показывает время от предыдущего шага до отправки первого коммита. Добавляется автоматически, как только отправите свой первый коммит." +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "Производственный этап показывает общее время между созданием обсуждения и развертыванием кода в продуктивной среде. Данные будут автоматически добавлены после полного завершения идеи." @@ -3445,6 +4200,9 @@ msgstr "Репозиторий для этого проекта не сущес msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "Этап обзора показывает время от создания запроса слияния до его выполнения. Данные будут автоматически добавлены после завершения первого запроса на слияние." @@ -3481,6 +4239,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "Проблемы с доступом к Git хранилищу: " +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3512,7 +4273,7 @@ msgid "This is the author's first Merge Request to this project." msgstr "Это первый Запрос на слияние от автора в этот проект." msgid "This issue is confidential" -msgstr "" +msgstr "Это обсуждение является конфиденциальным" msgid "This issue is confidential and locked." msgstr "Это обсуждение конфиденциально и заблокировано." @@ -3553,6 +4314,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "Эти электронные письма автоматически преобразуются в обсуждения (комментарии рассылаются как ветвь обсуждения в почте), перечисленные здесь." @@ -3565,6 +4329,12 @@ msgstr "Время до начала работы над обсуждением" msgid "Time between merge request creation and merge/close" msgstr "Время между созданием запроса слияния и слиянием / закрытием" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3726,6 +4496,36 @@ msgstr "" msgid "Title" msgstr "Заголовок" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3765,23 +4565,17 @@ msgstr "" msgid "Turn on Service Desk" msgstr "Включить Службу Поддержки" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "Разблокировать" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "Разблокировано" msgid "Unresolve discussion" -msgstr "" +msgstr "Переоткрыть дискуссию" msgid "Unstar" msgstr "Снять отметку" @@ -3816,6 +4610,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "кликните для загрузки" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "Используйте Службу поддержки для связи с вашими пользователями (например, для осуществления поддержки клиентов) через электронную почту непосредственно в GitLab" @@ -3825,24 +4625,51 @@ msgstr "Используйте следующий токен регистрац msgid "Use your global notification setting" msgstr "Используются глобальный настройки уведомлений" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "Просмотр файла @ " +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "Просмотреть открытый запрос на слияние" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "Просмотр заменённого файла @ " +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "Ограниченный" @@ -3870,12 +4697,18 @@ msgstr "Мы хотим быть уверены, что это вы, пожал msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "Веб-обработчики позволяют вам вызывать адрес URL если, например, отправлен новый код или создано новое обсуждение. Вы можете настроить веб-обработчики так, чтобы они реагировали на определённые события, такие как отправки кода, обсуждения или запросы на слияние. Групповые веб-обработчики применяются ко всем проектам в группе и позволяют вам стандартизовать функциональность веб-обработчиков для всей вашей группы." msgid "Weight" msgstr "Вес" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "Wiki" @@ -3907,13 +4740,13 @@ msgid "WikiHistoricalPage|This is an old version of this page." msgstr "Это устаревшая версия этой страницы." msgid "WikiHistoricalPage|You can view the %{most_recent_link} or browse the %{history_link}." -msgstr "Вы можете увидеть %{most_recent_link} либо просмотреть %{history_link}." +msgstr "Вы можете увидеть %{most_recent_link}, либо просмотреть %{history_link}." msgid "WikiHistoricalPage|history" -msgstr "история" +msgstr "историю изменений" msgid "WikiHistoricalPage|most recent version" -msgstr "последняя версия" +msgstr "последнюю версию" msgid "WikiMarkdownDocs|More examples are in the %{docs_link}" msgstr "Дополнительные примеры находятся в %{docs_link}" @@ -3996,14 +4829,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "Вы собираетесь удалить %{group_name}. Удаленные группы НЕ МОГУТ быть восстановлены! Вы АБСОЛЮТНО уверены?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "Вы хотите удалить %{project_name_with_namespace}. Удаленный проект НЕ МОЖЕТ быть восстановлен! Вы АБСОЛЮТНО уверены?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "Вы собираетесь удалить связь ответвления с исходным проектом %{forked_from_project}. Вы АБСОЛЮТНО уверены?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "Вы собираетесь передать проект %{project_name_with_namespace} другому владельцу. Вы АБСОЛЮТНО уверены?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4077,9 +4916,27 @@ msgstr "Вы не сможете работать с проектом через msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4095,6 +4952,16 @@ msgstr "Ваше имя" msgid "Your projects" msgstr "Ваши проекты" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + msgid "assign yourself" msgstr "" @@ -4104,12 +4971,30 @@ msgstr "имя ветви" msgid "by" msgstr "по" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4137,9 +5022,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4152,25 +5034,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" -msgstr "коммит" - -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4180,15 +5065,44 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4202,9 +5116,21 @@ msgstr[3] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4217,11 +5143,14 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" msgid "mrWidget|Cancel automatic merge" -msgstr "" +msgstr "Отменить автоматическое слияние" msgid "mrWidget|Check out branch" msgstr "" @@ -4244,18 +5173,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4296,7 +5234,7 @@ msgid "mrWidget|Request to merge" msgstr "" msgid "mrWidget|Resolve conflicts" -msgstr "" +msgstr "Разрешить конфликты" msgid "mrWidget|Revert" msgstr "" @@ -4340,6 +5278,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4380,6 +5321,9 @@ msgstr "пароль" msgid "personal access token" msgstr "токен для персонального доступа" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4389,6 +5333,9 @@ msgstr "исходный текст" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "чтобы помочь участникам взаимодействовать эффективнее!" diff --git a/locale/tr_TR/gitlab.po b/locale/tr_TR/gitlab.po index b4df4c4b1af..6a025dfbae5 100644 --- a/locale/tr_TR/gitlab.po +++ b/locale/tr_TR/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:20-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:35-0400\n" "Last-Translator: gitlab \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -29,6 +29,11 @@ msgid_plural "%d commits behind" msgstr[0] "" msgstr[1] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" +msgstr[1] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -44,6 +49,11 @@ msgid_plural "%d merge requests" msgstr[0] "" msgstr[1] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" +msgstr[1] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "" @@ -60,6 +70,9 @@ msgid_plural "%{count} participants" msgstr[0] "%{count} katılımcı" msgstr[1] "%{count} katılımcı" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -103,15 +116,30 @@ msgstr "İlk katkı!" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "" msgid "Abuse Reports" msgstr "Kötüye Kullanım Raporları" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "Erişim anahtarları" @@ -121,6 +149,9 @@ msgstr "" msgid "Account" msgstr "Hesap" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Etkin" @@ -217,9 +248,33 @@ msgstr "Tümü" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "Kubernetes kümelerini eklemeye ve yönetmenize olanak tanır." +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -298,6 +353,9 @@ msgstr "Kullanıcı adı doğrulanırken bir hata oluştu" msgid "An error occurred. Please try again." msgstr "Bir hata oluştu. Lütfen tekrar deneyin." +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "Görünüm" @@ -331,6 +389,9 @@ msgstr "Emin misiniz?" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "#FF0000 gibi özel renk ata" @@ -343,6 +404,15 @@ msgstr "" msgid "Assign to" msgstr "Ata" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -367,6 +437,9 @@ msgstr "Yazarlar: %{authors}" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -409,6 +482,12 @@ msgstr "Avatar kaldırılacak. Emin misiniz?" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -492,6 +571,15 @@ msgstr "" msgid "Branches" msgstr "" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -537,12 +625,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -588,30 +703,45 @@ msgstr "" msgid "Browse files" msgstr "" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "" -msgid "Cancel edit" +msgid "Cannot be merged automatically" msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "" @@ -666,6 +796,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -768,6 +904,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -867,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -876,6 +1024,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -894,6 +1045,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -927,6 +1081,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -987,6 +1144,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1014,6 +1174,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1138,6 +1301,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1153,9 +1322,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1201,6 +1406,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "" @@ -1264,7 +1475,7 @@ msgstr "" msgid "Create directory" msgstr "" -msgid "Create empty bare repository" +msgid "Create empty repository" msgstr "" msgid "Create epic" @@ -1273,6 +1484,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1297,6 +1511,9 @@ msgstr "" msgid "Create new..." msgstr "" +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "" @@ -1330,6 +1547,9 @@ msgstr "" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "" +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "" @@ -1413,9 +1633,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "" +msgid "Done" +msgstr "" + msgid "Download" msgstr "" @@ -1443,9 +1669,15 @@ msgstr "" msgid "DownloadSource|Download" msgstr "" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "" @@ -1455,6 +1687,18 @@ msgstr "" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1464,6 +1708,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1524,6 +1795,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1599,9 +1873,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1611,6 +1891,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1644,6 +1927,9 @@ msgstr "" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "" @@ -1653,12 +1939,21 @@ msgstr "" msgid "Find file" msgstr "" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "" msgid "FirstPushedBy|pushed by" msgstr "" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "" @@ -1670,9 +1965,15 @@ msgstr "" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "" @@ -1691,12 +1992,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1742,21 +2049,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1769,9 +2103,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1802,6 +2148,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1811,12 +2160,30 @@ msgstr "" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "" @@ -1883,9 +2250,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1916,6 +2280,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "" @@ -1934,6 +2301,15 @@ msgstr "" msgid "HealthCheck|Unhealthy" msgstr "" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1945,10 +2321,37 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" msgstr "" -msgid "Import repository" +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + +msgid "Import repository" +msgstr "" + +msgid "ImportButtons|Connect repositories from" msgstr "" msgid "Improve Issue boards with GitLab Enterprise Edition." @@ -1974,6 +2377,9 @@ msgstr[1] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2028,6 +2434,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2058,12 +2467,30 @@ msgstr "" msgid "LFSStatus|Enabled" msgstr "" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "" @@ -2123,6 +2550,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2135,9 +2565,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2153,9 +2580,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2177,6 +2616,9 @@ msgstr "" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2189,15 +2631,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2213,6 +2727,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "" @@ -2225,6 +2748,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2299,6 +2825,9 @@ msgstr "" msgid "New tag" msgstr "" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2317,6 +2846,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "" @@ -2332,6 +2864,12 @@ msgstr "" msgid "Not available" msgstr "" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2341,6 +2879,18 @@ msgstr "" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "" @@ -2425,6 +2975,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2446,12 +3002,18 @@ msgstr "" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2464,9 +3026,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "" @@ -2548,9 +3122,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2581,6 +3182,9 @@ msgstr "" msgid "Pipeline|with stages" msgstr "" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2590,6 +3194,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2644,6 +3254,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2668,9 +3281,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "" @@ -2767,6 +3377,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2779,9 +3395,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2794,19 +3422,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2815,6 +3437,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2824,7 +3449,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2860,6 +3494,9 @@ msgstr "" msgid "Readme" msgstr "" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "" @@ -2893,6 +3530,9 @@ msgstr "" msgid "Related Merged Requests" msgstr "" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "" @@ -2908,12 +3548,24 @@ msgstr "" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "" @@ -2929,6 +3581,9 @@ msgstr "" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2940,9 +3595,36 @@ msgstr "" msgid "Revert this merge request" msgstr "" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2958,6 +3640,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2967,6 +3652,9 @@ msgstr "" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "" @@ -3030,15 +3718,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "" @@ -3048,6 +3754,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3083,40 +3792,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3236,12 +3945,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "" msgid "StarProject|Star" msgstr "" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3251,6 +3969,15 @@ msgstr "" msgid "Start the Runner!" msgstr "" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3263,9 +3990,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3346,6 +4079,9 @@ msgstr "" msgid "Target Branch" msgstr "" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "" @@ -3361,15 +4097,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "" msgid "The collection of events added to the data gathered for that stage." msgstr "" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "" @@ -3382,12 +4127,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "" @@ -3403,6 +4154,9 @@ msgstr "" msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "" @@ -3439,6 +4193,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3511,6 +4268,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3523,6 +4283,12 @@ msgstr "" msgid "Time between merge request creation and merge/close" msgstr "" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3680,6 +4446,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3719,18 +4515,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3770,6 +4560,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3779,24 +4575,51 @@ msgstr "" msgid "Use your global notification setting" msgstr "" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "" @@ -3824,12 +4647,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3950,13 +4779,19 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." msgstr "" msgid "You can also create a project from the command line." @@ -4031,9 +4866,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4049,6 +4902,14 @@ msgstr "" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + msgid "assign yourself" msgstr "" @@ -4058,12 +4919,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4091,9 +4970,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4106,25 +4982,28 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" @@ -4132,15 +5011,40 @@ msgid_plural "days" msgstr[0] "" msgstr[1] "" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4152,9 +5056,21 @@ msgstr[1] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4167,6 +5083,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4194,18 +5113,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4290,6 +5218,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4328,6 +5259,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4337,6 +5271,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/uk/gitlab.po b/locale/uk/gitlab.po index 44dbbe8141b..2c7d3751531 100644 --- a/locale/uk/gitlab.po +++ b/locale/uk/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:20-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:35-0400\n" "Last-Translator: gitlab \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -33,6 +33,13 @@ msgstr[1] "%d коміта позаду" msgstr[2] "%d комітів позаду" msgstr[3] "%d комітів позаду" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "%d експортер" +msgstr[1] "%d експортера" +msgstr[2] "%d експортерів" +msgstr[3] "%d експортерів" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "%d проблема" @@ -54,12 +61,19 @@ msgstr[1] "%d запита на злиття" msgstr[2] "%d запитів на злиття" msgstr[3] "%d запитів на злиття" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "%d метрика" +msgstr[1] "%d метрики" +msgstr[2] "%d метрик" +msgstr[3] "%d метрик" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." -msgstr[0] "%s доданий коміт був виключений для запобігання проблем із швидкодією." -msgstr[1] "%s доданих коміта були виключені для запобігання проблем із швидкодією." -msgstr[2] "%s доданих комітів були виключені для запобігання проблем із швидкодією." -msgstr[3] "%s доданих комітів були виключені для запобігання проблем із швидкодією." +msgstr[0] "%s доданий коміт був виключений для запобігання проблем із продуктивністю." +msgstr[1] "%s доданих коміта були виключені для запобігання проблем із продуктивністю." +msgstr[2] "%s доданих комітів були виключені для запобігання проблем із продуктивністю." +msgstr[3] "%s доданих комітів були виключені для запобігання проблем із продуктивністю." msgid "%{actionText} & %{openOrClose} %{noteable}" msgstr "%{actionText} і %{openOrClose} %{noteable}" @@ -74,6 +88,9 @@ msgstr[1] "%{count} участника" msgstr[2] "%{count} участників" msgstr[3] "%{count} участників" +msgid "%{loadingIcon} Started" +msgstr "%{loadingIcon} Початок" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "%{lock_path} заблоковано користувачем GitLab %{lock_user_id}" @@ -121,15 +138,30 @@ msgstr "Перший внесок!" msgid "2FA enabled" msgstr "Двоетапна аутентифікація увімкнена" +msgid "Removes source branch" +msgstr "Видаляє гілку-джерело" + msgid "A collection of graphs regarding Continuous Integration" msgstr "Набір графіків відносно безперервної інтеграції" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "У вашому форку буде створено нову гілку, а також буде ініційований новий запит на злиття." + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "Проект — це місце де ви можете розміщувати свої файли (репозиторій), планувати роботу (проблеми) і публікувати документацію (wiki), %{among_other_things_link}." + +msgid "A user with write access to the source branch selected this option" +msgstr "Користувач із правом запису в гілку-джерело вибрав цей варіант" + msgid "About auto deploy" msgstr "Про авто розгортання" msgid "Abuse Reports" msgstr "Звіти про зловживання" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "Токени доступу" @@ -139,6 +171,9 @@ msgstr "Доступ до сховищ, що вийшли з ладу, тимч msgid "Account" msgstr "Обліковий запис" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "Активний" @@ -235,9 +270,33 @@ msgstr "Всі" msgid "All changes are committed" msgstr "Всі зміни закомічені" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "Всі функції для нових проектів беруться із шаблонів або під час імпортування, але ви можете вимикати їх пізніше в налаштуваннях проекту." + +msgid "Allow edits from maintainers." +msgstr "Дозволити редагування командою проекту." + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "Дозволяє додавати та керувати кластерами Kubernetes." +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "Крім того, ви можете використовувати %{personal_access_token_link}. Коли ви створюватимете свій персональний токен доступу, вам потрібно буде вибрати область репозиторія, щоб ми могли відобразити список ваших публічних та приватних репозиторіїв, доступних для імпорту." + msgid "An error occurred previewing the blob" msgstr "Сталася помилка під час попереднього перегляду об'єкта" @@ -251,10 +310,10 @@ msgid "An error occurred while adding approver" msgstr "Помилка при додаванні учасника для затвердження" msgid "An error occurred while detecting host keys" -msgstr "" +msgstr "Сталася помилка при виявленні ключів хоста" msgid "An error occurred while dismissing the feature highlight. Refresh the page and try dismissing again." -msgstr "" +msgstr "Сталася помилка при вимкненні повідомлення про функцію. Оновіть сторінку і спробуйте знову." msgid "An error occurred while fetching markdown preview" msgstr "Сталася помилка при попередньому перегляді markdown" @@ -296,7 +355,7 @@ msgid "An error occurred while rendering KaTeX" msgstr "Сталася помилка при рендерингу KaTeX" msgid "An error occurred while rendering preview broadcast message" -msgstr "" +msgstr "Помилка при попередньому перегляді оголошення для користувачів" msgid "An error occurred while retrieving calendar activity" msgstr "Сталася помилка при отриманні календаря активності" @@ -305,10 +364,10 @@ msgid "An error occurred while retrieving diff" msgstr "Сталася помилка при отриманні різниці" msgid "An error occurred while saving LDAP override status. Please try again." -msgstr "" +msgstr "Помилка при збереженні статусу перевизначення LDAP. Будь ласка, спробуйте ще раз." msgid "An error occurred while saving assignees" -msgstr "" +msgstr "Помилка при збереженні виконавців" msgid "An error occurred while validating username" msgstr "Сталася помилка під час перевірки імені користувача" @@ -316,6 +375,9 @@ msgstr "Сталася помилка під час перевірки імен msgid "An error occurred. Please try again." msgstr "Сталась помилка. Спробуйте ще раз." +msgid "Any Label" +msgstr "Будь-яка мітка" + msgid "Appearance" msgstr "Зовнішній вигляд" @@ -335,10 +397,10 @@ msgid "Are you sure you want to delete this pipeline schedule?" msgstr "Ви впевнені, що хочете видалити цей розклад для конвеєра?" msgid "Are you sure you want to reset registration token?" -msgstr "Ви впевнені, що бажаєте скинути реєстраційний токен?" +msgstr "Ви впевнені, що бажаєте перегенерувати реєстраційний токен?" msgid "Are you sure you want to reset the health check token?" -msgstr "Ви впевнені, що хочете скинути цей ключ перевірки працездатності?" +msgstr "Ви впевнені, що Ви хочете перегенерувати цей ключ перевірки працездатності?" msgid "Are you sure you want to unlock %{path_lock_path}?" msgstr "Ви впевнені, що хочете розблокувати %{path_lock_path}?" @@ -349,6 +411,9 @@ msgstr "Ви впевнені?" msgid "Artifacts" msgstr "Артефакти" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "Призначити власний колір типу #FF0000" @@ -361,6 +426,15 @@ msgstr "Призначити етап" msgid "Assign to" msgstr "Призначити" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "Виконавець" @@ -385,6 +459,9 @@ msgstr "Автори: %{authors}" msgid "Auto DevOps enabled" msgstr "Auto DevOps увімкнено" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "Для коректної роботи Auto Review Apps та Auto Deploy необхіден %{kubernetes}." @@ -398,7 +475,7 @@ msgid "AutoDevOps|Auto DevOps (Beta)" msgstr "Auto DevOps (бета)" msgid "AutoDevOps|Auto DevOps documentation" -msgstr "Auto DevOps документація" +msgstr "Auto DevOps документації" msgid "AutoDevOps|Enable in settings" msgstr "Включити в налаштуваннях" @@ -419,7 +496,7 @@ msgid "AutoDevOps|enable Auto DevOps (Beta)" msgstr "Увімкнути Auto DevOps (Beta)" msgid "Available" -msgstr "Доступний" +msgstr "Доступно" msgid "Avatar will be removed. Are you sure?" msgstr "Аватар буде видалено. Ви впевнені?" @@ -427,6 +504,12 @@ msgstr "Аватар буде видалено. Ви впевнені?" msgid "Average per day: %{average}" msgstr "В середньому за день: %{average}" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "Почати із виділеного коміту" @@ -512,6 +595,15 @@ msgstr "Перейти в гілку" msgid "Branches" msgstr "Гілки" +msgid "Branches|Active" +msgstr "Активні" + +msgid "Branches|Active branches" +msgstr "Активні гілки" + +msgid "Branches|All" +msgstr "Всі" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "Не можу знайти HEAD-коміт для цієї гілки" @@ -557,12 +649,39 @@ msgstr "Як тільки ви підтвердите і натиснете %{de msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "Тільки керівник або власник проекту може видалити захищену гілку" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" -msgstr "Керувати захищеними гілками можливо в %{project_settings_link}" +msgid "Branches|Overview" +msgstr "Огляд" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "Керувати захищеними гілками можливо в %{project_settings_link}." + +msgid "Branches|Show active branches" +msgstr "Показувати активні гілки" + +msgid "Branches|Show all branches" +msgstr "Показувати всі гілки" + +msgid "Branches|Show more active branches" +msgstr "Показати більше активних гілок" + +msgid "Branches|Show more stale branches" +msgstr "Показати більше застарілих гілок" + +msgid "Branches|Show overview of the branches" +msgstr "Показати опис гілок" + +msgid "Branches|Show stale branches" +msgstr "Показати застарілі гілки" msgid "Branches|Sort by" msgstr "Сортувати за" +msgid "Branches|Stale" +msgstr "Застарілі" + +msgid "Branches|Stale branches" +msgstr "Застарілі гілки" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "Гілка не може бути оновлена автоматично, тому що вона має розбіжності із upstream." @@ -608,30 +727,45 @@ msgstr "Перегляд файлів" msgid "Browse files" msgstr "Перегляд файлів" +msgid "Business" +msgstr "Бізнес" + msgid "ByAuthor|by" msgstr "від" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "CI/CD" + msgid "CI/CD configuration" msgstr "Налаштування CI/CD" +msgid "CI/CD for external repo" +msgstr "CI/CD для зовнішнього репозиторія" + msgid "CICD|Jobs" msgstr "Завдання" msgid "Cancel" msgstr "Скасувати" -msgid "Cancel edit" -msgstr "Відмінити правку" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "Неможливо змінити керований кластер Kubernetes" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "Вага зміни" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "Вибрати в гілці" @@ -651,7 +785,7 @@ msgid "Changelog" msgstr "Список змін" msgid "Changes are shown as if the source revision was being merged into the target revision." -msgstr "" +msgstr "Зміни відображаються так, ніби редакція-джерело була злита в цільову редакцію." msgid "Charts" msgstr "Графіки" @@ -686,6 +820,12 @@ msgstr "Виберіть файл..." msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "Виберіть групи для синхронізації на цей вторинний вузол." +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "Виберіть, які репозиторії ви хочете підключити і запустити конвеєри CI/CD." + +msgid "Choose which repositories you want to import." +msgstr "Виберіть, які репозиторії ви хочете імпортувати." + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "Виберіть сегменти для синхронізації на цей вторинний вузол." @@ -788,6 +928,15 @@ msgstr "Натисніть кнопку нижче, щоб розпочати п msgid "Click to expand text" msgstr "Натисніть, щоб розгорнути текст" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "Клонувати репозиторій" @@ -834,7 +983,7 @@ msgid "ClusterIntegration|Control how your Kubernetes cluster integrates with Gi msgstr "Керуйте способом інтеграції вашого Kubernetes-кластера з GitLab" msgid "ClusterIntegration|Copy API URL" -msgstr "Скопіювати URL API" +msgstr "Скопіювати API URL" msgid "ClusterIntegration|Copy CA Certificate" msgstr "Скопіювати сертифікат центру сертифікації" @@ -887,6 +1036,9 @@ msgstr "Проект Google Kubernetes Engine" msgid "ClusterIntegration|Helm Tiller" msgstr "Helm Tiller" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "Для того, щоб показувати стан кластера, нам потрібно буде встановити Prometheus на ваш кластер для збору необхідних даних." + msgid "ClusterIntegration|Ingress" msgstr "Ingress" @@ -896,6 +1048,9 @@ msgstr "Ingress IP-адреса" msgid "ClusterIntegration|Install" msgstr "Встановити" +msgid "ClusterIntegration|Install Prometheus" +msgstr "Встановити Prometheus" + msgid "ClusterIntegration|Installed" msgstr "Встановлений" @@ -914,6 +1069,9 @@ msgstr "Kubernetes-кластер" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "Параметри Kubernetes-кластера" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "Стан Kubernetes-кластера" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "Інтеграція із Kubernetes-кластером" @@ -947,6 +1105,9 @@ msgstr "Дізнайтеся більше про %{link_to_documentation}" msgid "ClusterIntegration|Learn more about environments" msgstr "Дізнайтеся більше про середовища" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "Дізнайтеся більше про конфігурацію безпеки" + msgid "ClusterIntegration|Machine type" msgstr "Тип машини" @@ -1007,6 +1168,9 @@ msgstr "Запит про початок встановлення не вико msgid "ClusterIntegration|Save changes" msgstr "Зберегти зміни" +msgid "ClusterIntegration|Security" +msgstr "Безпека" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "Переглянути та редагувати параметри вашого Kubernetes-кластера" @@ -1034,6 +1198,9 @@ msgstr "Помилка при створенні вашого Kubernetes-кла msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "Під час встановлення %{title} сталася помилка" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "Стандартна конфігурація кластера надає доступ до широкого набору функцій, необхідних для успішного створення та розгортання застосунків-контейнерів." + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "Цей обліковий запис повинен мати наступні права для створення Kubernetes-кластера в %{link_to_container_project}" @@ -1080,10 +1247,10 @@ msgid "Collapse" msgstr "Згорнути" msgid "Comment and resolve discussion" -msgstr "" +msgstr "Залишити коментар і завершити обговорення" msgid "Comment and unresolve discussion" -msgstr "" +msgstr "Залишити коментар і повторно відкрити обговорення" msgid "Comments" msgstr "Коментарі" @@ -1162,6 +1329,12 @@ msgstr "Порівняти Git-редакції" msgid "Compare Revisions" msgstr "Порівняння редакцій" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "%{source_branch} і %{target_branch} однакові." @@ -1177,9 +1350,45 @@ msgstr "Ціль" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "Конфіденційність" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "Підключити" + +msgid "Connect all repositories" +msgstr "Підключити всі репозиторії" + +msgid "Connect repositories from GitHub" +msgstr "Підключити репозиторії з GitHub" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "Підключіть ваші зовнішні репозиторії, і CI/CD конвеєри будуть запускатися для нових комітів. Створений GitLab-проект буде мати лише CI/CD фунції." + +msgid "Connecting..." +msgstr "З'єднання..." + msgid "Container Registry" msgstr "Реєстр Контейнерів" @@ -1225,6 +1434,12 @@ msgstr "Використовуйте різні імена образів" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "За допомогою вбудованого в GitLab реєстру Docker контейнерів кожен проект може мати власне місце для зберігання Docker образів." +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "Внесок" + msgid "Contribution guide" msgstr "Інструкція для учасників" @@ -1288,8 +1503,8 @@ msgstr "Створити гілку" msgid "Create directory" msgstr "Створити каталог" -msgid "Create empty bare repository" -msgstr "Створити порожній репозиторій" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "Створити епік" @@ -1297,6 +1512,9 @@ msgstr "Створити епік" msgid "Create file" msgstr "Створити файл" +msgid "Create group label" +msgstr "Створити мітку групи" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "Створити список на остнові міток. В ньому будуть проблеми з такими мітками." @@ -1321,6 +1539,9 @@ msgstr "Створити нову мітку" msgid "Create new..." msgstr "Створити..." +msgid "Create project label" +msgstr "Створити мітку проекту" + msgid "CreateNewFork|Fork" msgstr "Форк" @@ -1354,6 +1575,9 @@ msgstr "Користувацькі налаштування повідомлен msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "Спеціальні рівні повідомлення співпадають з рівнем участі. За допомогою спеціальних рівнів сповіщень ви також отримуватимете сповіщення про вибрані події. Щоб дізнатись більше, перегляньте %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "Аналіз циклу" @@ -1391,7 +1615,7 @@ msgid "December" msgstr "грудень" msgid "Default classification label" -msgstr "" +msgstr "Мітка класифікації за замовчуванням" msgid "Define a custom pattern with cron syntax" msgstr "Визначте власний шаблон за допомогою синтаксису cron" @@ -1437,11 +1661,17 @@ msgid "Dismiss Cycle Analytics introduction box" msgstr "Відмінити блок вступу до Аналитики Циклу" msgid "Dismiss Merge Request promotion" -msgstr "Відхилити рекламу для Запитів на злиття" +msgstr "Вимкнути рекламу для Запитів на злиття" + +msgid "Documentation for popular identity providers" +msgstr "" msgid "Don't show again" msgstr "Не показувати знову" +msgid "Done" +msgstr "Готово" + msgid "Download" msgstr "Завантажити" @@ -1469,9 +1699,15 @@ msgstr "Просте порівняння (diff)" msgid "DownloadSource|Download" msgstr "Завантажити" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "Запланована дата завершення" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "Редагувати" @@ -1479,6 +1715,18 @@ msgid "Edit Pipeline Schedule %{id}" msgstr "Редагувати Розклад Конвеєра %{id}" msgid "Edit files in the editor and commit changes here" +msgstr "Редагуйте файли в редакторі і закомітьте зміни тут" + +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" msgstr "" msgid "Emails" @@ -1490,6 +1738,33 @@ msgstr "Увімкнути" msgid "Enable Auto DevOps" msgstr "Увімкнути Auto DevOps" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "Виникла помилка при завантаженні середовищ." @@ -1550,11 +1825,14 @@ msgstr "План-графік епіків" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "Епіки дозволяють керувати вашим портфелем проектів ефективніше та з меншими зусиллями" -msgid "Error checking branch data. Please try again." +msgid "Error Reporting and Logging" msgstr "" +msgid "Error checking branch data. Please try again." +msgstr "Помилка при отриманні даних гілки. Будь ласка, спробуйте пізніше." + msgid "Error committing changes. Please try again." -msgstr "" +msgstr "Помилка при коміті змін. Будь ласка, спробуйте пізніше." msgid "Error creating epic" msgstr "Помилка при створенні епіку" @@ -1566,13 +1844,13 @@ msgid "Error fetching labels." msgstr "Помилка завантаження міток." msgid "Error fetching network graph." -msgstr "" +msgstr "Помилка при отриманні графа мережі." msgid "Error fetching refs" -msgstr "" +msgstr "Помилка завантаження refs" msgid "Error fetching usage ping data." -msgstr "" +msgstr "Помилка при отриманні данних по перевірці з’єднання." msgid "Error occurred when toggling the notification subscription" msgstr "Сталася помилка під час підключення підписки на сповіщення" @@ -1623,22 +1901,31 @@ msgid "Explore public groups" msgstr "Переглянути публічні групи" msgid "External Classification Policy Authorization" +msgstr "Авторизація відповідно до зовнішньої політики" + +msgid "External authentication" msgstr "" msgid "External authorization denied access to this project" +msgstr "Зовнішня авторизація заборонила доступ до цього проекту" + +msgid "External authorization request timeout" msgstr "" msgid "ExternalAuthorizationService|Classification Label" -msgstr "" +msgstr "Мітка класифікації" msgid "ExternalAuthorizationService|Classification label" -msgstr "" +msgstr "Мітка класифікації" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." -msgstr "" +msgstr "Якщо класифікаційну мітку не встановлено, використовуватиметься стандартна мітка `%{default_label}`." + +msgid "Failed" +msgstr "Невдало" msgid "Failed Jobs" -msgstr "Невдалі Завдання" +msgstr "" msgid "Failed to change the owner" msgstr "Не вдалося змінити власника" @@ -1670,6 +1957,9 @@ msgstr "Файли" msgid "Files (%{human_size})" msgstr "Файли (%{human_size})" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "Фільтрувати за коміт-повідомленням" @@ -1679,12 +1969,21 @@ msgstr "Пошук по шляху" msgid "Find file" msgstr "Знайти файл" +msgid "Finished" +msgstr "Завершено" + msgid "FirstPushedBy|First" msgstr "Перший" msgid "FirstPushedBy|pushed by" msgstr "відправлено" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "Форк" @@ -1698,9 +1997,15 @@ msgstr "Форк від" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "Форк із %{project_name} (видалено)" +msgid "Forking in progress" +msgstr "Відбувається створення форку" + msgid "Format" msgstr "Формат" +msgid "From %{provider_title}" +msgstr "З %{provider_title}" + msgid "From issue creation until deploy to production" msgstr "З моменту створення проблеми до розгортання на production" @@ -1708,7 +2013,7 @@ msgid "From merge request merge until deploy to production" msgstr "Від виконання запиту на злиття до розгортання на production" msgid "From the Kubernetes cluster details view, install Runner from the applications list" -msgstr "" +msgstr "Із сторінки деталей Kubernetes-кластера, встановіть runner зі списку застосунків" msgid "GPG Keys" msgstr "GPG ключі" @@ -1719,12 +2024,18 @@ msgstr "Створити стандартний набір міткок" msgid "Geo Nodes" msgstr "Гео-Вузли" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "Вузол не працює або зламаний." msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "Вузол працює повільно, перевантажений або тільки що відновився після збою." +msgid "GeoNodes|Checksummed" +msgstr "Із контрольною сумою" + msgid "GeoNodes|Database replication lag:" msgstr "Затримка реплікації бази даних:" @@ -1770,21 +2081,48 @@ msgstr "Артефакти локальних завдань:" msgid "GeoNodes|New node" msgstr "Новий вузол" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "Аутентифікацію вузла успішно полагоджено." + +msgid "GeoNodes|Node was successfully removed." +msgstr "Вузол успішно видалено." + +msgid "GeoNodes|Not checksummed" +msgstr "Без контрольної суми" + msgid "GeoNodes|Out of sync" msgstr "Розсинхронізовані" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "Видалення вузла зупиняє процес синхронізації. Ви впевнені?" + msgid "GeoNodes|Replication slot WAL:" msgstr "Слот реплікації WAL:" msgid "GeoNodes|Replication slots:" msgstr "Слоти реплікації:" +msgid "GeoNodes|Repositories checksummed:" +msgstr "Репозиторії із контрольними сумами:" + msgid "GeoNodes|Repositories:" msgstr "Репозиторії:" +msgid "GeoNodes|Repository checksums verified:" +msgstr "Репозиторії із підтвердженою контрольною сумою:" + msgid "GeoNodes|Selective" msgstr "Вибіркові" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "Проблема при зміні статуса вузла" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "Проблема при видаленні вузла" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "Проблема при полагодженні вузла" + msgid "GeoNodes|Storage config:" msgstr "Конфігурація сховища:" @@ -1797,9 +2135,21 @@ msgstr "Синхронізовано" msgid "GeoNodes|Unused slots" msgstr "Невикористані слоти" +msgid "GeoNodes|Unverified" +msgstr "Непідтверджені" + msgid "GeoNodes|Used slots" msgstr "Використані слоти" +msgid "GeoNodes|Verified" +msgstr "Підтверджені" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "Wiki репозиторії із підтвердженою контрольною сумою:" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "Wiki із контрольною сумою:" + msgid "GeoNodes|Wikis:" msgstr "Wiki:" @@ -1830,6 +2180,9 @@ msgstr "Виберіть групи для реплікації." msgid "Geo|Shards to synchronize" msgstr "Сегменти для синхронізації" +msgid "Git repository URL" +msgstr "URL Git-репозиторія" + msgid "Git revision" msgstr "Git-редакція" @@ -1839,12 +2192,30 @@ msgstr "Інформація про статус зберігання Git бул msgid "Git version" msgstr "Git-версія" +msgid "GitHub import" +msgstr "GitHub-імпорт" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "Розділ GitLab Runner" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "Сервери Gitaly" +msgid "Go back" +msgstr "Повернутися" + msgid "Go to your fork" msgstr "Перейти до вашого форку" @@ -1911,9 +2282,6 @@ msgstr "Групи не знайдені" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "Ви можете керувати правами доступу членів групи мати доступ до кожного проекту в ній." -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "Ви впевнені, що хочете залишити групу \"${group.fullName}\"?" - msgid "GroupsTree|Create a project in this group." msgstr "Створити проект у групі." @@ -1944,6 +2312,9 @@ msgstr "На жаль жодна группа чи проект не задов msgid "Have your users email" msgstr "Електронна пошта для звертань користувачів" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "Перевірка Працездатності" @@ -1962,6 +2333,15 @@ msgstr "Проблем із здоров'ям не виявлено" msgid "HealthCheck|Unhealthy" msgstr "Нездоровий" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "Сховати значення" @@ -1975,12 +2355,39 @@ msgstr "Історія" msgid "Housekeeping successfully started" msgstr "Очищення успішно розпочато" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "При використанні GitHub, ви побачите статуси конвеєрів для комітів і запитів на злиття. %{more_info_link}" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "Якщо у вас уже є файли, ви можете відправити їх за допомогою %{link_to_cli} нижче." +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "Якщо ваш HTTP-репозиторій не є публічним, додайте дані для аутентифікації до URL: https://username:password@gitlab.company.com/group/project.git." + +msgid "Import" +msgstr "Імпорт" + +msgid "Import all repositories" +msgstr "Імпорт всіх репозиторіїв" + +msgid "Import in progress" +msgstr "Імпорт триває" + +msgid "Import repositories from GitHub" +msgstr "Імпорт репозиторіїв з GitHub" + msgid "Import repository" msgstr "Імпорт репозиторію" +msgid "ImportButtons|Connect repositories from" +msgstr "Підключити репозиторії із" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "Покращити дошки обговорень проблем за допомогою версії GitLab Enterprise Edition." @@ -2006,6 +2413,9 @@ msgstr[3] "Інстансів" msgid "Instance does not support multiple Kubernetes clusters" msgstr "Цей інстанс не підтримує декілька Kubernetes-кластерів" +msgid "Integrations" +msgstr "Інтеграції" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "Зацікавлені сторони за бажанням можуть навіть робити внески шляхом відправлення комітів." @@ -2060,6 +2470,9 @@ msgstr "чер." msgid "June" msgstr "червень" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "Kubernetes" @@ -2082,7 +2495,7 @@ msgid "Kubernetes configured" msgstr "Kubernetes налаштовано" msgid "Kubernetes service integration has been deprecated. %{deprecated_message_content} your Kubernetes clusters using the new Kubernetes Clusters page" -msgstr "" +msgstr "Спосіб Інтеграції Kubernetes як сервіса застарів. %{deprecated_message_content} ваші Kubernetes-кластери за допомогою нової сторінки Кластери Kubernetes" msgid "LFSStatus|Disabled" msgstr "Вимкнено" @@ -2090,12 +2503,30 @@ msgstr "Вимкнено" msgid "LFSStatus|Enabled" msgstr "Увімкнено" +msgid "Label" +msgstr "Мітка" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "%{firstLabelName} + %{remainingLabelCount} ще" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "%{labelsString} і %{remainingLabelCount} ще" + msgid "Labels" msgstr "Мітки" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "Мітки можуть бути застосовані до %{features}. Групові мітки доступні для будь-якого проекту в межах групи." + msgid "Labels can be applied to issues and merge requests to categorize them." +msgstr "Мітки можуть бути застосовані до проблем та запитів на злиття для їх категоризації." + +msgid "Labels|Promote label %{labelTitle} to Group Label?" msgstr "" +msgid "Labels|Promote Label" +msgstr "Підвищити мітку" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "Останній %d день" @@ -2157,6 +2588,9 @@ msgstr "Ліцензія" msgid "List" msgstr "Список" +msgid "List your GitHub repositories" +msgstr "Список ваших репозиторіїв GitHub" + msgid "Loading the GitLab IDE..." msgstr "Завантаження IDE GitLab..." @@ -2169,9 +2603,6 @@ msgstr "Заблокувати %{issuableDisplayName}" msgid "Lock not found" msgstr "Блокування не знайдено" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "Заблокувати цю %{issuableDisplayName}? Лише члени проекту зможуть коментувати." - msgid "Locked" msgstr "Заблоковано" @@ -2187,9 +2618,21 @@ msgstr "Вхід" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "Зробіть кожного учасника команди більш продуктивним незалежно від його місцезнаходження. GitLab Geo створює копії \"тільки для читання\" вашого GitLab сервера, щоб скоротити час для клонування і отримання коду з великих репозиторіїв." +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "Керування мітками групи" + msgid "Manage labels" msgstr "Керувати мітками" +msgid "Manage project labels" +msgstr "Керування мітками проекту" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "бер." @@ -2211,6 +2654,9 @@ msgstr "Медіана" msgid "Members" msgstr "Користувачі" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "Запити на злиття" @@ -2221,33 +2667,114 @@ msgid "Merge request" msgstr "Запит на злиття" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" -msgstr "" - -msgid "MergeRequest|Approved" -msgstr "Затверджено" +msgstr "Запит на злиття — це спосіб запропонувати свої зміни до проекту і обговорити їх із іншими" msgid "Merged" -msgstr "Злиті" +msgstr "Злито" msgid "Messages" msgstr "Повідомлення" -msgid "Milestone" -msgstr "Етап" +msgid "Metrics - Influx" +msgstr "" -msgid "Milestones|Delete milestone" -msgstr "Видалити етап" +msgid "Metrics - Prometheus" +msgstr "" -msgid "Milestones|Delete milestone %{milestoneTitle}?" -msgstr "Видалити етап %{milestoneTitle}?" +msgid "Metrics|Business" +msgstr "Бізнес" -msgid "Milestones|Failed to delete milestone %{milestoneTitle}" -msgstr "Не вдалося видалити етап %{milestoneTitle}" +msgid "Metrics|Create metric" +msgstr "Створити метрику" -msgid "Milestones|Milestone %{milestoneTitle} was not found" -msgstr "Етап %{milestoneTitle} не знайдено" +msgid "Metrics|Edit metric" +msgstr "Редагувати метрику" -msgid "MissingSSHKeyWarningLink|add an SSH key" +msgid "Metrics|For grouping similar metrics" +msgstr "Для групування подібних метрик" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "Назва вертикальної осі графіка. Зазвичай це — одиниці вимірювання. Горизонтальна вісь (вісь X) завжди відображає час." + +msgid "Metrics|Legend label (optional)" +msgstr "Заголовок легенди (необов’язковий)" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "Має бути коректним запитом PromQL." + +msgid "Metrics|Name" +msgstr "Ім'я" + +msgid "Metrics|New metric" +msgstr "Нова метрика" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "Документація по запитам Prometheus" + +msgid "Metrics|Query" +msgstr "Запит" + +msgid "Metrics|Response" +msgstr "Відповідь" + +msgid "Metrics|System" +msgstr "Система" + +msgid "Metrics|Type" +msgstr "Тип" + +msgid "Metrics|Unit label" +msgstr "Одиниці вимірювання" + +msgid "Metrics|Used as a title for the chart" +msgstr "Використовується як заголовок графіка" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "Використовується, якщо запит повертає єдину послідовність. Якщо ж він повертає декілька, їх назви беруться із відповіді." + +msgid "Metrics|Y-axis label" +msgstr "Назва осі Y" + +msgid "Metrics|e.g. HTTP requests" +msgstr "напр. HTTP-запити" + +msgid "Metrics|e.g. Requests/second" +msgstr "напр. запитів/сек" + +msgid "Metrics|e.g. Throughput" +msgstr "напр. пропускна здатність" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "напр. rate(http_requests_total[5m])" + +msgid "Metrics|e.g. req/sec" +msgstr "напр. зап/сек" + +msgid "Milestone" +msgstr "Етап" + +msgid "Milestones|Delete milestone" +msgstr "Видалити етап" + +msgid "Milestones|Delete milestone %{milestoneTitle}?" +msgstr "Видалити етап %{milestoneTitle}?" + +msgid "Milestones|Failed to delete milestone %{milestoneTitle}" +msgstr "Не вдалося видалити етап %{milestoneTitle}" + +msgid "Milestones|Milestone %{milestoneTitle} was not found" +msgstr "Етап %{milestoneTitle} не знайдено" + +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "Підвищити %{milestoneTitle} до групового етапу?" + +msgid "Milestones|Promote Milestone" +msgstr "Підвищити Етап" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + +msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "не додасте SSH ключ" msgid "Modal|Cancel" @@ -2259,6 +2786,9 @@ msgstr "Закрити" msgid "Monitoring" msgstr "Моніторинг" +msgid "More info" +msgstr "Детальніше" + msgid "More information" msgstr "Детальніше" @@ -2335,6 +2865,9 @@ msgstr "Нова підгрупа" msgid "New tag" msgstr "Новий тег" +msgid "No Label" +msgstr "Без Мітки" + msgid "No assignee" msgstr "Немає виконавця" @@ -2342,7 +2875,7 @@ msgid "No changes" msgstr "Немає змін" msgid "No connection could be made to a Gitaly Server, please check your logs!" -msgstr "" +msgstr "Неможливо з'єднатись із сервером Gitaly, будь ласка, перевірте логи!" msgid "No due date" msgstr "Немає" @@ -2353,6 +2886,9 @@ msgstr "Немає запланованого або витраченого ча msgid "No file chosen" msgstr "Файл не вибрано" +msgid "No labels created yet." +msgstr "Мітки ще не створені." + msgid "No repository" msgstr "Немає репозиторію" @@ -2368,6 +2904,12 @@ msgstr "Злиття не допускається" msgid "Not available" msgstr "Недоступний" +msgid "Not available for private projects" +msgstr "Недоступно для приватних проектів" + +msgid "Not available for protected branches" +msgstr "Недоступно для захищених гілок" + msgid "Not confidential" msgstr "Не конфіденційно" @@ -2377,6 +2919,18 @@ msgstr "Недостатньо даних" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "Майте на увазі, що гілка master захищена автоматично. %{link_to_protected_branches}" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "Примітка: як адміністратор ви можете налаштувати %{github_integration_link}, що дозволить входити через GitHub і підключати репозиторії без створення особистого токену доступу." + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "Примітка: як адміністратор ви можете налаштувати %{github_integration_link}, що дозволить входити через GitHub і імпортувати репозиторії без створення особистого токену доступу." + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "Примітка: зверніться до вашого адміністратора GitLab, щоб налаштувати %{github_integration_link}, який дозволить входити за допомогою GitHub і приєднувати репозиторії без генерації персонального токена доступу." + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "Примітка: зверніться до вашого адміністратора GitLab, щоб налаштувати %{github_integration_link}, який дозволить входити за допомогою GitHub та імпортувати репозиторії без генерації персонального токена доступу." + msgid "Notification events" msgstr "Повідомлення про події" @@ -2461,6 +3015,12 @@ msgstr "жовтень" msgid "OfSearchInADropdown|Filter" msgstr "Фільтр" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "Після імпорту репозиторії можуть бути віддзеркалені через SSH. Дізнайтеся більше %{ssh_link}" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "Тільки учасники проекту можуть залишати коментарі." @@ -2482,12 +3042,18 @@ msgstr "Параметри" msgid "Otherwise it is recommended you start with one of the options below." msgstr "В іншому разі рекомендується почати з одного з наведених нижче варіантів." +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "Огляд" msgid "Owner" msgstr "Власник" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "Остання »" @@ -2500,9 +3066,21 @@ msgstr "Попередня" msgid "Pagination|« First" msgstr "« Перша" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "Пароль" +msgid "Pending" +msgstr "В очікуванні" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "Токену персонального доступу" + msgid "Pipeline" msgstr "Конвеєр" @@ -2582,10 +3160,37 @@ msgid "Pipelines for last year" msgstr "Конвеєри за останній рік" msgid "Pipelines|Build with confidence" -msgstr "" +msgstr "Виконуйте збірки із впевненістю" + +msgid "Pipelines|CI Lint" +msgstr "Перевірка конфігурації (CI Lint)" + +msgid "Pipelines|Clear Runner Caches" +msgstr "Очистити кеш Runner'ів" msgid "Pipelines|Get started with Pipelines" -msgstr "Початок роботи з Конвеєрами" +msgstr "Розпочати роботу з Конвеєрами" + +msgid "Pipelines|Loading Pipelines" +msgstr "Завантаження конвеєрів" + +msgid "Pipelines|Project cache successfully reset." +msgstr "Кеш проекту успішно очищено." + +msgid "Pipelines|Run Pipeline" +msgstr "Запустити Конвеєр" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "Помилка при очищенні кеша runner'ів." + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "В даний час немає %{scope} конвеєрів." + +msgid "Pipelines|There are currently no pipelines." +msgstr "В даний час немає конвеєрів." + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "Цей проект в даний час не налаштований для запуску конвеєрів." msgid "Pipeline|Retry pipeline" msgstr "Перезапустити конвеєр" @@ -2617,15 +3222,24 @@ msgstr "зі стадією" msgid "Pipeline|with stages" msgstr "зі стадіями" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "Відтворити" msgid "Please enable billing for one of your projects to be able to create a Kubernetes cluster, then try again." -msgstr "" +msgstr "Будь ласка, увімкніть білінга для одного з ваших проектів, щоб мати можливість створити Kubernetes-кластер, і повторіть спробу." msgid "Please solve the reCAPTCHA" msgstr "Будь ласка, пройдіть reCAPTCHA" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "Будь ласка, почекайте поки ми з’єднуємося із вашим репозиторієм. Оновлюйте сторінку за бажанням." + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "Будь ласка, почекайте поки ми імпортуємо ваш репозиторій. Оновлюйте сторінку за бажанням." + msgid "Preferences" msgstr "Налаштування" @@ -2639,7 +3253,7 @@ msgid "Private - The group and its projects can only be viewed by members." msgstr "Приватна — цю групу та її проекти можуть бачити тільки її користувачі." msgid "Private projects can be created in your personal namespace with:" -msgstr "" +msgstr "Приватні проекти можуть бути створені у вашому персональному просторі імен з:" msgid "Profile" msgstr "Профіль" @@ -2680,6 +3294,9 @@ msgstr "Ваш обліковий запис є власником в цих г msgid "Profiles|your account" msgstr "ваш обліковий запис" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "Мови програмування, що використовується в цьому репозиторії" @@ -2704,9 +3321,6 @@ msgstr "Аватар проекту" msgid "Project avatar in repository: %{link}" msgstr "Аватар проекту в репозиторії: %{link}" -msgid "Project cache successfully reset." -msgstr "Кеш проекту успішно скинуто." - msgid "Project details" msgstr "Деталі проекту" @@ -2803,6 +3417,12 @@ msgstr "На жаль, по вашоу запиту проектів не зна msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "Ця функція потребує підтримки localStorage вашим браузером" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "було знайдено %{exporters} з %{metrics}" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "

Ніяких загальних метрик не знайдено

" + msgid "PrometheusService|Active" msgstr "Активний" @@ -2815,9 +3435,21 @@ msgstr "Автоматично розгортайте та налаштовуй msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "За замовчуванням, Prometheus запускається за адресою ‘http://localhost:9090’. Не рекомендується змінювати цю адресу і порт, бо це може призвести до конфлікту з іншими сервісами запущеними на GitLab сервері." +msgid "PrometheusService|Common metrics" +msgstr "Загальні метрики" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "Загальні метрики автоматично збираються на основі набору метрик від популярних експортерів." + +msgid "PrometheusService|Custom metrics" +msgstr "Власні метрики" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "Пошук та налаштування метрик..." +msgid "PrometheusService|Finding custom metrics..." +msgstr "Пошук власних метрик..." + msgid "PrometheusService|Install Prometheus on clusters" msgstr "Встановити Prometheus на кластери" @@ -2830,20 +3462,14 @@ msgstr "Ручні налаштування" msgid "PrometheusService|Metrics" msgstr "Метрики" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "Метрики автоматично налаштовуються та контролюються на основі набору метрик від популярних експортерів." - msgid "PrometheusService|Missing environment variable" msgstr "Пропущена змінна середовища" -msgid "PrometheusService|Monitored" -msgstr "Моніторинг підключено" - msgid "PrometheusService|More information" msgstr "Додаткова інформація" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." -msgstr "Жодні метрики не відслідковуються. Для початку моніторингу, розгорніть середовище." +msgid "PrometheusService|New metric" +msgstr "Нова метрика" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" msgstr "Базова адреса Prometheus API, наприклад http://prometheus.example.com/" @@ -2851,6 +3477,9 @@ msgstr "Базова адреса Prometheus API, наприклад http://prom msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "Prometheus автоматично налаштований на ваших кластерах" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "Ці метрики будуть збиратися тільки після першого розгортання в якомусь серидовищі" + msgid "PrometheusService|Time-series monitoring service" msgstr "Сервіс моніторингу часових рядів" @@ -2860,8 +3489,17 @@ msgstr "Для можливості ручного налаштування, в msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "Для можливості встановлення Prometheus на ваші кластери, деактивуйте ручні налаштування нижче" -msgid "PrometheusService|View environments" -msgstr "Перегляд середовищ" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "Очікування першого розгортання у серидовищі для збору загальних метрик" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "Перенести мітку на рівень групи" + +msgid "Promote to Group Milestone" +msgstr "" msgid "Protip:" msgstr "Підказка:" @@ -2896,6 +3534,9 @@ msgstr "Докладніше" msgid "Readme" msgstr "Інструкція" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "Гілки" @@ -2929,6 +3570,9 @@ msgstr "Пов'язані запити на злиття" msgid "Related Merged Requests" msgstr "Пов'язані виконані запити" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "Нагадати пізніше" @@ -2944,12 +3588,24 @@ msgstr "Видалити проект" msgid "Repair authentication" msgstr "Відновити аутентифікацію" +msgid "Repo by URL" +msgstr "Репозиторії по URL" + msgid "Repository" msgstr "Репозиторій" msgid "Repository has no locks." msgstr "Репозиторій не має блокувань." +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "Запит доступу" @@ -2960,10 +3616,13 @@ msgid "Reset health check access token" msgstr "Оновити токен доступу для перевірки працездатності" msgid "Reset runners registration token" -msgstr "Скинути реєстраційний токен runner-ів" +msgstr "Перегенерувати реєстраційний токен runner-ів" msgid "Resolve discussion" -msgstr "" +msgstr "Завершити обговорення" + +msgid "Response" +msgstr "Відповідь" msgid "Reveal value" msgid_plural "Reveal values" @@ -2978,9 +3637,36 @@ msgstr "Анулювати цей коміт" msgid "Revert this merge request" msgstr "Анулювати цей запит на злиття" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "План-графік" +msgid "Run CI/CD pipelines for external repositories" +msgstr "Запустити CI/CD конвеєри для зовнішніх репозиторіїв" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "Виконується" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "Ключі SSH" @@ -2996,6 +3682,9 @@ msgstr "Зберегти змінні" msgid "Schedule a new pipeline" msgstr "Розклад нового конвеєра" +msgid "Scheduled" +msgstr "Заплановано" + msgid "Schedules" msgstr "Розклади" @@ -3005,6 +3694,9 @@ msgstr "Планування конвеєрів" msgid "Scoped issue boards" msgstr "Тематичні дошки проблем" +msgid "Search" +msgstr "Пошук" + msgid "Search branches and tags" msgstr "Пошук гілок та тегів" @@ -3068,15 +3760,33 @@ msgstr "Шаблони сервісів" msgid "Service URL" msgstr "Сервіс URL" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "Встановіть пароль для свого облікового запису, щоб мати можливість відправляти та отримувати через %{protocol}." +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "Налаштування CI/CD" msgid "Set up Koding" msgstr "Налаштування Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "встановити пароль" @@ -3086,14 +3796,17 @@ msgstr "Налаштування" msgid "Setup a specific Runner automatically" msgstr "" -msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" msgstr "" +msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." +msgstr "При обнуленні хвилин конвеєрів для цього простору імен, кількість вже використаних хвилин буде дорівнювати 0." + msgid "SharedRunnersMinutesSettings|Reset pipeline minutes" -msgstr "Скинути хвилини в конвеєрі" +msgstr "Обнулити хвилини в конвеєрі" msgid "SharedRunnersMinutesSettings|Reset used pipeline minutes" -msgstr "" +msgstr "Обнулити використані хвилини в конвеєрі" msgid "Show command" msgstr "Показати команду" @@ -3123,6 +3836,18 @@ msgstr "Немає" msgid "Sidebar|Weight" msgstr "Вага" +msgid "Sign-in restrictions" +msgstr "" + +msgid "Sign-up restrictions" +msgstr "" + +msgid "Size and domain settings for static websites" +msgstr "" + +msgid "Slack application" +msgstr "" + msgid "Snippets" msgstr "Сніпети" @@ -3130,18 +3855,12 @@ msgid "Something went wrong on our end" msgstr "Щось пішло не так з нашого боку" msgid "Something went wrong on our end." -msgstr "Щось пішло не так з нашого боку" - -msgid "Something went wrong trying to change the confidentiality of this issue" -msgstr "Помилка при зміні конфіденційності цієї проблеми" - -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" -msgstr "Щось пішло не так, при спробі зміни стану блокування ${this.issuableDisplayName}" +msgstr "" msgid "Something went wrong when toggling the button" msgstr "Помилка при перемиканні кнопки" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" msgid "Something went wrong while fetching SAST." @@ -3153,12 +3872,6 @@ msgstr "Щось пішло не так під час отримання про msgid "Something went wrong while fetching the registry list." msgstr "Щось пішло не так при отриманні списку із реєстру." -msgid "Something went wrong while reopening the %{issuable}. Please try again later" -msgstr "" - -msgid "Something went wrong while resolving this discussion. Please try again." -msgstr "" - msgid "Something went wrong. Please try again." msgstr "Щось пішло не так. Будь ласка спробуйте ще раз." @@ -3276,12 +3989,21 @@ msgstr "Джерело недоступне" msgid "Spam Logs" msgstr "Спам-журнал" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "Зазначте наступний URL під час встановлення Runner-а:" msgid "StarProject|Star" msgstr "В обрані" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "Обрані проекти" @@ -3291,6 +4013,15 @@ msgstr "Почати %{new_merge_request} з цими змінами" msgid "Start the Runner!" msgstr "Запустіть Runner!" +msgid "Started" +msgstr "Запущений" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "Статус" + msgid "Stopped" msgstr "Зупинено" @@ -3303,9 +4034,15 @@ msgstr "Підгрупи" msgid "Switch branch/tag" msgstr "Перейти в гілку/тег" +msgid "System" +msgstr "Система" + msgid "System Hooks" msgstr "Системні гуки" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "Тег (%{tag_count})" @@ -3388,6 +4125,9 @@ msgstr "захищений" msgid "Target Branch" msgstr "Цільова гілка" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "Команда" @@ -3403,17 +4143,26 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." -msgstr "Стадія \"Написання коду\" показує час від першого коміту до створення запиту на злиття. Дані будуть автоматично додані після створення вашого першого запиту на злиття." +msgstr "Стадія Написання коду показує час від першого коміту до створення запиту на злиття. Дані будуть автоматично додані після створення вашого першого запиту на злиття." msgid "The collection of events added to the data gathered for that stage." msgstr "Колекція подій додана до даних, зібраних для цієї стадії." +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "З’єднання буде припинено після %{timeout}. Для репозиторіїв, яким потрібно більше часу, використовуйте комбінацію clone/push." + msgid "The fork relationship has been removed." msgstr "Зв'язок форку видалено." +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "Імпорт буде припинено після %{timeout}. Для репозиторіїв, яким потрібно більше часу, використовуйте комбінацію clone/push." + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." -msgstr "Стадія \"Проблема\" показує, скільки часу потрібно від створення проблеми до включення її до якогось етапу, або додавання проблеми на дошку. Почніть створювати проблеми, щоб переглядати дані для цієї стадії." +msgstr "Стадія Проблема показує, скільки часу потрібно від створення проблеми до включення її до якогось етапу, або додавання проблеми на дошку. Почніть створювати проблеми, щоб переглядати дані для цієї стадії." msgid "The maximum file size allowed is 200KB." msgstr "Максимальний розмір файлу — 200 Кб." @@ -3422,16 +4171,22 @@ msgid "The number of attempts GitLab will make to access a storage." msgstr "Кількість спроб, які зробить GitLab для отримання доступу до сховища даних." msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." -msgstr "Кількість збоїв після якої Gitlab повністю заблокує доступ до сховища данних. Лічильник кількості збоїв може бути скинутий в інтерфейсі адміністратора (%{link_to_health_page}), або через %{api_documentation_link}." +msgstr "Кількість збоїв після якої Gitlab повністю заблокує доступ до сховища данних. Лічильник кількості збоїв можна буде обнулити в інтерфейсі адміністратора (%{link_to_health_page}), або через %{api_documentation_link}." + +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" msgid "The phase of the development lifecycle." msgstr "Фаза життєвого циклу розробки." msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." -msgstr "Стадія \"Планування\" відображається час від попереднього кроку до першого коміту. Додається автоматично, як тільки відправиться перший коміт." +msgstr "Стадія Планування відображає час від попереднього кроку до першого коміту. Додається автоматично, як тільки відправиться перший коміт." + +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." -msgstr "Стадія \"Production\" показує загальний час між створенням проблеми та розгортанням коду у production. Дані будуть автоматично додані після завершення повної ідеї до production циклу." +msgstr "Стадія Production показує загальний час між створенням проблеми та розгортанням коду у production. Дані будуть автоматично додані після завершення повної ідеї до production циклу." msgid "The project can be accessed by any logged in user." msgstr "Доступ до проекту можливий будь-яким зареєстрованим користувачем." @@ -3445,17 +4200,20 @@ msgstr "Репозиторій для цього проекту не існує. msgid "The repository for this project is empty" msgstr "Репозиторій цього проекту порожній" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "Репозиторій має бути доступним через http://, https:// або git://." + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." -msgstr "Стадія \"Затвердження\" показує час від створення запиту про об'єднання до його виконання. Дані будуть автоматично додані після завершення першого запиту на злиття." +msgstr "Стадія Затвердження показує час від створення запиту про об'єднання до його виконання. Дані будуть автоматично додані після завершення першого запиту на злиття." msgid "The roadmap shows the progress of your epics along a timeline" msgstr "План-графік показує стан ваших епіків у часі" msgid "The staging stage shows the time between merging the MR and deploying code to the production environment. The data will be automatically added once you deploy to production for the first time." -msgstr "Стадія \"Staging\" показує час між виконання запиту на злиття та розгортанням коду у production. Дані автоматично додаються після розгортання у production вперше." +msgstr "Стадія Staging показує час між виконання запиту на злиття та розгортанням коду у production. Дані автоматично додаються після розгортання у production вперше." msgid "The testing stage shows the time GitLab CI takes to run every pipeline for the related merge request. The data will automatically be added after your first pipeline finishes running." -msgstr "Стадія \"Тестування\" показує час, який GitLab CI витрачає для виконання кожного конвеєра для відповідного запиту злиття. Дані будуть автоматично додані після завершення першого конвеєра." +msgstr "Стадія Тестування показує час, який GitLab CI витрачає для виконання кожного конвеєра для відповідного запиту злиття. Дані будуть автоматично додані після завершення першого конвеєра." msgid "The time in seconds GitLab will keep failure information. When no failures occur during this time, information about the mount is reset." msgstr "Кількість секунд, протягом якої GitLab зберігає інформацію про збої. Якщо протягом цього періоду жодних збоїв не відбувається, інформація про точку монтування скидається." @@ -3464,7 +4222,7 @@ msgid "The time in seconds GitLab will try to access storage. After this time a msgstr "Кількість секунд, протягом якої GitLab намагатиметься отримати доступ до сховища даних. По завершенню цього періоду буде згенерована помилка про перевищення ліміту часу." msgid "The time in seconds between storage checks. When a previous check did complete yet, GitLab will skip a check." -msgstr "" +msgstr "Час у секундах між перевірками сховища. Якщо попередня перевірка іще на завершена, GitLab пропустить наступну." msgid "The time taken by each data entry gathered by that stage." msgstr "Час, витрачений на кожен елемент, зібраний на цій стадії." @@ -3481,6 +4239,9 @@ msgstr "Немає запитів на злиття для відображен msgid "There are problems accessing Git storage: " msgstr "Є проблеми з доступом до сховища git: " +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "Помилка при завантаженні календаря активності користувачів." @@ -3521,7 +4282,7 @@ msgid "This issue is locked." msgstr "Ця проблема заблокована." msgid "This job depends on a user to trigger its process. Often they are used to deploy code to production environments" -msgstr "" +msgstr "Це завдання запускається користувачем. Часто вони використовуються для розгортання коду на production" msgid "This job depends on upstream jobs that need to succeed in order for this job to be triggered" msgstr "Це завдання залежить від попередніх, які повинні завершитися успішно для його запуску" @@ -3530,7 +4291,7 @@ msgid "This job has not been triggered yet" msgstr "Завдання ще не було запущене" msgid "This job has not started yet" -msgstr "Ця завдання ще не розпочалася" +msgstr "Це завдання ще не запустилося" msgid "This job is in pending state and is waiting to be picked by a runner" msgstr "" @@ -3553,6 +4314,9 @@ msgstr "Цей проект" msgid "This repository" msgstr "Цей репозиторій" +msgid "This will delete the custom metric, Are you sure?" +msgstr "Це призведе до видалення власної метрики, ви впевнені?" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "Ці повідомлення електронної пошти автоматично стануть обговореннями проблем, які відображатимуться тут (причому коментарі стануть частиною переписки)." @@ -3565,6 +4329,12 @@ msgstr "Час до початку роботи над проблемою" msgid "Time between merge request creation and merge/close" msgstr "Час між створенням запиту злиття і його виконанням або закриттям" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "Відстеження часу" @@ -3726,6 +4496,36 @@ msgstr "Порада:" msgid "Title" msgstr "Назва" +msgid "To GitLab" +msgstr "В GitLab" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "Для підключення репозиторіїв з GitHub, ви спочатку повинні дозволити Gitlab доступ до списку ваших репозиторіїв на GitHub:" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "Для приєднання SVN-репозиторію, перегляньте %{svn_link}." + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "Для імпорту репозиторіїв з GitHub, ви спочатку повинні дозволити Gitlab доступ до списку ваших репозиторіїв на GitHub:" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "Для імпортування SVN-репозиторію, перегляньте %{svn_link}." + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "Щоб використовувати лише функції CI/CD для зовнішнього репозиторію, виберіть CI/CD для зовнішнього репозиторію." + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "Для перегляду плану-графіку додайте заплановані дати початку та завершення до одного з ваших епіків у цій групі або її підгрупах. Відображаються лише епіки за попередні та наступні 3 місяці." @@ -3757,7 +4557,7 @@ msgid "Track groups of issues that share a theme, across projects and milestones msgstr "Відстежуйте групи проблем зі спільною темою з різних проектів та етапів" msgid "Track time with quick actions" -msgstr "" +msgstr "Відстежуйте час за допомогою швидких дій" msgid "Trigger this manual action" msgstr "Запустити цю ручну дію" @@ -3765,23 +4565,17 @@ msgstr "Запустити цю ручну дію" msgid "Turn on Service Desk" msgstr "Ввімкнути Service Desk" -msgid "Unable to reset project cache." -msgstr "Неможливо скинуте кеш проекту." - msgid "Unknown" msgstr "Невідомо" msgid "Unlock" msgstr "Розблокувати" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "Розблокувати %{issuableDisplayName}? Будь-хто зможе залишати коментарі." - msgid "Unlocked" msgstr "Розблоковано" msgid "Unresolve discussion" -msgstr "" +msgstr "Повторно відкрити обговорення" msgid "Unstar" msgstr "Видалити із обраних" @@ -3816,6 +4610,12 @@ msgstr "Завантажити новий аватар" msgid "UploadLink|click to upload" msgstr "Натисніть, щоб завантажити" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "Використовуйте Service Desk для зв’язку з вашими користувачами (наприклад, щоб запропонувати клієнтську підтримку) через електронну пошту безпосередньо із GitLab" @@ -3825,24 +4625,51 @@ msgstr "Використовувати токен під час установк msgid "Use your global notification setting" msgstr "Використовуються глобальні налаштування повідомлень" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "Змінні застосовуються до середовищ через runner. Вони можуть бути захищені, в такому випадку вони доступні тільки для захищених гілок та тегів. Ви можете використовувати змінні для паролів, секретний ключів тощо." +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "Переглянути та відредагувати рядки" + msgid "View epics list" msgstr "Переглянути список епіків" msgid "View file @ " msgstr "Перегляд файла @ " +msgid "View group labels" +msgstr "Переглянути мітки групи" + msgid "View labels" msgstr "Переглянути мітки" msgid "View open merge request" -msgstr "Перегляд відкритих запитів на злиття" +msgstr "Переглянути відкритий запит на злиття" + +msgid "View project labels" +msgstr "Переглянути мітки проекту" msgid "View replaced file @ " msgstr "Перегляд заміненого файлу @ " +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "Внутрішній" @@ -3859,7 +4686,7 @@ msgid "Want to see the data? Please ask an administrator for access." msgstr "Хочете побачити дані? Будь ласка, попросить у адміністратора доступ." msgid "We could not verify that one of your projects on GCP has billing enabled. Please try again." -msgstr "" +msgstr "Ми не змогли перевірити, що один із ваших проектів в GCP має ввімкнений білінг. Будь ласка, спробуйте ще раз." msgid "We don't have enough data to show this stage." msgstr "Ми не маємо достатньо даних для відображення цієї стадії." @@ -3870,12 +4697,18 @@ msgstr "Ми хочемо бути впевнені, що це ви, будь л msgid "Web IDE" msgstr "Веб-IDE" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "Веб-гук дозволяє вам викликати URL якщо, наприклад, був відправлений новий код або створено нову проблему. Ви можете налаштувати його так, щоб він реагував на певні події (відправки коду, проблеми або запити на злиття). Групові веб-гуки застосовуються до всіх проектів в групі і дозволяють вам стандартизувати їх для всієї вашої групи." msgid "Weight" msgstr "Вага" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "Wiki" @@ -3898,7 +4731,7 @@ msgid "WikiEditPageTip|Tip: You can move this page by adding the path to the beg msgstr "Порада: Ви можете перемістити цю сторінку, додавши шлях до початку заголовка." msgid "WikiEdit|There is already a page with the same title in that path." -msgstr "" +msgstr "Вже існує сторінка з таким шляхом і заголовком." msgid "WikiEmptyPageError|You are not allowed to create wiki pages" msgstr "Ви не можете створювати wiki-сторінки" @@ -3996,20 +4829,26 @@ msgstr "Напишіть коміт-повідомлення..." msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "Ви хочете видалити %{group_name}. Видалені групи НЕ МОЖНА буду відновити! Ви АБСОЛЮТНО впевнені?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "Ви хочете видалити %{project_name_with_namespace}. Видалений проект НЕ МОЖЕ бути відновлений! Ви АБСОЛЮТНО впевнені?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "Ви хочете видалити %{project_full_name}. Видалений проект НЕ МОЖЕ бути відновлений! Ви АБСОЛЮТНО впевнені?" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "Ви збираєтеся видалити зв'язок з форка з вихідним проектом %{forked_from_project}. Ви АБСОЛЮТНО впевнені?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "Ви збираєтеся передати проект %{project_name_with_namespace} іншому власнику. Ви АБСОЛЮТНО впевнені?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "Ви збираєтеся передати проект %{project_full_name} іншому власнику. Ви АБСОЛЮТНО впевнені?" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "Ви також можете створити проект із командного рядка." msgid "You can also star a label to make it a priority label." -msgstr "" +msgstr "Ви можете додати мітку в обрані, щоб зробити її пріоритетною." msgid "You can easily install a Runner on a Kubernetes cluster. %{link_to_help_page}" msgstr "Ви можете легко встановити Runner на кластері Kubernetes. %{link_to_help_page}" @@ -4077,12 +4916,30 @@ msgstr "Ви не зможете відправляти та отримуват msgid "You'll need to use different branch names to get a valid comparison." msgstr "Вам необхідно використовувати різні імена гілок для коректного порівняння." +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "Інформація про ваш Kubernetes-кластер все ще доступна для редагування на цій сторінці, але ми радимо вимкнути і повторно налаштувати" -msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" msgstr "" +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "Ваші зміни можуть бути закомічені до %{branch_name}, оскільки запит на злиття відкритий." + +msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" +msgstr "Ваші зміни закомічено. Коміт %{commitId} %{commitStats}" + msgid "Your comment will not be visible to the public." msgstr "Ваш коментар не буде видимим для всіх." @@ -4095,6 +4952,16 @@ msgstr "Ваше ім'я" msgid "Your projects" msgstr "Ваші проекти" +msgid "among other things" +msgstr "між іншим" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + msgid "assign yourself" msgstr "призначити себе" @@ -4104,12 +4971,30 @@ msgstr "ім'я гілки" msgid "by" msgstr "від" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "Якість коду" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "DAST не виявив попереджень при аналізі цього review app" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "Помилка при завантаженні звіту %{reportName}" @@ -4129,17 +5014,14 @@ msgid "ciReport|No changes to code quality" msgstr "Немає змін у якості коду" msgid "ciReport|No changes to performance metrics" -msgstr "" +msgstr "Немає змін у показниках продуктивності" msgid "ciReport|Performance metrics" -msgstr "" +msgstr "Показники продуктивності" msgid "ciReport|SAST" msgstr "SAST" -msgid "ciReport|SAST degraded on" -msgstr "SAST погіршився на" - msgid "ciReport|SAST detected" msgstr "SAST виявив" @@ -4152,26 +5034,29 @@ msgstr "SAST не виявив жодних вразливостей" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "Показати повний звіт про вразливості в коді" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "Незатверджені вразливості (червоні) можуть бути відмічені як затверджені. %{helpLink}" -msgid "ciReport|no security vulnerabilities" -msgstr "вразливостей немає" +msgid "ciReport|no vulnerabilities" +msgstr "" msgid "command line instructions" msgstr "інструкції для командного рядка" -msgid "commit" -msgstr "коміт" +msgid "connecting" +msgstr "з'єднання" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "ви вимикаєте конфіденційність. Це означає, що будь-хто зможе бачити і залишати коментарі для цієї проблеми." - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." -msgstr "Ви вмикаєте конфіденційність. Це означає що лише члени команди рівня репортер або вище матимуть змогу бачити та залишати коментарі для цієї проблеми." +msgid "could not read private key, is the passphrase correct?" +msgstr "" msgid "day" msgid_plural "days" @@ -4180,7 +5065,33 @@ msgstr[1] "дні" msgstr[2] "днів" msgstr[3] "днів" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." +msgstr "%{slash_command} перезезаписує запланований час останнім значенням." + +msgid "here" +msgstr "тут" + +msgid "importing" +msgstr "імпорт" + +msgid "in progress" msgstr "" msgid "is invalid because there is downstream lock" @@ -4189,6 +5100,9 @@ msgstr "неправильний через наявність блокуван msgid "is invalid because there is upstream lock" msgstr "неправильний через наявність блокувань на вищих рівнях" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "заблоковано %{path_lock_user_name} %{created_at}" @@ -4202,21 +5116,36 @@ msgstr[3] "запитів на злиття" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "Будь ласка відновіть її або використовуйте іншу %{missingBranchName} гілку" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "Додати затвердження" +msgid "mrWidget|Allows edits from maintainers" +msgstr "Дозволити редагування командою проекту" + msgid "mrWidget|An error occured while removing your approval." msgstr "Під час видалення вашого затвердження сталася помилка." msgid "mrWidget|An error occured while retrieving approval data for this merge request." -msgstr "" +msgstr "Помилка при отриманні даних про затвердження для цього запиту на злиття." msgid "mrWidget|An error occured while submitting your approval." -msgstr "" +msgstr "Помилка при обробці вашого затвердження." msgid "mrWidget|Approve" msgstr "Затвердити" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4224,7 +5153,7 @@ msgid "mrWidget|Cancel automatic merge" msgstr "Скасувати автоматичне злиття" msgid "mrWidget|Check out branch" -msgstr "" +msgstr "Перейти в гілку" msgid "mrWidget|Checking ability to merge automatically" msgstr "перевірка можливості автоматичного злиття" @@ -4233,7 +5162,7 @@ msgid "mrWidget|Cherry-pick" msgstr "вибір (коміта)" msgid "mrWidget|Cherry-pick this merge request in a new merge request" -msgstr "" +msgstr "Вибрати (cherry-pick) цей запит на злиття в новий запит на злиття" msgid "mrWidget|Closed" msgstr "Закриті" @@ -4242,6 +5171,9 @@ msgid "mrWidget|Closed by" msgstr "Закритий" msgid "mrWidget|Closes" +msgstr "Закриває" + +msgid "mrWidget|Deployment statistics are not available currently" msgstr "" msgid "mrWidget|Did not close" @@ -4250,12 +5182,18 @@ msgstr "Не закрив" msgid "mrWidget|Email patches" msgstr "Email-патчі" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "Якщо гілка %{branch} існує у вашому локальному репозиторії, то ви можете застосувати цей запит на злиття вручну за допомогою" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "Якщо гілка %{missingBranchName} існує у вашому локальному репозиторії, то ви можете застосувати цей запит на злиття вручну за допомогою командного рядка" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "Згадки" @@ -4340,6 +5278,9 @@ msgstr "Запит на злиття в процесі виконання" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "Цей проект заархівований, доступ до запису було відключено" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "Ви можете прийняти цей запит на злиття вручну за допомогою" @@ -4350,7 +5291,7 @@ msgid "mrWidget|branch does not exist." msgstr "гілка не існує." msgid "mrWidget|command line" -msgstr "командний рядок" +msgstr "командного рядка" msgid "mrWidget|into" msgstr "в" @@ -4380,6 +5321,9 @@ msgstr "пароль" msgid "personal access token" msgstr "особистий токен доступу" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "видалити заплановану дату завершення" @@ -4387,7 +5331,10 @@ msgid "source" msgstr "джерело" msgid "spendCommand|%{slash_command} will update the sum of the time spent." -msgstr "" +msgstr "%{slash_command} оновлює суму витраченого часу." + +msgid "this document" +msgstr "цей документ" msgid "to help your contributors communicate effectively!" msgstr "щоб допомогти учасникам ефективно спілкуватися!" @@ -4399,5 +5346,5 @@ msgid "uses Kubernetes clusters to deploy your code!" msgstr "використовує кластери Kubernetes для розгортання коду!" msgid "with %{additions} additions, %{deletions} deletions." -msgstr "" +msgstr "з %{additions} додаваннями і %{deletions} видаленнями." diff --git a/locale/zh_CN/gitlab.po b/locale/zh_CN/gitlab.po index 6a43a434cb8..c25e892e568 100644 --- a/locale/zh_CN/gitlab.po +++ b/locale/zh_CN/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:21-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:36-0400\n" "Last-Translator: gitlab \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /master/locale/gitlab.pot\n" msgid " and" -msgstr "" +msgstr " 和" msgid "%d commit" msgid_plural "%d commits" @@ -25,11 +25,15 @@ msgstr[0] "%d 次提交" msgid "%d commit behind" msgid_plural "%d commits behind" -msgstr[0] "" +msgstr[0] "落后 %d 个提交" + +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "%d 导出器" msgid "%d issue" msgid_plural "%d issues" -msgstr[0] "" +msgstr[0] "%d 个议题" msgid "%d layer" msgid_plural "%d layers" @@ -37,24 +41,31 @@ msgstr[0] "%d 层" msgid "%d merge request" msgid_plural "%d merge requests" -msgstr[0] "" +msgstr[0] "%d 个合并请求" + +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "%d 指标" msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "为提高页面加载速度及性能,已省略了 %s 次提交。" msgid "%{actionText} & %{openOrClose} %{noteable}" -msgstr "" +msgstr "%{actionText} & %{openOrClose} %{noteable}" msgid "%{commit_author_link} authored %{commit_timeago}" -msgstr "" +msgstr "由 %{commit_author_link} 提交于 %{commit_timeago}" msgid "%{count} participant" msgid_plural "%{count} participants" msgstr[0] "%{count} 位参与者" +msgid "%{loadingIcon} Started" +msgstr "%{loadingIcon} 已开始" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" -msgstr "" +msgstr "%{lock_path} 被GitLab用户 %{lock_user_id} 锁定" msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead" msgstr "%{number_commits_behind} 个落后 %{default_branch} 分支的提交, %{number_commits_ahead} 早超前的提交" @@ -66,7 +77,7 @@ msgid "%{number_of_failures} of %{maximum_failures} failures. GitLab will not re msgstr "已失败 %{number_of_failures} 次/最多允许失败 %{maximum_failures} 次,GitLab 不会继续自动重试。请在问题解决后重置存储健康信息。" msgid "%{openOrClose} %{noteable}" -msgstr "" +msgstr "%{openOrClose} %{noteable}" msgid "%{storage_name}: failed storage access attempt on host:" msgid_plural "%{storage_name}: %{failed_attempts} failed storage access attempts:" @@ -94,15 +105,30 @@ msgstr "最高贡献" msgid "2FA enabled" msgstr "启用两步验证" +msgid "Removes source branch" +msgstr "删除源分支" + msgid "A collection of graphs regarding Continuous Integration" msgstr "持续集成数据图" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "将在派生(fork)项目中中创建一个新的分支, 并开启一个新的合并请求。" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "项目可以用于存放文件(仓库),安排计划(议题),并发布文档(wiki), %{among_other_things_link}。" + +msgid "A user with write access to the source branch selected this option" +msgstr "具有对源分支的写入权限的用户选择了此选项" + msgid "About auto deploy" msgstr "关于自动部署" msgid "Abuse Reports" msgstr "滥用报告" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "访问令牌" @@ -112,6 +138,9 @@ msgstr "为方便修复挂载问题,访问故障存储已被暂时禁用。在 msgid "Account" msgstr "帐号" +msgid "Account and limit settings" +msgstr "帐户和限制设置" + msgid "Active" msgstr "启用" @@ -131,73 +160,73 @@ msgid "Add Group Webhooks and GitLab Enterprise Edition." msgstr "添加组Webhooks和GitLab企业版。" msgid "Add Kubernetes cluster" -msgstr "" +msgstr "添加 Kubernetes 集群" msgid "Add License" msgstr "添加许可证" msgid "Add Readme" -msgstr "" +msgstr "添加自述文件" msgid "Add new directory" msgstr "添加目录" msgid "Add todo" -msgstr "" +msgstr "添加待办事项" msgid "AdminArea|Stop all jobs" -msgstr "" +msgstr "停止所有作业" msgid "AdminArea|Stop all jobs?" -msgstr "" +msgstr "停止所有作业吗?" msgid "AdminArea|Stop jobs" -msgstr "" +msgstr "停止作业" msgid "AdminArea|Stopping jobs failed" -msgstr "" +msgstr "停止作业失败" msgid "AdminArea|You’re about to stop all jobs.This will halt all current jobs that are running." -msgstr "" +msgstr "您即将停止所有作业。所有正在运行的都会被停止。" msgid "AdminHealthPageLink|health page" msgstr "健康页面" msgid "AdminProjects|Delete" -msgstr "" +msgstr "删除" msgid "AdminProjects|Delete Project %{projectName}?" -msgstr "" +msgstr "删除项目 %{projectName}?" msgid "AdminProjects|Delete project" -msgstr "" +msgstr "删除项目" msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages." -msgstr "" +msgstr "为每个项目的自动审阅应用 (Auto Review Apps) 和自动部署 (Auto Deploy) 阶段指定一个默认使用的域。" msgid "AdminUsers|Block user" -msgstr "" +msgstr "禁用用户" msgid "AdminUsers|Delete User %{username} and contributions?" -msgstr "" +msgstr "删除用户 %{username} 以及相关贡献吗?" msgid "AdminUsers|Delete User %{username}?" -msgstr "" +msgstr "删除用户 %{username}?" msgid "AdminUsers|Delete user" -msgstr "" +msgstr "删除用户" msgid "AdminUsers|Delete user and contributions" -msgstr "" +msgstr "删除用户及相关贡献" msgid "AdminUsers|To confirm, type %{projectName}" -msgstr "" +msgstr "请输入 %{projectName} 来确认" msgid "AdminUsers|To confirm, type %{username}" -msgstr "" +msgstr "请输入 %{username} 来确认" msgid "Advanced" -msgstr "" +msgstr "高级" msgid "Advanced settings" msgstr "高级设置" @@ -206,14 +235,38 @@ msgid "All" msgstr "全部" msgid "All changes are committed" +msgstr "所有更改均已提交" + +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "从模板或导入时为空白项目将启用所有功能,但可以在项目设置中将其禁用。" + +msgid "Allow edits from maintainers." +msgstr "允许上游项目维护人员进行编辑。" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." msgstr "" msgid "Allows you to add and manage Kubernetes clusters." +msgstr "这里可以添加和管理 Kubernetes 集群。" + +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" msgstr "" -msgid "An error occurred previewing the blob" +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" msgstr "" +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "此外,也可以使用 %{personal_access_token_link}。创建Personal Access Token时,在范围中需选择 repo ,以便显示可供连接的公开和私有的仓库列表。" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "此外,也可以使用 %{personal_access_token_link}。创建Personal Access Token时,在范围中需选择 repo ,以便显示可供导入公开和私有的仓库列表" + +msgid "An error occurred previewing the blob" +msgstr "预览 blob 时出错" + msgid "An error occurred when toggling the notification subscription" msgstr "切换通知订阅时发生错误" @@ -221,74 +274,77 @@ msgid "An error occurred when updating the issue weight" msgstr "更新议题权重时发生错误" msgid "An error occurred while adding approver" -msgstr "" +msgstr "添加批准人时发生错误" msgid "An error occurred while detecting host keys" -msgstr "" +msgstr "检测主机密钥时发生错误" msgid "An error occurred while dismissing the feature highlight. Refresh the page and try dismissing again." -msgstr "" +msgstr "关闭功能突出显示时发生错误。请刷新页面并再次尝试。" msgid "An error occurred while fetching markdown preview" -msgstr "" +msgstr "获取 markdown 预览时出错" msgid "An error occurred while fetching sidebar data" msgstr "获取侧边栏数据时发生错误" msgid "An error occurred while fetching the pipeline." -msgstr "" +msgstr "获取流水线时出错" msgid "An error occurred while getting projects" -msgstr "" +msgstr "获取项目时发生错误" msgid "An error occurred while importing project" -msgstr "" +msgstr "在导入项目时发生错误。" msgid "An error occurred while initializing path locks" -msgstr "" +msgstr "初始化路径锁时发生错误" msgid "An error occurred while loading commits" -msgstr "" +msgstr "加载提交时发生错误" msgid "An error occurred while loading diff" -msgstr "" +msgstr "加载差异时发生错误" msgid "An error occurred while loading filenames" -msgstr "" +msgstr "加载文件名时发生错误" msgid "An error occurred while loading the file" -msgstr "" +msgstr "加载文件时发生错误" msgid "An error occurred while making the request." -msgstr "" +msgstr "发送请求时发生错误。" msgid "An error occurred while removing approver" -msgstr "" +msgstr "删除批准者时发生错误" msgid "An error occurred while rendering KaTeX" -msgstr "" +msgstr "渲染KaTeX时发生错误" msgid "An error occurred while rendering preview broadcast message" -msgstr "" +msgstr "渲染广播消息时发生错误" msgid "An error occurred while retrieving calendar activity" -msgstr "" +msgstr "获取日历活动时发生错误" msgid "An error occurred while retrieving diff" -msgstr "" +msgstr "获取差异时发生错误" msgid "An error occurred while saving LDAP override status. Please try again." -msgstr "" +msgstr "保存LDAP覆盖状态时发生错误。请再试一次。" msgid "An error occurred while saving assignees" -msgstr "" +msgstr "保存被指派人时出现错误。" msgid "An error occurred while validating username" -msgstr "" +msgstr "验证用户名时发生错误" msgid "An error occurred. Please try again." msgstr "发生了错误,请再试一次。" +msgid "Any Label" +msgstr "任何标记" + msgid "Appearance" msgstr "外观" @@ -302,7 +358,7 @@ msgid "April" msgstr "四月" msgid "Archived project! Repository is read-only" -msgstr "项目已归档!存储库为只读状态" +msgstr "项目已归档!仓库为只读状态" msgid "Are you sure you want to delete this pipeline schedule?" msgstr "确定要删除此流水线计划吗?" @@ -314,7 +370,7 @@ msgid "Are you sure you want to reset the health check token?" msgstr "确定要重置健康检查令牌吗?" msgid "Are you sure you want to unlock %{path_lock_path}?" -msgstr "" +msgstr "确定要解锁 %{path_lock_path} 吗?" msgid "Are you sure?" msgstr "确定吗?" @@ -322,20 +378,32 @@ msgstr "确定吗?" msgid "Artifacts" msgstr "产物" -msgid "Assign custom color like #FF0000" +msgid "Assertion consumer service URL" msgstr "" +msgid "Assign custom color like #FF0000" +msgstr "分配自定义颜色,如FF0000" + msgid "Assign labels" -msgstr "" +msgstr "指派标记" msgid "Assign milestone" -msgstr "" +msgstr "分配里程碑" msgid "Assign to" -msgstr "" +msgstr "分配到" + +msgid "Assigned Issues" +msgstr "已分配议题" + +msgid "Assigned Merge Requests" +msgstr "已分配合并请求" + +msgid "Assigned to :name" +msgstr "已分配至 :name" msgid "Assignee" -msgstr "" +msgstr "指派人" msgid "Attach a file by drag & drop or %{upload_link}" msgstr "拖放文件到此处或者 %{upload_link}" @@ -353,19 +421,22 @@ msgid "Author" msgstr "作者" msgid "Authors: %{authors}" -msgstr "" +msgstr "作者:%{authors}" msgid "Auto DevOps enabled" +msgstr "启用Auto DevOps" + +msgid "Auto DevOps, runners and job artifacts" msgstr "" msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." -msgstr "" +msgstr "自动审阅程序和自动部署程序需要 %{kubernetes} 才能正常工作。" msgid "Auto Review Apps and Auto Deploy need a domain name and a %{kubernetes} to work correctly." -msgstr "" +msgstr "自动审阅程序和自动部署程序需要一个域名和 %{kubernetes} 才能正常工作。" msgid "Auto Review Apps and Auto Deploy need a domain name to work correctly." -msgstr "自动审查程序和自动部署程序需要一个域名才能正常工作。" +msgstr "自动审阅程序和自动部署程序需要一个域名才能正常工作。" msgid "AutoDevOps|Auto DevOps (Beta)" msgstr "DevOps 自动化(测试版)" @@ -383,26 +454,32 @@ msgid "AutoDevOps|Learn more in the %{link_to_documentation}" msgstr "想了解更多请访问 %{link_to_documentation}" msgid "AutoDevOps|You can automatically build and test your application if you %{link_to_auto_devops_settings} for this project. You can automatically deploy it as well, if you %{link_to_add_kubernetes_cluster}." -msgstr "" +msgstr "如果当前项目%{link_to_auto_devops_settings}, 可以自动的构建和测试应用。如果已%{link_to_add_kubernetes_cluster},则也可以实现自动部署。" msgid "AutoDevOps|add a Kubernetes cluster" -msgstr "" +msgstr "添加Kubernetes群集" msgid "AutoDevOps|enable Auto DevOps (Beta)" -msgstr "" +msgstr "启用Auto DevOps (Beta)" msgid "Available" msgstr "可用的" msgid "Avatar will be removed. Are you sure?" -msgstr "" +msgstr "即将删除头像。确定继续吗?" msgid "Average per day: %{average}" +msgstr "平均每天: %{average}" + +msgid "Background Color" msgstr "" -msgid "Begin with the selected commit" +msgid "Background jobs" msgstr "" +msgid "Begin with the selected commit" +msgstr "从选定的提交开始" + msgid "Billing" msgstr "账单" @@ -422,7 +499,7 @@ msgid "BillingPlans|Downgrade" msgstr "降级" msgid "BillingPlans|Learn more about each plan by reading our %{faq_link}." -msgstr "通过阅读我们的%{faq_link}了解有关每个计划的更多信息。" +msgstr "请查阅%{faq_link} 进一步了解每个计划的相关信息。" msgid "BillingPlans|Manage plan" msgstr "管理计划" @@ -459,7 +536,7 @@ msgstr "每用户" msgid "Branch (%{branch_count})" msgid_plural "Branches (%{branch_count})" -msgstr[0] "" +msgstr[0] "分支(%{branch_count})" msgid "Branch %{branch_name} was created. To set up auto deploy, choose a GitLab CI Yaml template and commit your changes. %{link_to_autodeploy_doc}" msgstr "已创建分支 %{branch_name} 。如需设置自动部署, 请选择合适的 GitLab CI Yaml 模板并提交更改。%{link_to_autodeploy_doc}" @@ -482,6 +559,15 @@ msgstr "切换分支" msgid "Branches" msgstr "分支" +msgid "Branches|Active" +msgstr "活跃" + +msgid "Branches|Active branches" +msgstr "活跃分支" + +msgid "Branches|All" +msgstr "全部" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "不能找到这个分支的 HEAD 提交" @@ -507,7 +593,7 @@ msgid "Branches|Deleting the '%{branch_name}' branch cannot be undone. Are you s msgstr "删除 ”%{branch_name}” 后将无法恢复,您确定?" msgid "Branches|Deleting the merged branches cannot be undone. Are you sure?" -msgstr "删除已合并的分支后将无法恢复,您确定?" +msgstr "删除已合并的分支后将无法恢复,确定继续吗?" msgid "Branches|Filter by branch name" msgstr "按分支名称筛选" @@ -527,12 +613,39 @@ msgstr "确认执行 %{delete_protected_branch} 后将无法撤销或恢复。" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "只有项目管理者或所有者才能删除受保护的分支!" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" -msgstr "在 %{project_settings_link} 管理受保护的分支" +msgid "Branches|Overview" +msgstr "概览" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "在 %{project_settings_link} 中管理受保护的分支。" + +msgid "Branches|Show active branches" +msgstr "查看活跃分支" + +msgid "Branches|Show all branches" +msgstr "查看所有分支" + +msgid "Branches|Show more active branches" +msgstr "查看更多活跃分支" + +msgid "Branches|Show more stale branches" +msgstr "查看更多非活跃分支" + +msgid "Branches|Show overview of the branches" +msgstr "查看分支概览" + +msgid "Branches|Show stale branches" +msgstr "查看非活跃分支" msgid "Branches|Sort by" msgstr "排序" +msgid "Branches|Stale" +msgstr "非活跃" + +msgid "Branches|Stale branches" +msgstr "非活跃分支" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "分支不能自动更新,因为它与上游分支不一致。" @@ -546,25 +659,25 @@ msgid "Branches|To avoid data loss, consider merging this branch before deleting msgstr "为避免数据丢失,请在删除之前合并此分支。" msgid "Branches|To confirm, type %{branch_name_confirmation}:" -msgstr "要确认?请输入 %{branch_name_confirmation} :" +msgstr "请输入 %{branch_name_confirmation} 来确认:" msgid "Branches|To discard the local changes and overwrite the branch with the upstream version, delete it here and choose 'Update Now' above." msgstr "要放弃本地更改并覆盖上游版本的分支,请在此处将其删除,然后选择上面的“立即更新”。" msgid "Branches|You’re about to permanently delete the protected branch %{branch_name}." -msgstr "将要永久删除受保护 %{branch_name} 分支。" +msgstr "将要永久删除受保护的 %{branch_name} 分支。" msgid "Branches|diverged from upstream" msgstr "上游分支" msgid "Branches|merged" -msgstr "已合并的" +msgstr "已合并" msgid "Branches|project settings" msgstr "项目设置" msgid "Branches|protected" -msgstr "受保护的" +msgstr "受保护" msgid "Browse Directory" msgstr "浏览目录" @@ -578,14 +691,23 @@ msgstr "浏览文件" msgid "Browse files" msgstr "浏览文件" +msgid "Business" +msgstr "业务" + msgid "ByAuthor|by" msgstr "作者:" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "CI/CD" + msgid "CI/CD configuration" -msgstr "" +msgstr "CI/CD 配置" + +msgid "CI/CD for external repo" +msgstr "外部仓库的 CI/CD" msgid "CICD|Jobs" msgstr "作业" @@ -593,15 +715,21 @@ msgstr "作业" msgid "Cancel" msgstr "取消" -msgid "Cancel edit" -msgstr "取消编辑" +msgid "Cannot be merged automatically" +msgstr "无法自动合并" msgid "Cannot modify managed Kubernetes cluster" +msgstr "无法修改托管的 Kubernetes 群集" + +msgid "Certificate fingerprint" msgstr "" msgid "Change Weight" msgstr "改变权重" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "选择分支" @@ -615,13 +743,13 @@ msgid "ChangeTypeAction|Revert" msgstr "还原" msgid "ChangeTypeAction|This will create a new commit in order to revert the existing changes." -msgstr "" +msgstr "这将创建一个新的提交, 来还原现有的更改。" msgid "Changelog" msgstr "更新日志" msgid "Changes are shown as if the source revision was being merged into the target revision." -msgstr "" +msgstr "差异显示方式依版本合并到目标版本的形式。" msgid "Charts" msgstr "统计图" @@ -630,7 +758,7 @@ msgid "Chat" msgstr "即时通讯" msgid "Check interval" -msgstr "" +msgstr "检查间隔" msgid "Checking %{text} availability…" msgstr "正在检查%{text}的可用性..." @@ -645,19 +773,25 @@ msgid "Cherry-pick this merge request" msgstr "优选此合并请求" msgid "Choose File ..." -msgstr "" +msgstr "选择文件 ……" msgid "Choose a branch/tag (e.g. %{master}) or enter a commit (e.g. %{sha}) to see what's changed or to create a merge request." -msgstr "" +msgstr "选择分支/标签(例如%{master})或输入提交(例如%{sha})以查看更改内容或创建合并请求。" msgid "Choose file..." -msgstr "" +msgstr "选择文件..." msgid "Choose which groups you wish to synchronize to this secondary node." -msgstr "" +msgstr "选择要同步到此次节点的群组。" + +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "清选择要连接并运行 CI/CD 流水线的代码仓库。" + +msgid "Choose which repositories you want to import." +msgstr "选择要导入的仓库" msgid "Choose which shards you wish to synchronize to this secondary node." -msgstr "" +msgstr "选择要同步到此次节点的切片。" msgid "CiStatusLabel|canceled" msgstr "已取消" @@ -714,79 +848,88 @@ msgid "CiStatus|running" msgstr "运行中" msgid "CiVariables|Input variable key" -msgstr "" +msgstr "输入变量的名称" msgid "CiVariables|Input variable value" -msgstr "" +msgstr "输入变量的值" msgid "CiVariables|Remove variable row" -msgstr "" +msgstr "删除变量行" msgid "CiVariable|* (All environments)" -msgstr "" +msgstr "* (所有环境)" msgid "CiVariable|All environments" -msgstr "" +msgstr "所有环境" msgid "CiVariable|Create wildcard" -msgstr "" +msgstr "创建通配符" msgid "CiVariable|Error occured while saving variables" -msgstr "" +msgstr "保存变量时发生错误" msgid "CiVariable|New environment" -msgstr "" +msgstr "新建环境" msgid "CiVariable|Protected" -msgstr "" +msgstr "受保护" msgid "CiVariable|Search environments" -msgstr "" +msgstr "搜索环境" msgid "CiVariable|Toggle protected" -msgstr "" +msgstr "开关保护状态" msgid "CiVariable|Validation failed" -msgstr "" +msgstr "验证失败" msgid "CircuitBreakerApiLink|circuitbreaker api" msgstr "断路器 API" msgid "Click the button below to begin the install process by navigating to the Kubernetes page" -msgstr "" +msgstr "点击下面的按钮转到Kubernetes页面开始安装过程" msgid "Click to expand text" -msgstr "" +msgstr "点击展开文本" + +msgid "Client authentication certificate" +msgstr "客户端认证证书" + +msgid "Client authentication key" +msgstr "客户端认证密钥" + +msgid "Client authentication key password" +msgstr "客户端认证密钥密码" msgid "Clone repository" -msgstr "克隆存储库" +msgstr "克隆仓库" msgid "Close" msgstr "关闭" msgid "Closed" -msgstr "" +msgstr "已关闭" msgid "ClusterIntegration|%{appList} was successfully installed on your Kubernetes cluster" -msgstr "" +msgstr "%{appList} 已成功安装到Kubernetes群集上" msgid "ClusterIntegration|API URL" msgstr "API地址" msgid "ClusterIntegration|Add Kubernetes cluster" -msgstr "" +msgstr "添加 Kubernetes 群集" msgid "ClusterIntegration|Add an existing Kubernetes cluster" -msgstr "" +msgstr "添加现有的Kubernetes群集" msgid "ClusterIntegration|Advanced options on this Kubernetes cluster's integration" -msgstr "" +msgstr "Kubernetes集群集成的高级选项" msgid "ClusterIntegration|Applications" msgstr "应用程序" msgid "ClusterIntegration|Are you sure you want to remove this Kubernetes cluster's integration? This will not delete your actual Kubernetes cluster." -msgstr "" +msgstr "确定要删除此Kubernetes集群的集成吗?注意这并不会删除实际的Kubernetes群集本身。" msgid "ClusterIntegration|CA Certificate" msgstr "CA证书" @@ -795,13 +938,13 @@ msgid "ClusterIntegration|Certificate Authority bundle (PEM format)" msgstr "证书授权包(PEM格式)" msgid "ClusterIntegration|Choose how to set up Kubernetes cluster integration" -msgstr "" +msgstr "选择如何设置Kubernetes集群集成" msgid "ClusterIntegration|Choose which of your project's environments will use this Kubernetes cluster." -msgstr "" +msgstr "请选择使用此Kubernetes群集的环境。" msgid "ClusterIntegration|Control how your Kubernetes cluster integrates with GitLab" -msgstr "" +msgstr "控制Kubernetes集群与GitLab集成方式" msgid "ClusterIntegration|Copy API URL" msgstr "复制API地址" @@ -810,22 +953,22 @@ msgid "ClusterIntegration|Copy CA Certificate" msgstr "复制CA证书" msgid "ClusterIntegration|Copy Ingress IP Address to clipboard" -msgstr "" +msgstr "复制Ingress IP地址到剪贴板" msgid "ClusterIntegration|Copy Kubernetes cluster name" -msgstr "" +msgstr "复制Kubernetes集群名称" msgid "ClusterIntegration|Copy Token" msgstr "复制令牌" msgid "ClusterIntegration|Create Kubernetes cluster" -msgstr "" +msgstr "创建Kubernetes群集" msgid "ClusterIntegration|Create Kubernetes cluster on Google Kubernetes Engine" -msgstr "" +msgstr "在Google Kubernetes引擎上创建Kubernetes集群" msgid "ClusterIntegration|Create a new Kubernetes cluster on Google Kubernetes Engine right from GitLab" -msgstr "" +msgstr "通过GitLab在Google Kubernetes引擎上创建Kubernetes集群" msgid "ClusterIntegration|Create on GKE" msgstr "在GKE中创建" @@ -834,13 +977,13 @@ msgid "ClusterIntegration|Enter the details for an existing Kubernetes cluster" msgstr "输入现有的 Kubernetes 集群详细信息" msgid "ClusterIntegration|Enter the details for your Kubernetes cluster" -msgstr "" +msgstr "输入Kubernetes群集的详细信息" msgid "ClusterIntegration|Environment scope" -msgstr "" +msgstr "环境范围" msgid "ClusterIntegration|GitLab Integration" -msgstr "" +msgstr "GitLab集成" msgid "ClusterIntegration|GitLab Runner" msgstr "GitLab Runner" @@ -857,15 +1000,21 @@ msgstr "Google Kubernetes Engine 项目" msgid "ClusterIntegration|Helm Tiller" msgstr "Helm Tiller" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "为了显示集群的健康状况,您的集群需要配置Prometheus以收集所需的数据。" + msgid "ClusterIntegration|Ingress" msgstr "入口" msgid "ClusterIntegration|Ingress IP Address" -msgstr "" +msgstr "Ingress IP地址" msgid "ClusterIntegration|Install" msgstr "安装" +msgid "ClusterIntegration|Install Prometheus" +msgstr "安装Prometheus" + msgid "ClusterIntegration|Installed" msgstr "已安装" @@ -873,67 +1022,73 @@ msgid "ClusterIntegration|Installing" msgstr "安装中" msgid "ClusterIntegration|Integrate Kubernetes cluster automation" -msgstr "" +msgstr "集成Kubernetes集群自动化" msgid "ClusterIntegration|Integration status" -msgstr "" +msgstr "集成状态" msgid "ClusterIntegration|Kubernetes cluster" -msgstr "" +msgstr "Kubernetes 群集" msgid "ClusterIntegration|Kubernetes cluster details" -msgstr "" +msgstr "Kubernetes群集详细信息" + +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "Kubernetes集群健康度" msgid "ClusterIntegration|Kubernetes cluster integration" -msgstr "" +msgstr "Kubernetes集群集成" msgid "ClusterIntegration|Kubernetes cluster integration is disabled for this project." -msgstr "" +msgstr "此项目已禁用 Kubernetes 群集集成。" msgid "ClusterIntegration|Kubernetes cluster integration is enabled for this project." -msgstr "" +msgstr "此项目已启用 Kubernetes 群集集成。" msgid "ClusterIntegration|Kubernetes cluster integration is enabled for this project. Disabling this integration will not affect your Kubernetes cluster, it will only temporarily turn off GitLab's connection to it." -msgstr "" +msgstr "此项目已启用 Kubernetes 群集集成。禁用此集成不会影响 Kubernetes 群集本身, 只会暂时关闭 GitLab 与其连接。" msgid "ClusterIntegration|Kubernetes cluster is being created on Google Kubernetes Engine..." -msgstr "" +msgstr "正在Google Kubernetes Engine上创建Kubernetes群集..." msgid "ClusterIntegration|Kubernetes cluster name" -msgstr "" +msgstr "Kubernetes 群集名称" msgid "ClusterIntegration|Kubernetes cluster was successfully created on Google Kubernetes Engine. Refresh the page to see Kubernetes cluster's details" -msgstr "" +msgstr "Kubernetes集群已在Google Kubernetes Engine上成功创建。刷新页面以查看Kubernetes群集的详细信息" msgid "ClusterIntegration|Kubernetes clusters allow you to use review apps, deploy your applications, run your pipelines, and much more in an easy way. %{link_to_help_page}" -msgstr "" +msgstr "通过Kubernetes 群集集成,可以方便地使用审阅应用、部署应用程序、运行流水线等等。%{link_to_help_page}" msgid "ClusterIntegration|Kubernetes clusters can be used to deploy applications and to provide Review Apps for this project" -msgstr "" +msgstr "Kubernetes 群集可用于部署应用程序和提供此项目的审阅应用" msgid "ClusterIntegration|Learn more about %{link_to_documentation}" -msgstr "了解详细%{link_to_documentation}" +msgstr "进一步了解%{link_to_documentation}" msgid "ClusterIntegration|Learn more about environments" -msgstr "" +msgstr "进一步了解有关环境的信息" + +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "进一步了解安全相关配置" msgid "ClusterIntegration|Machine type" msgstr "机器类型" msgid "ClusterIntegration|Make sure your account %{link_to_requirements} to create Kubernetes clusters" -msgstr "" +msgstr "请确保您的帐户 %{link_to_requirements} 可以创建 Kubernetes 群集" msgid "ClusterIntegration|Manage" -msgstr "" +msgstr "管理" msgid "ClusterIntegration|Manage your Kubernetes cluster by visiting %{link_gke}" -msgstr "" +msgstr "通过访问 %{link_gke} 管理 Kubernetes 群集" msgid "ClusterIntegration|More information" -msgstr "" +msgstr "更多信息" msgid "ClusterIntegration|Multiple Kubernetes clusters are available in GitLab Enterprise Edition Premium and Ultimate" -msgstr "" +msgstr "在GitLab企业高级和旗舰版中可以使用多个Kubernetes集群" msgid "ClusterIntegration|Note:" msgstr "注意:" @@ -942,7 +1097,7 @@ msgid "ClusterIntegration|Number of nodes" msgstr "节点数量" msgid "ClusterIntegration|Please enter access information for your Kubernetes cluster. If you need help, you can read our %{link_to_help_page} on Kubernetes" -msgstr "" +msgstr "请输入Kubernetes集群的访问信息。如需帮助,可以阅读Kubernetes集群的 %{link_to_help_page}" msgid "ClusterIntegration|Please make sure that your Google account meets the following requirements:" msgstr "请确保您的 Google 帐户符合以下要求:" @@ -957,19 +1112,19 @@ msgid "ClusterIntegration|Project namespace (optional, unique)" msgstr "项目命名空间(可选,唯一)" msgid "ClusterIntegration|Prometheus" -msgstr "" +msgstr "Prometheus" msgid "ClusterIntegration|Read our %{link_to_help_page} on Kubernetes cluster integration." -msgstr "" +msgstr "请阅读关于Kubernetes集群集成的%{link_to_help_page}。" msgid "ClusterIntegration|Remove Kubernetes cluster integration" -msgstr "" +msgstr "删除Kubernetes集群集成" msgid "ClusterIntegration|Remove integration" msgstr "删除集成" msgid "ClusterIntegration|Remove this Kubernetes cluster's configuration from this project. This will not delete your actual Kubernetes cluster." -msgstr "" +msgstr "从当前项目中删除此Kubernetes集群的配置。该操作并不会删除实际Kubernetes群集。" msgid "ClusterIntegration|Request to begin installing failed" msgstr "请求安装失败" @@ -977,8 +1132,11 @@ msgstr "请求安装失败" msgid "ClusterIntegration|Save changes" msgstr "保存更改" +msgid "ClusterIntegration|Security" +msgstr "安全" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" -msgstr "" +msgstr "查看并编辑Kubernetes集群的详细信息" msgid "ClusterIntegration|See machine types" msgstr "参见机器类型" @@ -999,25 +1157,28 @@ msgid "ClusterIntegration|Something went wrong on our end." msgstr "发生了内部错误" msgid "ClusterIntegration|Something went wrong while creating your Kubernetes cluster on Google Kubernetes Engine" -msgstr "" +msgstr "在 Google Kubernetes Engine 上创建Kubernetes集群时发生错误" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "安装 %{title} 时发生故障" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "默认集群配置提供了成功构建和部署容器化应用所需的大量相关功能。" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" -msgstr "" +msgstr "该帐户需具备在下面指定的%{link_to_container_project}中创建 Kubernetes集群的权限" msgid "ClusterIntegration|Toggle Kubernetes Cluster" -msgstr "" +msgstr "开关Kubernetes 群集" msgid "ClusterIntegration|Toggle Kubernetes cluster" -msgstr "" +msgstr "开关Kubernetes 群集" msgid "ClusterIntegration|Token" msgstr "令牌" msgid "ClusterIntegration|With a Kubernetes cluster associated to this project, you can use review apps, deploy your applications, run your pipelines, and much more in an easy way." -msgstr "" +msgstr "使用与此项目关联的Kubernetes集群,可以方便地使用审阅应用,部署应用程序,运行流水线等等。" msgid "ClusterIntegration|Your account must have %{link_to_kubernetes_engine}" msgstr "您的帐户必须拥有%{link_to_kubernetes_engine}" @@ -1029,7 +1190,7 @@ msgid "ClusterIntegration|access to Google Kubernetes Engine" msgstr "访问 Google Kubernetes Engine" msgid "ClusterIntegration|check the pricing here" -msgstr "" +msgstr "查看定价" msgid "ClusterIntegration|documentation" msgstr "文档" @@ -1047,13 +1208,13 @@ msgid "ClusterIntegration|properly configured" msgstr "正确配置" msgid "Collapse" -msgstr "" +msgstr "收起" msgid "Comment and resolve discussion" -msgstr "" +msgstr "评论并解决讨论" msgid "Comment and unresolve discussion" -msgstr "" +msgstr "评论并将讨论变为未决" msgid "Comments" msgstr "评论" @@ -1064,7 +1225,7 @@ msgstr[0] "提交" msgid "Commit (%{commit_count})" msgid_plural "Commits (%{commit_count})" -msgstr[0] "" +msgstr[0] "提交(%{commit_count})" msgid "Commit Message" msgstr "提交消息" @@ -1076,10 +1237,10 @@ msgid "Commit message" msgstr "提交信息" msgid "Commit statistics for %{ref} %{start_time} - %{end_time}" -msgstr "" +msgstr "提交统计 %{ref} %{start_time} - %{end_time}" msgid "Commit to %{branchName} branch" -msgstr "" +msgstr "提交到 %{branchName} 分支" msgid "CommitBoxTitle|Commit" msgstr "提交" @@ -1094,25 +1255,25 @@ msgid "Commits feed" msgstr "提交动态" msgid "Commits per day hour (UTC)" -msgstr "" +msgstr "一天中每小时(UTC)提交数" msgid "Commits per day of month" -msgstr "" +msgstr "一个月中每天的提交数" msgid "Commits per weekday" -msgstr "" +msgstr "一周中每日提交数" msgid "Commits|An error occurred while fetching merge requests data." -msgstr "" +msgstr "获取合并请求数据时出错" msgid "Commits|Commit: %{commitText}" -msgstr "" +msgstr "提交内容:%{commitText}" msgid "Commits|History" msgstr "历史" msgid "Commits|No related merge requests found" -msgstr "" +msgstr "无相关合并请求" msgid "Committed by" msgstr "提交者:" @@ -1121,29 +1282,71 @@ msgid "Compare" msgstr "比较" msgid "Compare Git revisions" -msgstr "" +msgstr "比较Git提交版本" msgid "Compare Revisions" +msgstr "比较版本" + +msgid "Compare changes with the last commit" +msgstr "与上个提交比较变更内容" + +msgid "Compare changes with the merge request target branch" msgstr "" msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." -msgstr "" +msgstr "%{source_branch} 和 %{target_branch} 是相同的" msgid "CompareBranches|Compare" -msgstr "" +msgstr "比较" msgid "CompareBranches|Source" -msgstr "" +msgstr "源分支" msgid "CompareBranches|Target" -msgstr "" +msgstr "目标分支" msgid "CompareBranches|There isn't anything to compare." -msgstr "" +msgstr "无需比较。" + +msgid "Confidential" +msgstr "机密" msgid "Confidentiality" +msgstr "私密性" + +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." msgstr "" +msgid "Configure the way a user creates a new account." +msgstr "配置用户创建新帐户的方式。" + +msgid "Connect" +msgstr "连接" + +msgid "Connect all repositories" +msgstr "连接所有仓库" + +msgid "Connect repositories from GitHub" +msgstr "从 Github 中导入代码仓库" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "连接外部仓库后,新提交将会启动CI/CD流水线。仅启用CI/CD功能的Gitlab项目将会被创建。" + +msgid "Connecting..." +msgstr "正在连接..." + msgid "Container Registry" msgstr "容器注册" @@ -1160,7 +1363,7 @@ msgid "ContainerRegistry|How to use the Container Registry" msgstr "如何使用容器注册表" msgid "ContainerRegistry|Learn more about" -msgstr "关于更多" +msgstr "进一步了解" msgid "ContainerRegistry|No tags in Container Registry for this container image." msgstr "容器注册表中没有此容器镜像的标签。" @@ -1169,7 +1372,7 @@ msgid "ContainerRegistry|Once you log in, you’re free to create and upload msgstr "登录后您可以使用通用的%{build}和%{push}命令创建和上传容器镜像" msgid "ContainerRegistry|Remove repository" -msgstr "删除存储库" +msgstr "删除仓库" msgid "ContainerRegistry|Remove tag" msgstr "删除标签" @@ -1189,6 +1392,12 @@ msgstr "使用不同的镜像名称" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "将 Docker 容器注册表集成到 GitLab 中,每个项目都可以有各自的空间来存储 Docker 的镜像。" +msgid "Continuous Integration and Deployment" +msgstr "持续集成和部署" + +msgid "Contribution" +msgstr "贡献" + msgid "Contribution guide" msgstr "贡献指南" @@ -1196,22 +1405,22 @@ msgid "Contributors" msgstr "贡献者" msgid "ContributorsPage|%{startDate} – %{endDate}" -msgstr "" +msgstr "%{startDate} – %{endDate}" msgid "ContributorsPage|Building repository graph." -msgstr "构建存储库图标。" +msgstr "构建图表中。" msgid "ContributorsPage|Commits to %{branch_name}, excluding merge commits. Limited to 6,000 commits." -msgstr "提交到%{branch_name},排除合并提交。限于6000次提交。" +msgstr "%{branch_name} 分支上的提交,不含合并提交。限6000次。" msgid "ContributorsPage|Please wait a moment, this page will automatically refresh when ready." -msgstr "请稍等片刻,这个页面会在准备好时自动刷新。" +msgstr "请稍候,图表构建完成后页面会自动刷新。" msgid "Control the maximum concurrency of LFS/attachment backfill for this secondary node" msgstr "控制此次要节点的 LFS/attachment 的最大并发" msgid "Control the maximum concurrency of repository backfill for this secondary node" -msgstr "控制此次要节点的存储库最大并发" +msgstr "控制此次要节点的仓库最大并发" msgid "Copy SSH public key to clipboard" msgstr "复制 SSH 公钥到剪贴板" @@ -1220,55 +1429,58 @@ msgid "Copy URL to clipboard" msgstr "复制 URL 到剪贴板" msgid "Copy branch name to clipboard" -msgstr "" +msgstr "将分支名称复制到剪贴板" msgid "Copy command to clipboard" -msgstr "" +msgstr "将命令复制到剪贴板" msgid "Copy commit SHA to clipboard" msgstr "复制提交 SHA 的值到剪贴板" msgid "Copy reference to clipboard" -msgstr "" +msgstr "将索引复制到剪贴板" msgid "Create" -msgstr "" +msgstr "创建" msgid "Create New Directory" msgstr "创建新目录" msgid "Create a new branch" -msgstr "" +msgstr "创建一个新分支" msgid "Create a new branch and merge request" -msgstr "" +msgstr "创建一个新的分支及合并请求" msgid "Create a personal access token on your account to pull or push via %{protocol}." msgstr "在帐户上创建个人访问令牌,以通过 %{protocol} 来拉取或推送。" msgid "Create branch" -msgstr "" +msgstr "创建分支" msgid "Create directory" msgstr "创建目录" -msgid "Create empty bare repository" -msgstr "创建空的存储库" +msgid "Create empty repository" +msgstr "创建空的仓库" msgid "Create epic" -msgstr "创建EPIC" +msgstr "创建史诗故事" msgid "Create file" msgstr "创建文件" +msgid "Create group label" +msgstr "创建群组标记" + msgid "Create lists from labels. Issues with that label appear in that list." -msgstr "" +msgstr "从标记创建列表,含有该标记的议题将出现在相应的列中。" msgid "Create merge request" msgstr "创建合并请求" msgid "Create merge request and branch" -msgstr "" +msgstr "创建合并请求及分支" msgid "Create new branch" msgstr "创建新分支" @@ -1280,11 +1492,14 @@ msgid "Create new file" msgstr "创建新文件" msgid "Create new label" -msgstr "" +msgstr "创建新标记" msgid "Create new..." msgstr "创建..." +msgid "Create project label" +msgstr "创建项目标记" + msgid "CreateNewFork|Fork" msgstr "派生" @@ -1295,13 +1510,13 @@ msgid "CreateTokenToCloneLink|create a personal access token" msgstr "创建个人访问令牌" msgid "Creates a new branch from %{branchName}" -msgstr "" +msgstr "自%{branchName} 创建一个新分支" msgid "Creates a new branch from %{branchName} and re-directs to create a new merge request" -msgstr "" +msgstr "自%{branchName} 创建一个新分支,并转到创建一个新的合并请求" msgid "Creating epic" -msgstr "创建EPIC中" +msgstr "创建史诗故事中" msgid "Cron Timezone" msgstr "Cron 时区" @@ -1310,7 +1525,7 @@ msgid "Cron syntax" msgstr "Cron 语法" msgid "Current node" -msgstr "" +msgstr "当前节点" msgid "Custom notification events" msgstr "自定义通知事件" @@ -1318,6 +1533,9 @@ msgstr "自定义通知事件" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "自定义通知级别继承自参与级别。使用自定义通知级别,您会收到参与级别及选定事件的通知。想了解更多信息,请查看 %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "周期分析" @@ -1355,7 +1573,7 @@ msgid "December" msgstr "十二月" msgid "Default classification label" -msgstr "" +msgstr "默认分类标签" msgid "Define a custom pattern with cron syntax" msgstr "使用 Cron 语法定义自定义模式" @@ -1380,19 +1598,19 @@ msgid "Details" msgstr "详情" msgid "Diffs|No file name available" -msgstr "" +msgstr "没有可用的文件名" msgid "Directory name" msgstr "目录名称" msgid "Disable" -msgstr "" +msgstr "禁用" msgid "Discard draft" -msgstr "" +msgstr "舍弃草稿" msgid "Discover GitLab Geo." -msgstr "" +msgstr "发现GitLab Geo。" msgid "Dismiss Cycle Analytics introduction box" msgstr "关闭循环分析介绍框" @@ -1400,9 +1618,15 @@ msgstr "关闭循环分析介绍框" msgid "Dismiss Merge Request promotion" msgstr "关闭合并请求中的促销广告" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "不再显示" +msgid "Done" +msgstr "完成" + msgid "Download" msgstr "下载" @@ -1430,7 +1654,13 @@ msgstr "差异文件" msgid "DownloadSource|Download" msgstr "下载" +msgid "Downvotes" +msgstr "踩" + msgid "Due date" +msgstr "截止日期" + +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." msgstr "" msgid "Edit" @@ -1440,15 +1670,54 @@ msgid "Edit Pipeline Schedule %{id}" msgstr "编辑 %{id} 流水线计划" msgid "Edit files in the editor and commit changes here" +msgstr "在编辑器中编辑文件并在这里​​提交变更内容" + +msgid "Editing" +msgstr "编辑" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" msgstr "" msgid "Emails" msgstr "电子邮件" msgid "Enable" -msgstr "" +msgstr "启用" msgid "Enable Auto DevOps" +msgstr "启用Auto DevOps" + +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "启用并配置InfluxDB指标。" + +msgid "Enable and configure Prometheus metrics." +msgstr "启用并配置Prometheus指标。" + +msgid "Enable classification control using an external service" +msgstr "使用外部服务启用分类控制" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" msgstr "" msgid "Environments|An error occurred while fetching the environments." @@ -1497,7 +1766,7 @@ msgid "Environments|Updated" msgstr "已更新" msgid "Environments|You don't have any environments right now." -msgstr "你还没有设置环境" +msgstr "当前未设置环境" msgid "Epic will be removed! Are you sure?" msgstr "EPIC将被删除!是否确定?" @@ -1506,46 +1775,49 @@ msgid "Epics" msgstr "EPIC" msgid "Epics Roadmap" -msgstr "" +msgstr "史诗故事路线图" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" -msgstr "EPIC让你更有效率地管理你的项目组合,而且不费吹灰之力" +msgstr "利用史诗故事(Epics),产品线管理会变得更轻松且更高效" -msgid "Error checking branch data. Please try again." +msgid "Error Reporting and Logging" msgstr "" +msgid "Error checking branch data. Please try again." +msgstr "检查分支数据时出错。请再试一次。" + msgid "Error committing changes. Please try again." -msgstr "" +msgstr "提交更改时出错。请再试一次。" msgid "Error creating epic" -msgstr "创建EPIC时出错" +msgstr "创建史诗故事时出错" msgid "Error fetching contributors data." -msgstr "" +msgstr "获取贡献者数据时出错。" msgid "Error fetching labels." -msgstr "" +msgstr "获取标记时出错。" msgid "Error fetching network graph." -msgstr "" +msgstr "获取网络图时出错。" msgid "Error fetching refs" -msgstr "" +msgstr "获取refs时出错。" msgid "Error fetching usage ping data." -msgstr "" +msgstr "获取使用情况(usage ping) 数据时出错。" msgid "Error occurred when toggling the notification subscription" msgstr "切换通知订阅时发生错误" msgid "Error saving label update." -msgstr "" +msgstr "保存标记更新时出错。" msgid "Error updating status for all todos." -msgstr "" +msgstr "更新所有待办事项的状态时出错。" msgid "Error updating todo status." -msgstr "" +msgstr "更新待办事项状态时出错。" msgid "EventFilterBy|Filter by all" msgstr "全部" @@ -1575,7 +1847,7 @@ msgid "Every week (Sundays at 4:00am)" msgstr "每周执行(周日凌晨 4 点)" msgid "Expand" -msgstr "" +msgstr "展开" msgid "Explore projects" msgstr "查看项目" @@ -1584,34 +1856,43 @@ msgid "Explore public groups" msgstr "搜索公共群组" msgid "External Classification Policy Authorization" +msgstr "外部分类政策授权" + +msgid "External authentication" msgstr "" msgid "External authorization denied access to this project" -msgstr "" +msgstr "外部授权拒绝访问此项目" + +msgid "External authorization request timeout" +msgstr "外部授权请求超时" msgid "ExternalAuthorizationService|Classification Label" -msgstr "" +msgstr "分类标签" msgid "ExternalAuthorizationService|Classification label" -msgstr "" +msgstr "分类标签" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." -msgstr "" +msgstr "未设置分类标签时,将使用默认的分类标签`%{default_label}`。" + +msgid "Failed" +msgstr "已失败" msgid "Failed Jobs" -msgstr "" +msgstr "失败的作业" msgid "Failed to change the owner" msgstr "无法变更所有者" msgid "Failed to remove issue from board, please try again." -msgstr "" +msgstr "无法从看板移除问题,请重试。" msgid "Failed to remove the pipeline schedule" msgstr "无法删除流水线计划" msgid "Failed to update issues, please try again." -msgstr "" +msgstr "更新议题失败, 请重试" msgid "Feb" msgstr "二" @@ -1620,7 +1901,7 @@ msgid "February" msgstr "二月" msgid "Fields on this page are now uneditable, you can configure" -msgstr "" +msgstr "当前页面上的字段不可编辑,可以配置" msgid "File name" msgstr "文件名" @@ -1629,6 +1910,9 @@ msgid "Files" msgstr "文件" msgid "Files (%{human_size})" +msgstr "文件(%{human_size})" + +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" msgstr "" msgid "Filter by commit message" @@ -1640,12 +1924,21 @@ msgstr "按路径查找" msgid "Find file" msgstr "查找文件" +msgid "Finished" +msgstr "已完成" + msgid "FirstPushedBy|First" msgstr "首次推送" msgid "FirstPushedBy|pushed by" msgstr "推送者:" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "派生" @@ -1656,9 +1949,15 @@ msgstr "派生自" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "派生自 %{project_name} (删除)" +msgid "Forking in progress" +msgstr "派生(Fork)中" + msgid "Format" msgstr "格式" +msgid "From %{provider_title}" +msgstr "来自 %{provider_title}" + msgid "From issue creation until deploy to production" msgstr "从创建议题到部署至生产环境" @@ -1666,143 +1965,209 @@ msgid "From merge request merge until deploy to production" msgstr "从合并请求被合并后到部署至生产环境" msgid "From the Kubernetes cluster details view, install Runner from the applications list" -msgstr "" +msgstr "在Kubernetes群集详细信息视图中,从应用程序列表中安装Runner" msgid "GPG Keys" msgstr "GPG 密钥" msgid "Generate a default set of labels" -msgstr "" +msgstr "生成一组默认的标记" msgid "Geo Nodes" msgstr "Geo 节点" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "节点出现故障或损坏。" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "节点运行缓慢、超载, 或者在停机后刚刚恢复。" +msgid "GeoNodes|Checksummed" +msgstr "已校验" + msgid "GeoNodes|Database replication lag:" -msgstr "" +msgstr "数据库同步滞后" msgid "GeoNodes|Disabling a node stops the sync process. Are you sure?" -msgstr "" +msgstr "禁用节点会中止同步过程。确定继续吗?" msgid "GeoNodes|Does not match the primary storage configuration" -msgstr "" +msgstr "与主存储配置不一致" msgid "GeoNodes|Failed" -msgstr "" +msgstr "失败" msgid "GeoNodes|Full" -msgstr "" +msgstr "全部" msgid "GeoNodes|GitLab version does not match the primary node version" -msgstr "" +msgstr "GitLab版本与主节点版本不一致" msgid "GeoNodes|GitLab version:" -msgstr "" +msgstr "GitLab版本:" msgid "GeoNodes|Health status:" -msgstr "" +msgstr "健康状况:" msgid "GeoNodes|Last event ID processed by cursor:" -msgstr "" +msgstr "游标处理的最后事件ID:" msgid "GeoNodes|Last event ID seen from primary:" -msgstr "" +msgstr "主节点中最后事件ID:" msgid "GeoNodes|Loading nodes" -msgstr "" +msgstr "载入节点" msgid "GeoNodes|Local Attachments:" -msgstr "" +msgstr "本地附件:" msgid "GeoNodes|Local LFS objects:" -msgstr "" +msgstr "本地LFS对象:" msgid "GeoNodes|Local job artifacts:" -msgstr "" +msgstr "本地作业生成物:" msgid "GeoNodes|New node" -msgstr "" +msgstr "新建节点" + +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "节点认证已成功修复。" + +msgid "GeoNodes|Node was successfully removed." +msgstr "节点已成功删除。" + +msgid "GeoNodes|Not checksummed" +msgstr "未校验" msgid "GeoNodes|Out of sync" -msgstr "" +msgstr "不同步" + +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "删除节点会停止同步。确定继续?" msgid "GeoNodes|Replication slot WAL:" -msgstr "" +msgstr "复制槽WAL:" msgid "GeoNodes|Replication slots:" -msgstr "" +msgstr "复制槽:" + +msgid "GeoNodes|Repositories checksummed:" +msgstr "已校验仓库:" msgid "GeoNodes|Repositories:" -msgstr "" +msgstr "仓库:" + +msgid "GeoNodes|Repository checksums verified:" +msgstr "仓库校验和已验证:" msgid "GeoNodes|Selective" -msgstr "" +msgstr "选择性" + +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "更改节点状态时发生错误" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "删除节点时发生错误" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "修复节点时发生错误" msgid "GeoNodes|Storage config:" -msgstr "" +msgstr "存储设置:" msgid "GeoNodes|Sync settings:" -msgstr "" +msgstr "同步设置:" msgid "GeoNodes|Synced" -msgstr "" +msgstr "已同步" msgid "GeoNodes|Unused slots" -msgstr "" +msgstr "未使用的槽" + +msgid "GeoNodes|Unverified" +msgstr "未验证" msgid "GeoNodes|Used slots" -msgstr "" +msgstr "已使用的槽" + +msgid "GeoNodes|Verified" +msgstr "已验证" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr " Wiki校验已验证:" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "wiki已校验" msgid "GeoNodes|Wikis:" -msgstr "" +msgstr "Wiki:" msgid "GeoNodes|You have configured Geo nodes using an insecure HTTP connection. We recommend the use of HTTPS." -msgstr "" +msgstr "当前Geo节点配置使用非加密的HTTP连接, 建议使用HTTPS。" msgid "Geo|All projects" -msgstr "" +msgstr "所有项目" msgid "Geo|File sync capacity" msgstr "文件同步量" msgid "Geo|Groups to synchronize" -msgstr "" +msgstr "需同步的群组" msgid "Geo|Projects in certain groups" -msgstr "" +msgstr "特定群组中的项目" msgid "Geo|Projects in certain storage shards" -msgstr "" +msgstr "特定存储片中的项目" msgid "Geo|Repository sync capacity" -msgstr "存储库同步量" +msgstr "仓库同步量" msgid "Geo|Select groups to replicate." msgstr "选择要复制的群组。" msgid "Geo|Shards to synchronize" -msgstr "" +msgstr "需同步的存储片" + +msgid "Git repository URL" +msgstr "Git仓库URL" msgid "Git revision" -msgstr "" +msgstr "Git提交版本" msgid "Git storage health information has been reset" msgstr "Git 存储健康信息已重置" msgid "Git version" +msgstr "Git 版本" + +msgid "GitHub import" +msgstr "GitHub导入" + +msgid "GitLab CI Linter has been moved" +msgstr "GitLab CI Linter已被转移" + +msgid "GitLab Geo" msgstr "" msgid "GitLab Runner section" msgstr "GitLab Runner" -msgid "Gitaly Servers" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" msgstr "" +msgid "Gitaly Servers" +msgstr "Gitaly服务器" + +msgid "Go back" +msgstr "返回" + msgid "Go to your fork" msgstr "跳转到派生项目" @@ -1813,25 +2178,25 @@ msgid "Google authentication is not %{link_to_documentation}. Ask your GitLab ad msgstr "Google 身份验证不是%{link_to_documentation}。如果您想使用此服务,请咨询您的 GitLab 管理员。" msgid "Got it!" -msgstr "" +msgstr "了解!" msgid "GroupRoadmap|Epics let you manage your portfolio of projects more efficiently and with less effort" -msgstr "" +msgstr "利用史诗故事(Epics),产品线管理会变得更轻松且更高效" msgid "GroupRoadmap|From %{dateWord}" -msgstr "" +msgstr "从 %{dateWord}" msgid "GroupRoadmap|Loading roadmap" -msgstr "" +msgstr "载入路线图" msgid "GroupRoadmap|Something went wrong while fetching epics" -msgstr "" +msgstr "读取史诗故事时出错" msgid "GroupRoadmap|To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown – from %{startDate} to %{endDate}." -msgstr "" +msgstr "如需查看路线图,请将计划的开始或结束日期添加到当前群组或其子组中的某个史诗故事。只显示过去3个月和接下来3个月的史诗故事– 从 %{startDate} 至 %{endDate}." msgid "GroupRoadmap|Until %{dateWord}" -msgstr "" +msgstr "直到 %{dateWord}" msgid "GroupSettings|Prevent sharing a project within %{group} with other groups" msgstr "禁止与其他群组共享 %{group} 中的项目" @@ -1849,7 +2214,7 @@ msgid "GroupSettings|This setting is applied on %{ancestor_group}. You can overr msgstr "此设置已应用于 %{ancestor_group}。 您可以覆盖此设置或 %{remove_ancestor_share_with_group_lock}。" msgid "GroupSettings|This setting will be applied to all subgroups unless overridden by a group owner. Groups that already have access to the project will continue to have access unless removed manually." -msgstr "此设置将应用于所有子组,除非由组所有者覆盖。已经有权访问该项目的群组将继续访问,除非手动移除。" +msgstr "此设置将应用于所有子组,除非由组所有者覆盖。已经有权访问该项目的群组将仍然具有访问权限,除非访问权限被手动移除。" msgid "GroupSettings|cannot be disabled when the parent group \"Share with group lock\" is enabled, except by the owner of the parent group" msgstr "无法禁用父组的“共享群组锁”,只有父群组的所有者才可以操作!" @@ -1869,9 +2234,6 @@ msgstr "找不到群组" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "您可以管理群组成员的权限并访问群组中的每个项目。" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "在此群组中创建一个项目。" @@ -1902,6 +2264,9 @@ msgstr "对不起,没有任何群组或项目符合您的搜索" msgid "Have your users email" msgstr "有你的用户邮件" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "健康检查" @@ -1909,7 +2274,7 @@ msgid "Health information can be retrieved from the following endpoints. More in msgstr "健康信息可以从以下API路径获取。如需了解更多信息,请查看" msgid "HealthCheck|Access token is" -msgstr "访问令牌是" +msgstr "访问令牌为" msgid "HealthCheck|Healthy" msgstr "健康" @@ -1920,9 +2285,18 @@ msgstr "没有检测到健康问题" msgid "HealthCheck|Unhealthy" msgstr "非健康" +msgid "Help" +msgstr "帮助" + +msgid "Help page" +msgstr "帮助页面" + +msgid "Help page text and support page url." +msgstr "帮助页面文本和支持页面网址。" + msgid "Hide value" msgid_plural "Hide values" -msgstr[0] "" +msgstr[0] "隐藏值" msgid "History" msgstr "历史" @@ -1930,11 +2304,38 @@ msgstr "历史" msgid "Housekeeping successfully started" msgstr "已开始维护" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" msgstr "" +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "如果启用,则使用外部服务上的分类标签来验证对项目的访问权限。" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "如使用GitHub,GitHub上的提交和拉取请求(pull request)将会显示流水线状态。 %{more_info_link}" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "如果文件已存在,可以使用下面的 %{link_to_cli} 推送它们。" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "如果HTTP仓库不可公开访问,请将身份验证信息添加到URL: https://username:password@gitlab.company.com/group/project.git." + +msgid "Import" +msgstr "导入" + +msgid "Import all repositories" +msgstr "导入所有仓库" + +msgid "Import in progress" +msgstr "正在导入" + +msgid "Import repositories from GitHub" +msgstr "从 GitHub 导入仓库" + msgid "Import repository" -msgstr "导入存储库" +msgstr "导入仓库" + +msgid "ImportButtons|Connect repositories from" +msgstr "用以下方式连接仓库" msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "协助改进 GitLab 企业版的议题看板。" @@ -1946,7 +2347,7 @@ msgid "Improve search with Advanced Global Search and GitLab Enterprise Edition. msgstr "协助改进GitLab 企业版的搜索和高级全局搜索 。" msgid "Install Runner on Kubernetes" -msgstr "" +msgstr "在Kubernetes上安装Runner" msgid "Install a Runner compatible with GitLab CI" msgstr "安装一个与 GitLab CI 兼容的 Runner" @@ -1956,10 +2357,13 @@ msgid_plural "Instances" msgstr[0] "实例" msgid "Instance does not support multiple Kubernetes clusters" -msgstr "" +msgstr "实例不支持多个Kubernetes群集" + +msgid "Integrations" +msgstr "导入所有仓库" msgid "Interested parties can even contribute by pushing commits if they want to." -msgstr "" +msgstr "相关人员甚至可以通过推送提交来为项目作出贡献。" msgid "Internal - The group and any internal projects can be viewed by any logged in user." msgstr "内部 - 任何登录的用户都可以查看该群组和任何内部项目。" @@ -1989,7 +2393,7 @@ msgid "Issues" msgstr "议题" msgid "Issues can be bugs, tasks or ideas to be discussed. Also, issues are searchable and filterable." -msgstr "" +msgstr "议题可以是缺陷,任务或要讨论的想法。此外,可以通过搜索和过滤来查找议题。" msgid "Jan" msgstr "一" @@ -1998,7 +2402,7 @@ msgid "January" msgstr "一月" msgid "Jobs" -msgstr "" +msgstr "作业" msgid "Jul" msgstr "七" @@ -2012,29 +2416,32 @@ msgstr "六" msgid "June" msgstr "六月" -msgid "Kubernetes" +msgid "Koding" msgstr "" +msgid "Kubernetes" +msgstr "Kubernetes" + msgid "Kubernetes Cluster" -msgstr "" +msgstr "Kubernetes集群" msgid "Kubernetes cluster creation time exceeds timeout; %{timeout}" -msgstr "" +msgstr "Kubernetes集群创建时间超过超时; %{timeout}" msgid "Kubernetes cluster integration was not removed." -msgstr "" +msgstr "Kubernetes集群集成未被删除。" msgid "Kubernetes cluster integration was successfully removed." -msgstr "" +msgstr "Kubernetes集群集成已成功删除。" msgid "Kubernetes cluster was successfully updated." -msgstr "" +msgstr "Kubernetes群集已成功更新。" msgid "Kubernetes configured" -msgstr "" +msgstr "Kubernetes已配置" msgid "Kubernetes service integration has been deprecated. %{deprecated_message_content} your Kubernetes clusters using the new Kubernetes Clusters page" -msgstr "" +msgstr "Kubernetes服务集成即将被停用。 请使用新的 Kubernetes群集 页面%{deprecated_message_content} Kubernetes集群" msgid "LFSStatus|Disabled" msgstr "停用" @@ -2042,11 +2449,29 @@ msgstr "停用" msgid "LFSStatus|Enabled" msgstr "启用" +msgid "Label" +msgstr "标记" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "%{firstLabelName} +%{remainingLabelCount} 更多" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "%{labelsString}和 %{remainingLabelCount} 更多" + msgid "Labels" -msgstr "标签" +msgstr "标记" + +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "标记可以应用于 %{features}。群组标记可用于群组中的所有项目。" msgid "Labels can be applied to issues and merge requests to categorize them." -msgstr "" +msgstr "标记可用于对议题和合并请求进行分类。" + +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "将标记 %{labelTitle} 升级为群组标记?" + +msgid "Labels|Promote Label" +msgstr "升级标记" msgid "Last %d day" msgid_plural "Last %d days" @@ -2077,13 +2502,13 @@ msgid "LastPushEvent|at" msgstr "于" msgid "Learn more" -msgstr "" +msgstr "进一步了解" msgid "Learn more about Kubernetes" -msgstr "" +msgstr "进一步了解关于Kubernetes的信息" msgid "Learn more about protected branches" -msgstr "" +msgstr "进一步了解保护分支" msgid "Learn more in the" msgstr "了解更多" @@ -2104,22 +2529,22 @@ msgid "License" msgstr "许可协议" msgid "List" -msgstr "" +msgstr "列表" + +msgid "List your GitHub repositories" +msgstr "列出GitHub仓库" msgid "Loading the GitLab IDE..." -msgstr "" +msgstr "加载GitLab IDE..." msgid "Lock" msgstr "锁定" msgid "Lock %{issuableDisplayName}" -msgstr "" +msgstr "锁定 %{issuableDisplayName}" msgid "Lock not found" -msgstr "" - -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" +msgstr "未找到锁" msgid "Locked" msgstr "已锁定" @@ -2128,15 +2553,27 @@ msgid "Locked Files" msgstr "已锁定文件" msgid "Locks give the ability to lock specific file or folder." -msgstr "" +msgstr "加锁可以锁定特定的文件或文件夹。" msgid "Login" msgstr "登录" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." -msgstr "" +msgstr "GitLab Geo 可以创建 GitLab 实例的只读镜像, 使得从远端克隆和拉取大型代码仓库的时间大大缩短,提高团队成员的工作效率。" + +msgid "Manage all notifications" +msgstr "管理全部通知" + +msgid "Manage group labels" +msgstr "管理群组标记" msgid "Manage labels" +msgstr "管理标记" + +msgid "Manage project labels" +msgstr "管理项目标记" + +msgid "Manage your group’s membership while adding another level of security with SAML." msgstr "" msgid "Mar" @@ -2146,7 +2583,7 @@ msgid "March" msgstr "三月" msgid "Mark done" -msgstr "" +msgstr "标记为已完成" msgid "Maximum git storage failures" msgstr "最大 git 存储失败" @@ -2160,6 +2597,9 @@ msgstr "中位数" msgid "Members" msgstr "成员" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "合并请求" @@ -2170,71 +2610,155 @@ msgid "Merge request" msgstr "合并请求" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" -msgstr "" - -msgid "MergeRequest|Approved" -msgstr "" +msgstr "合并请求用于提出对项目的更改与他人讨论" msgid "Merged" -msgstr "" +msgstr "已合并" msgid "Messages" msgstr "消息" +msgid "Metrics - Influx" +msgstr "指标 - Influx" + +msgid "Metrics - Prometheus" +msgstr "指标 - Prometheus" + +msgid "Metrics|Business" +msgstr "业务" + +msgid "Metrics|Create metric" +msgstr "创建指标" + +msgid "Metrics|Edit metric" +msgstr "编辑指标" + +msgid "Metrics|For grouping similar metrics" +msgstr "用于分组类似指标" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "图表纵轴的标签。通常表示绘制单位。水平轴(X轴)一般表示时间。" + +msgid "Metrics|Legend label (optional)" +msgstr "图例标签(可选)" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "必须是有效的 PromQL 查询。" + +msgid "Metrics|Name" +msgstr "名称" + +msgid "Metrics|New metric" +msgstr "创建指标" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "Prometheus查询文档" + +msgid "Metrics|Query" +msgstr "查询" + +msgid "Metrics|Response" +msgstr "响应" + +msgid "Metrics|System" +msgstr "系统" + +msgid "Metrics|Type" +msgstr "类型" + +msgid "Metrics|Unit label" +msgstr "单位标签" + +msgid "Metrics|Used as a title for the chart" +msgstr "用作图表的标题" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "用于查询返回单个系列时。如果返回多个系列,相应的图例标签将从返回数据中选取。" + +msgid "Metrics|Y-axis label" +msgstr "Y轴标签" + +msgid "Metrics|e.g. HTTP requests" +msgstr "例如HTTP请求" + +msgid "Metrics|e.g. Requests/second" +msgstr "例如每秒请求数" + +msgid "Metrics|e.g. Throughput" +msgstr "例如吞吐量" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "速率(5分钟内所有http请求)" + +msgid "Metrics|e.g. req/sec" +msgstr "例如每秒请求数" + msgid "Milestone" -msgstr "" +msgstr "里程碑" msgid "Milestones|Delete milestone" -msgstr "" +msgstr "删除里程碑" msgid "Milestones|Delete milestone %{milestoneTitle}?" -msgstr "" +msgstr "删除里程碑 %{milestoneTitle}?" msgid "Milestones|Failed to delete milestone %{milestoneTitle}" -msgstr "" +msgstr "删除里程碑 %{milestoneTitle}失败" msgid "Milestones|Milestone %{milestoneTitle} was not found" -msgstr "" +msgstr "未找到里程碑 %{milestoneTitle}" + +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "将 %{milestoneTitle} 升级为群组里程碑?" + +msgid "Milestones|Promote Milestone" +msgstr "升级里程碑" + +msgid "Milestones|This action cannot be reversed." +msgstr "该操作无法撤销。" msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "新建 SSH 公钥" msgid "Modal|Cancel" -msgstr "" +msgstr "取消" msgid "Modal|Close" -msgstr "" +msgstr "关闭" msgid "Monitoring" msgstr "监控" +msgid "More info" +msgstr "更多信息" + msgid "More information" -msgstr "" +msgstr "更多信息" msgid "More information is available|here" msgstr "帮助文档" msgid "Move" -msgstr "" +msgstr "移动" msgid "Move issue" -msgstr "" +msgstr "移动议题" msgid "Multiple issue boards" msgstr "多个议题看板" msgid "Name new label" -msgstr "" +msgstr "命名新标记" msgid "New Issue" msgid_plural "New Issues" msgstr[0] "新建议题" msgid "New Kubernetes Cluster" -msgstr "" +msgstr "新建Kubernetes集群" msgid "New Kubernetes cluster" -msgstr "" +msgstr "新建Kubernetes集群" msgid "New Pipeline Schedule" msgstr "创建流水线计划" @@ -2249,7 +2773,7 @@ msgid "New directory" msgstr "新建目录" msgid "New epic" -msgstr "新EPIC" +msgstr "新建史诗故事" msgid "New file" msgstr "新建文件" @@ -2261,13 +2785,13 @@ msgid "New issue" msgstr "新建议题" msgid "New label" -msgstr "" +msgstr "新建标记" msgid "New merge request" msgstr "新建合并请求" msgid "New project" -msgstr "新项目" +msgstr "新建项目" msgid "New schedule" msgstr "新建计划" @@ -2276,31 +2800,37 @@ msgid "New snippet" msgstr "新建代码片段" msgid "New subgroup" -msgstr "新子群组" +msgstr "新建子群组" msgid "New tag" msgstr "新建标签" +msgid "No Label" +msgstr "无标记" + msgid "No assignee" -msgstr "" +msgstr "未指派" msgid "No changes" -msgstr "" +msgstr "无变更内容" msgid "No connection could be made to a Gitaly Server, please check your logs!" -msgstr "" +msgstr "无法连接到Gitaly服务器,请检查相关日志!" msgid "No due date" -msgstr "" +msgstr "无截止日期" msgid "No estimate or time spent" -msgstr "" +msgstr "无估算或消耗的时间" msgid "No file chosen" -msgstr "" +msgstr "未选定任何文件" + +msgid "No labels created yet." +msgstr "尚未创建标记" msgid "No repository" -msgstr "没有存储库" +msgstr "没有仓库" msgid "No schedules" msgstr "没有计划" @@ -2309,19 +2839,37 @@ msgid "None" msgstr "无" msgid "Not allowed to merge" -msgstr "" +msgstr "不允许合并" msgid "Not available" msgstr "数据不足" +msgid "Not available for private projects" +msgstr "对私有项目不可用" + +msgid "Not available for protected branches" +msgstr "对受保护的分支不可用" + msgid "Not confidential" -msgstr "" +msgstr "非机密" msgid "Not enough data" msgstr "数据不足" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" -msgstr "" +msgstr "请注意,master分支自动受保护。%{link_to_protected_branches}" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "提示:作为GitLab管理员,可以配置 %{github_integration_link},这将允许通过GitHub登录并允许连接Github代码仓库而不需要个人访问令牌。" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "提示:作为GitLab管理员,可以配置 %{github_integration_link},这将允许通过GitHub登录并允许导入Github代码仓库而不需要个人访问令牌。" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "提示:如GitLab管理员配置 %{github_integration_link},将允许通过GitHub登录并允许连接Github代码仓库而不需要个人访问令牌。" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "提示:如GitLab管理员配置 %{github_integration_link},将允许通过GitHub登录并允许导入Github代码仓库而不需要个人访问令牌。" msgid "Notification events" msgstr "通知事件" @@ -2381,10 +2929,10 @@ msgid "Notifications" msgstr "通知" msgid "Notifications off" -msgstr "" +msgstr "禁用通知" msgid "Notifications on" -msgstr "" +msgstr "启用通知" msgid "Nov" msgstr "十一" @@ -2396,7 +2944,7 @@ msgid "Number of access attempts" msgstr "尝试访问次数" msgid "OK" -msgstr "" +msgstr "确定" msgid "Oct" msgstr "十" @@ -2407,11 +2955,17 @@ msgstr "十月" msgid "OfSearchInADropdown|Filter" msgstr "筛选" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "仓库导入后,可以通过 SSH 拉取镜像。了解更多 %{ssh_link}" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "只有项目成员可以发表评论。" msgid "Open" -msgstr "" +msgstr "打开" msgid "Opened" msgstr "已打开" @@ -2426,6 +2980,9 @@ msgid "Options" msgstr "操作" msgid "Otherwise it is recommended you start with one of the options below." +msgstr "否则,建议您从下面的一个选项开始。" + +msgid "Outbound requests" msgstr "" msgid "Overview" @@ -2434,6 +2991,9 @@ msgstr "概览" msgid "Owner" msgstr "所有者" +msgid "Pages" +msgstr "Pages" + msgid "Pagination|Last »" msgstr "尾页 »" @@ -2446,9 +3006,21 @@ msgstr "上一页" msgid "Pagination|« First" msgstr "« 首页" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "密码" +msgid "Pending" +msgstr "等待处理" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "个人访问凭证" + msgid "Pipeline" msgstr "流水线" @@ -2528,28 +3100,55 @@ msgid "Pipelines for last year" msgstr "去年的流水线" msgid "Pipelines|Build with confidence" -msgstr "" +msgstr "自信地构建" + +msgid "Pipelines|CI Lint" +msgstr "CI 配置检查(CI Lint)" + +msgid "Pipelines|Clear Runner Caches" +msgstr "清除Runner缓存" msgid "Pipelines|Get started with Pipelines" -msgstr "" +msgstr "流水线入门" + +msgid "Pipelines|Loading Pipelines" +msgstr "载入流水线" + +msgid "Pipelines|Project cache successfully reset." +msgstr "项目缓存重置成功。" + +msgid "Pipelines|Run Pipeline" +msgstr "运行流水线" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "清理runner缓存时发生错误。" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "当前没有 %{scope}的流水线。" + +msgid "Pipelines|There are currently no pipelines." +msgstr "当前没有流水线。" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "此项目当前未配置运行流水线。" msgid "Pipeline|Retry pipeline" -msgstr "" +msgstr "重试流水线" msgid "Pipeline|Retry pipeline #%{pipelineId}?" -msgstr "" +msgstr "重试流水线#%{pipelineId}吗?" msgid "Pipeline|Stop pipeline" -msgstr "" +msgstr "停止流水线" msgid "Pipeline|Stop pipeline #%{pipelineId}?" -msgstr "" +msgstr "停止流水线#%{pipelineId}吗?" msgid "Pipeline|You’re about to retry pipeline %{pipelineId}." -msgstr "" +msgstr "即将重试流水线 %{pipelineId}。" msgid "Pipeline|You’re about to stop pipeline %{pipelineId}." -msgstr "" +msgstr "即将停止流水线 %{pipelineId}。" msgid "Pipeline|all" msgstr "所有" @@ -2563,20 +3162,29 @@ msgstr "于阶段" msgid "Pipeline|with stages" msgstr "于阶段" -msgid "Play" +msgid "PlantUML" msgstr "" +msgid "Play" +msgstr "运行" + msgid "Please enable billing for one of your projects to be able to create a Kubernetes cluster, then try again." -msgstr "" +msgstr "请 为某个项目启用计费功能,以便能够创建Kubernetes群集,然后重试。" msgid "Please solve the reCAPTCHA" msgstr "请填写验证码。" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "连接代码仓库中,请稍候。可在任意时刻刷新以获取当前状态。" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "导入代码仓库中,请稍候。可在任意时刻刷新以获取当前状态。" + msgid "Preferences" msgstr "偏好设置" msgid "Primary" -msgstr "" +msgstr "主要" msgid "Private - Project access must be granted explicitly to each user." msgstr "私人 - 必须向每个用户明确授予项目访问权限。" @@ -2585,7 +3193,7 @@ msgid "Private - The group and its projects can only be viewed by members." msgstr "私人 - 群组及其项目只能由成员查看。" msgid "Private projects can be created in your personal namespace with:" -msgstr "" +msgstr "私有项目可以在个人名称空间中创建:" msgid "Profile" msgstr "用户信息" @@ -2626,9 +3234,12 @@ msgstr "您的帐户目前是这些群组的所有者:" msgid "Profiles|your account" msgstr "您的帐户" -msgid "Programming languages used in this repository" +msgid "Profiling - Performance bar" msgstr "" +msgid "Programming languages used in this repository" +msgstr "当前代码仓库中使用的编程语言" + msgid "Project '%{project_name}' is in the process of being deleted." msgstr "项目 “%{project_name}” 正在被删除。" @@ -2645,13 +3256,10 @@ msgid "Project access must be granted explicitly to each user." msgstr "项目访问权限必须明确授权给每个用户。" msgid "Project avatar" -msgstr "" +msgstr "项目头像" msgid "Project avatar in repository: %{link}" -msgstr "" - -msgid "Project cache successfully reset." -msgstr "" +msgstr "项目头像在仓库中:%{link}" msgid "Project details" msgstr "项目详情" @@ -2672,19 +3280,19 @@ msgid "ProjectActivityRSS|Subscribe" msgstr "订阅" msgid "ProjectCreationLevel|Allowed to create projects" -msgstr "" +msgstr "允许创建项目" msgid "ProjectCreationLevel|Default project creation protection" -msgstr "" +msgstr "默认项目创建保护" msgid "ProjectCreationLevel|Developers + Masters" -msgstr "" +msgstr "Developers + Masters" msgid "ProjectCreationLevel|Masters" -msgstr "" +msgstr "Masters" msgid "ProjectCreationLevel|No one" -msgstr "" +msgstr "禁止" msgid "ProjectFeature|Disabled" msgstr "停用" @@ -2711,7 +3319,7 @@ msgid "ProjectSettings|Contact an admin to change this setting." msgstr "联系管理员更改此设置。" msgid "ProjectSettings|Only signed commits can be pushed to this repository." -msgstr "只有已签署提交才可以推送到此存储库。" +msgstr "只有已签署提交才可以推送到此仓库。" msgid "ProjectSettings|This setting is applied on the server level and can be overridden by an admin." msgstr "此设置已应用于服务器级别,可由管理员覆盖。" @@ -2723,7 +3331,7 @@ msgid "ProjectSettings|This setting will be applied to all projects unless overr msgstr "此设置将应用于所有项目,除非被管理员覆盖。" msgid "ProjectSettings|Users can only push commits to this repository that were committed with one of their own verified emails." -msgstr "用户只能通过自己已验证的电子邮件地址将提交到此存储库中。" +msgstr "用户只能通过自己已验证的电子邮件地址将提交到此仓库中。" msgid "Projects" msgstr "项目" @@ -2749,68 +3357,92 @@ msgstr "对不起,没有搜索到符合条件的项目" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "此功能需要浏览器支持 localStorage" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "找到%{exporters} 及 %{metrics}" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "

常用指标

" + msgid "PrometheusService|Active" -msgstr "" +msgstr "启用" msgid "PrometheusService|Auto configuration" -msgstr "" +msgstr "自动配置" msgid "PrometheusService|Automatically deploy and configure Prometheus on your clusters to monitor your project’s environments" -msgstr "" +msgstr "自动部署和配置Prometheus到集群来监测项目的环境" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "默认情况下,Prometheus 侦听 ‘http://localhost:9090’。不建议更改默认地址和端口,因为这可能会影响或冲突在 GitLab 服务器上运行的其他服务。" +msgid "PrometheusService|Common metrics" +msgstr "常用指标" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "常用指标会根据应用广泛的导出器指标库自动监控。" + +msgid "PrometheusService|Custom metrics" +msgstr "自定义指标" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "查找和配置指标..." +msgid "PrometheusService|Finding custom metrics..." +msgstr "查找自定义指标..." + msgid "PrometheusService|Install Prometheus on clusters" -msgstr "" +msgstr "在群集上安装Prometheus" msgid "PrometheusService|Manage clusters" -msgstr "" +msgstr "管理集群" msgid "PrometheusService|Manual configuration" -msgstr "" +msgstr "手动配置" msgid "PrometheusService|Metrics" msgstr "指标" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "指标会根据指定的指标库自动配置和监控。" - msgid "PrometheusService|Missing environment variable" msgstr "没有环境变量" -msgid "PrometheusService|Monitored" -msgstr "监测" - msgid "PrometheusService|More information" msgstr "更多的信息" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." -msgstr "没有监测指标。要开始监测,请部署到环境中。" +msgid "PrometheusService|New metric" +msgstr "新建指标" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" msgstr "Prometheus API 地址,例如 http://prometheus.example.com/" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" -msgstr "" +msgstr "Prometheus正在被群集自动管理" + +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "在首次部署到某环境之后, 这些指标才会被监控" msgid "PrometheusService|Time-series monitoring service" -msgstr "" +msgstr "时间序列监控服务" msgid "PrometheusService|To enable manual configuration, uninstall Prometheus from your clusters" -msgstr "" +msgstr "如需启用手动配置,请从群集中卸载Prometheus" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" -msgstr "" +msgstr "如需在群集上启用Prometheus的安装,请取消以下的手动配置" + +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "等待首次部署到环境以查找常用指标" -msgid "PrometheusService|View environments" -msgstr "查看环境" +msgid "Promote" +msgstr "升级" + +msgid "Promote to Group Label" +msgstr "升级到群组标记" + +msgid "Promote to Group Milestone" +msgstr "升级到群组里程碑" msgid "Protip:" -msgstr "" +msgstr "专家提示:" msgid "Public - The group and any public projects can be viewed without any authentication." msgstr "公开 - 群组和任何公共项目可以在没有任何身份验证的情况下查看。" @@ -2825,23 +3457,26 @@ msgid "Push events" msgstr "推送事件" msgid "Push project from command line" -msgstr "" +msgstr "从命令行推送项目" msgid "Push to create a project" -msgstr "" +msgstr "通过推送创建项目" msgid "PushRule|Committer restriction" msgstr "提交限制" msgid "Quick actions can be used in the issues description and comment boxes." -msgstr "" +msgstr "快速操作可用于议题描述和评论框。" msgid "Read more" -msgstr "了解更多" +msgstr "进一步了解" msgid "Readme" msgstr "自述文件" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "分支" @@ -2849,10 +3484,10 @@ msgid "RefSwitcher|Tags" msgstr "标签" msgid "Reference:" -msgstr "" +msgstr "引用:" msgid "Register / Sign In" -msgstr "" +msgstr "注册/登录" msgid "Registry" msgstr "注册表" @@ -2875,25 +3510,40 @@ msgstr "相关的合并请求" msgid "Related Merged Requests" msgstr "相关已合并的合并请求" +msgid "Related merge requests" +msgstr "相关合并请求" + msgid "Remind later" msgstr "稍后提醒" msgid "Remove" -msgstr "" +msgstr "删除" msgid "Remove avatar" -msgstr "" +msgstr "删除头像" msgid "Remove project" msgstr "删除项目" msgid "Repair authentication" -msgstr "" +msgstr "修复认证" + +msgid "Repo by URL" +msgstr "从URL导入仓库" msgid "Repository" -msgstr "存储库" +msgstr "仓库" msgid "Repository has no locks." +msgstr "当前仓库无加锁文件。" + +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" msgstr "" msgid "Request Access" @@ -2909,11 +3559,14 @@ msgid "Reset runners registration token" msgstr "重置 Runner 注册令牌" msgid "Resolve discussion" -msgstr "" +msgstr "解决讨论" + +msgid "Response" +msgstr "响应" msgid "Reveal value" msgid_plural "Reveal values" -msgstr[0] "" +msgstr[0] "显示值" msgid "Revert this commit" msgstr "还原此提交" @@ -2921,7 +3574,34 @@ msgstr "还原此提交" msgid "Revert this merge request" msgstr "还原此合并请求" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "检查" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" +msgstr "路线图" + +msgid "Run CI/CD pipelines for external repositories" +msgstr "使用外部仓库的CI/CD流水线" + +msgid "Runners" +msgstr "Runner" + +msgid "Running" +msgstr "运行中" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." msgstr "" msgid "SSH Keys" @@ -2934,11 +3614,14 @@ msgid "Save pipeline schedule" msgstr "保存流水线计划" msgid "Save variables" -msgstr "" +msgstr "保存变量" msgid "Schedule a new pipeline" msgstr "新建流水线计划" +msgid "Scheduled" +msgstr "已加入日程" + msgid "Schedules" msgstr "日程" @@ -2948,17 +3631,20 @@ msgstr "流水线计划" msgid "Scoped issue boards" msgstr "议题看板范围" +msgid "Search" +msgstr "搜索" + msgid "Search branches and tags" msgstr "搜索分支和标签" msgid "Search milestones" -msgstr "" +msgstr "搜索里程碑" msgid "Search project" -msgstr "" +msgstr "搜索项目" msgid "Search users" -msgstr "" +msgstr "搜索用户" msgid "Seconds before reseting failure information" msgstr "重置失败信息等待时间(秒)" @@ -2967,10 +3653,10 @@ msgid "Seconds to wait for a storage access attempt" msgstr "等待存储访问尝试时间(秒)" msgid "Secret variables" -msgstr "" +msgstr "加密变量" msgid "Security report" -msgstr "" +msgstr "安全报告" msgid "Select Archive Format" msgstr "选择下载格式" @@ -2979,22 +3665,22 @@ msgid "Select a timezone" msgstr "选择时区" msgid "Select an existing Kubernetes cluster or create a new one" -msgstr "" +msgstr "选择一个既有的Kubernetes集群或者创建一个新的" msgid "Select assignee" -msgstr "" +msgstr "选择指派人" msgid "Select branch/tag" -msgstr "" +msgstr "选择分支/标签" msgid "Select target branch" msgstr "选择目标分支" msgid "Selective synchronization" -msgstr "" +msgstr "选择性同步" msgid "Send email" -msgstr "" +msgstr "发送电子邮件" msgid "Sep" msgstr "九" @@ -3003,23 +3689,41 @@ msgid "September" msgstr "九月" msgid "Server version" -msgstr "" +msgstr "服务器版本" msgid "Service Templates" msgstr "服务模板" msgid "Service URL" -msgstr "" +msgstr "服务URL" + +msgid "Session expiration, projects limit and attachment size." +msgstr "会话有效期,项目限制及附件大小。" msgid "Set a password on your account to pull or push via %{protocol}." msgstr "为账号创建一个用于推送或拉取的 %{protocol} 密码。" -msgid "Set up CI/CD" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "设定缺省及受限可见性级别。配置导入来源及git访问协议。" + +msgid "Set max session time for web terminal." msgstr "" +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "设定用户登录的条件。启用强制双重认证。" + +msgid "Set up CI/CD" +msgstr "配置 CI/CD" + msgid "Set up Koding" msgstr "设置 Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "设置密码" @@ -3027,19 +3731,22 @@ msgid "Settings" msgstr "设置" msgid "Setup a specific Runner automatically" +msgstr "自动创建独享Runner" + +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" msgstr "" msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." -msgstr "" +msgstr "通过重置此命名空间的流水线分钟数,当前使用的分钟数将被归零。" msgid "SharedRunnersMinutesSettings|Reset pipeline minutes" -msgstr "" +msgstr "重置流水线分钟数" msgid "SharedRunnersMinutesSettings|Reset used pipeline minutes" -msgstr "" +msgstr "重置已用流水线分钟数" msgid "Show command" -msgstr "" +msgstr "显示命令" msgid "Show parent pages" msgstr "查看上级页面" @@ -3063,29 +3770,35 @@ msgstr "无" msgid "Sidebar|Weight" msgstr "权重" +msgid "Sign-in restrictions" +msgstr "登录限制" + +msgid "Sign-up restrictions" +msgstr "注册限制" + +msgid "Size and domain settings for static websites" +msgstr "静态网站的大小和域设置" + +msgid "Slack application" +msgstr "" + msgid "Snippets" msgstr "代码片段" msgid "Something went wrong on our end" -msgstr "" +msgstr "出错了,抱歉。" msgid "Something went wrong on our end." -msgstr "发生了错误。" - -msgid "Something went wrong trying to change the confidentiality of this issue" -msgstr "" - -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" -msgstr "试图改变 ${this.issuableDisplayName} 的锁定状态时出错了" +msgstr "出错了,抱歉。" msgid "Something went wrong when toggling the button" -msgstr "" +msgstr "点击按钮时出错" -msgid "Something went wrong while closing the %{issuable}. Please try again later" -msgstr "" +msgid "Something went wrong while fetching Dependency Scanning." +msgstr "读取依赖扫描结果时发生错误。" msgid "Something went wrong while fetching SAST." -msgstr "" +msgstr "读取SAST 时出错。" msgid "Something went wrong while fetching the projects." msgstr "拉取项目时发生错误。" @@ -3093,14 +3806,8 @@ msgstr "拉取项目时发生错误。" msgid "Something went wrong while fetching the registry list." msgstr "拉取注册表列表时发生错误。" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" -msgstr "" - -msgid "Something went wrong while resolving this discussion. Please try again." -msgstr "" - msgid "Something went wrong. Please try again." -msgstr "" +msgstr "出现错误。请重试。" msgid "Sort by" msgstr "排序" @@ -3124,13 +3831,13 @@ msgid "SortOptions|Due soon" msgstr "即将截止" msgid "SortOptions|Label priority" -msgstr "标签优先" +msgstr "标记优先" msgid "SortOptions|Largest group" msgstr "最大群组" msgid "SortOptions|Largest repository" -msgstr "最大存储库" +msgstr "最大仓库" msgid "SortOptions|Last created" msgstr "最近创建" @@ -3205,7 +3912,7 @@ msgid "Source" msgstr "源" msgid "Source (branch or tag)" -msgstr "" +msgstr "源(分支或标签)" msgid "Source code" msgstr "源代码" @@ -3216,12 +3923,21 @@ msgstr "源不可用" msgid "Spam Logs" msgstr "垃圾信息日志" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "在 Runner 设置时指定以下 URL:" msgid "StarProject|Star" msgstr "星标" +msgid "Starred Projects" +msgstr "已星标项目" + +msgid "Starred Projects' Activity" +msgstr "已星标项目的活动" + msgid "Starred projects" msgstr "已星标项目" @@ -3231,11 +3947,20 @@ msgstr "由此更改 %{new_merge_request}" msgid "Start the Runner!" msgstr "启动 Runner!" +msgid "Started" +msgstr "已启动" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "状态" + msgid "Stopped" msgstr "已停止" msgid "Storage" -msgstr "" +msgstr "存储" msgid "Subgroups" msgstr "子群组" @@ -3243,12 +3968,18 @@ msgstr "子群组" msgid "Switch branch/tag" msgstr "切换分支/标签" +msgid "System" +msgstr "系统" + msgid "System Hooks" msgstr "系统钩子" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" -msgstr[0] "" +msgstr[0] "标签(%{tag_count})" msgid "Tags" msgstr "标签" @@ -3284,10 +4015,10 @@ msgid "TagsPage|Filter by tag name" msgstr "根据标签名称过滤" msgid "TagsPage|New Tag" -msgstr "新标签" +msgstr "新建标签" msgid "TagsPage|New tag" -msgstr "新标签" +msgstr "新建标签" msgid "TagsPage|Optionally, add a message to the tag." msgstr "(可选)添加一条消息到标签。" @@ -3308,7 +4039,7 @@ msgid "TagsPage|Tags" msgstr "标签" msgid "TagsPage|Tags give the ability to mark specific points in history as being important" -msgstr "标签具有在提交历史上标记特定提交的能力" +msgstr "使用标签,可以标记提交历史上的特定点为重要提交" msgid "TagsPage|This tag has no release notes." msgstr "此标签没有发行说明。" @@ -3325,6 +4056,9 @@ msgstr "已保护" msgid "Target Branch" msgstr "目标分支" +msgid "Target branch" +msgstr "目标分支" + msgid "Team" msgstr "团队" @@ -3332,13 +4066,16 @@ msgid "Thanks! Don't show me this again" msgstr "谢谢 ! 请不要再显示" msgid "The Advanced Global Search in GitLab is a powerful search service that saves you time. Instead of creating duplicate code and wasting time, you can now search for code within other teams that can help your own project." -msgstr "GitLab 中的高级全局搜索功能是非常强大的搜索服务。您可以搜索其他团队的代码以帮助您完善自己项目中的代码。从而避免创建重复的代码和浪费时间。" +msgstr "GitLab 中的高级全局搜索是一项功能强大的搜索服务,有助于节约项目开发时间。您可以搜索其他团队的代码中对自己项目有帮助的部分加以利用,从而避免创建重复代码和浪费时间。" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project" -msgstr "" +msgstr "议题跟踪用于管理需要改进或者解决的问题" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." -msgstr "" +msgstr "议题跟踪用于管理需要改进或者解决的问题。请注册或登录后为当前项目创建议题。" + +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "在需要相互 TLS 与外部授权服务通信时使用的 X509 证书。如果保留为空, 则在访问 HTTPS 时仍然验证服务器证书。" msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "编码阶段概述了从第一次提交到创建合并请求的时间。创建第一个合并请求后,数据将自动添加到此处。" @@ -3346,14 +4083,20 @@ msgstr "编码阶段概述了从第一次提交到创建合并请求的时间。 msgid "The collection of events added to the data gathered for that stage." msgstr "与该阶段相关的事件集合。" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "该连接将在 %{timeout}后超时。对于需要长于该时间才能导入的仓库,请使用克隆/推送组合。" + msgid "The fork relationship has been removed." msgstr "派生关系已被删除。" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "该导入过程将在 %{timeout}后超时。对于需要长于该时间才能导入的仓库,请使用克隆/推送组合。" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "议题阶段概述了从创建议题到将议题添加到里程碑或议题看板所花费的时间。创建第一个议题后,数据将自动添加到此处.。" msgid "The maximum file size allowed is 200KB." -msgstr "" +msgstr "文件大小限制为 200KB。" msgid "The number of attempts GitLab will make to access a storage." msgstr "GitLab 访问存储的次数。" @@ -3361,12 +4104,18 @@ msgstr "GitLab 访问存储的次数。" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "GitLab 将完全阻止访问存储的故障次数。可以在管理界面%{link_to_health_page}或使用%{api_documentation_link}重置故障次数。" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "解密私钥所需的密码短语。该项为可选项, 并且内容被加密存储。" + msgid "The phase of the development lifecycle." msgstr "项目生命周期中的各个阶段。" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "计划阶段概述了从议题添加到日程到推送首次提交的时间。当首次推送提交后,数据将自动添加到此处。" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "提供客户端证书时使用的私钥。该值被加密存储。" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "生产阶段概述了从创建一个议题到将代码部署到生产环境的总时间。当完成想法到部署生产的循环,数据将自动添加到此处。" @@ -3377,16 +4126,19 @@ msgid "The project can be accessed without any authentication." msgstr "该项目允许任何人访问。" msgid "The repository for this project does not exist." -msgstr "此项目的存储库不存在。" +msgstr "此项目的仓库不存在。" msgid "The repository for this project is empty" -msgstr "" +msgstr "该项目的仓库是空的" + +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "该仓库必须可通过http://, https://git://进行访问。" msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "评审阶段概述了从创建合并请求到被合并的时间。当创建第一个合并请求后,数据将自动添加到此处。" msgid "The roadmap shows the progress of your epics along a timeline" -msgstr "" +msgstr "路线图显示了史诗故事沿着时间线的进展情况" msgid "The staging stage shows the time between merging the MR and deploying code to the production environment. The data will be automatically added once you deploy to production for the first time." msgstr "预发布阶段概述了从合并请求被合并到部署至生产环境的总时间。首次部署到生产环境后,数据将自动添加到此处。" @@ -3401,7 +4153,7 @@ msgid "The time in seconds GitLab will try to access storage. After this time a msgstr "GitLab 将尝试访问存储的时间(秒)。在此时间之后将引发超时错误。" msgid "The time in seconds between storage checks. When a previous check did complete yet, GitLab will skip a check." -msgstr "" +msgstr "存储检查之间的时间间隔(秒)。如上次检查尚未完成,GitLab将跳过当前检查。" msgid "The time taken by each data entry gathered by that stage." msgstr "该阶段每条数据所花的时间" @@ -3410,46 +4162,49 @@ msgid "The value lying at the midpoint of a series of observed values. E.g., bet msgstr "中位数是一个数列中最中间的值。例如在 3、5、9 之间,中位数是 5。在 3、5、7、8 之间,中位数是 (5 + 7)/ 2 = 6。" msgid "There are no issues to show" -msgstr "" +msgstr "当前无议题" msgid "There are no merge requests to show" -msgstr "" +msgstr "当前无合并请求" msgid "There are problems accessing Git storage: " msgstr "访问 Git 存储时出现问题:" +msgid "There was an error loading results" +msgstr "加载结果时出错" + msgid "There was an error loading users activity calendar." -msgstr "" +msgstr "加载用户活动日历时出错。" msgid "There was an error saving your notification settings." -msgstr "" +msgstr "保存通知设置时发生错误。" msgid "There was an error subscribing to this label." -msgstr "" +msgstr "订阅此标记时出错。" msgid "There was an error when reseting email token." -msgstr "" +msgstr "重置电子邮件令牌时出错。" msgid "There was an error when subscribing to this label." -msgstr "" +msgstr "订阅此标记时出错。" msgid "There was an error when unsubscribing from this label." -msgstr "" +msgstr "取消订阅此标记时出错。" msgid "This board\\'s scope is reduced" msgstr "这个看板的范围缩小了" msgid "This directory" -msgstr "" +msgstr "当前目录" msgid "This is a confidential issue." msgstr "这是一个机密议题。" msgid "This is the author's first Merge Request to this project." -msgstr "这是作者为项目贡献的第一个合并请求。" +msgstr "这是作者为当前项目贡献的第一个合并请求。" msgid "This issue is confidential" -msgstr "" +msgstr "当前问题为私密问题" msgid "This issue is confidential and locked." msgstr "这个是机密且已锁定的议题。" @@ -3458,37 +4213,40 @@ msgid "This issue is locked." msgstr "此议题已锁定。" msgid "This job depends on a user to trigger its process. Often they are used to deploy code to production environments" -msgstr "" +msgstr "当前作业需要用户触发其过程。此类作业通常用于将代码部署到生产环境" msgid "This job depends on upstream jobs that need to succeed in order for this job to be triggered" -msgstr "" +msgstr "当前作业需在上级作业成功后才可被启动。" msgid "This job has not been triggered yet" -msgstr "" +msgstr "作业还未被触发" msgid "This job has not started yet" -msgstr "" +msgstr "作业还未开始" msgid "This job is in pending state and is waiting to be picked by a runner" -msgstr "" +msgstr "作业挂起中,等待进入队列" msgid "This job requires a manual action" -msgstr "" +msgstr "作业需手工操作" msgid "This means you can not push code until you create an empty repository or import existing one." -msgstr "在创建一个空的存储库或导入现有存储库之前,将无法推送代码。" +msgstr "在创建一个空的仓库或导入现有仓库之前,将无法推送代码。" msgid "This merge request is locked." msgstr "此合并请求已锁定。" msgid "This page is unavailable because you are not allowed to read information across multiple projects." -msgstr "" +msgstr "此页面不可用,您无权跨项目阅读相关信息。" msgid "This project" -msgstr "" +msgstr "当前项目" msgid "This repository" -msgstr "" +msgstr "当前仓库" + +msgid "This will delete the custom metric, Are you sure?" +msgstr "此操作将删除自定义指标,确定继续吗?" msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "这些电子邮件自动生成为问题(评论生成为电子邮件对话)在这里列出。" @@ -3502,20 +4260,26 @@ msgstr "开始进行编码前的时间" msgid "Time between merge request creation and merge/close" msgstr "从创建合并请求到被合并或关闭的时间" -msgid "Time tracking" +msgid "Time between updates and capacity settings." msgstr "" +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "GitLab等待外部服务的响应时间(秒)。当服务没有及时响应时,访问将被拒绝。" + +msgid "Time tracking" +msgstr "工时统计" + msgid "Time until first merge request" msgstr "创建第一个合并请求之前的时间" msgid "TimeTrackingEstimated|Est" -msgstr "" +msgstr "预计" msgid "TimeTracking|Estimated:" -msgstr "" +msgstr "预计:" msgid "TimeTracking|Spent" -msgstr "" +msgstr "已用:" msgid "Timeago|%s days ago" msgstr " %s 天前" @@ -3652,25 +4416,55 @@ msgid "Time|s" msgstr "秒" msgid "Tip:" -msgstr "" +msgstr "提示:" msgid "Title" msgstr "标题" -msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." +msgid "To GitLab" +msgstr "到GitLab" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "可以使用 %{personal_access_token_link}连接GitHub仓库。当创建个人访问令牌时,需要选择 repo 范围,以显示可供连接的公共和私有的仓库列表。" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "要连接GitHub仓库,首先需要授权GitLab访问列表中的GitHub仓库:" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "要连接SVN仓库,请查看 %{svn_link}。" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "可以使用 %{personal_access_token_link}导入GitHub仓库。当创建个人访问令牌时,需要选择 repo 范围,以显示可导入的公共和私有的仓库列表。" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "要导入GitHub仓库,首先需要授权GitLab访问列表中的GitHub仓库:" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "要导入SVN仓库,请查看 %{svn_link}。" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "要仅为外部仓库使用CI / CD功能时,请选择使用外部仓库运行CI/CD。" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" msgstr "" +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "如需验证GitLab CI设置,请访问当前项目的'CI/CD → 流水线',然后点击'CI Lint'按钮。" + +msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." +msgstr "如需查看路线图,请将计划的开始或结束日期添加到当前群组或其子组中的某个史诗故事。只显示过去3个月和接下来3个月的史诗故事。" + msgid "Todo" -msgstr "" +msgstr "待办事项" msgid "Toggle sidebar" -msgstr "" +msgstr "切换边栏" msgid "ToggleButton|Toggle Status: OFF" -msgstr "" +msgstr "切换状态:关闭" msgid "ToggleButton|Toggle Status: ON" -msgstr "" +msgstr "切换状态:开启" msgid "Total Time" msgstr "总时间" @@ -3679,46 +4473,40 @@ msgid "Total test time for all commits/merges" msgstr "所有提交和合并的总测试时间" msgid "Total: %{total}" -msgstr "" +msgstr "总计:%{total}" msgid "Track activity with Contribution Analytics." msgstr "跟踪活动与贡献的分析。" msgid "Track groups of issues that share a theme, across projects and milestones" -msgstr "在项目和里程碑之间跟踪共享主题的议题组" +msgstr "在不同项目和里程碑中跟踪具有同一主题的议题组" msgid "Track time with quick actions" -msgstr "" +msgstr "使用快捷操作来统计工时" msgid "Trigger this manual action" -msgstr "" +msgstr "触发此手动操作" msgid "Turn on Service Desk" msgstr "打开服务台" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" -msgstr "" +msgstr "未知的" msgid "Unlock" msgstr "解锁" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "已解锁" msgid "Unresolve discussion" -msgstr "" +msgstr "待解决的讨论" msgid "Unstar" msgstr "取消星标" msgid "Up to date" -msgstr "" +msgstr "已是最新" msgid "Upgrade your plan to activate Advanced Global Search." msgstr "升级您的方案以启用高级全局搜索。" @@ -3742,11 +4530,17 @@ msgid "Upload file" msgstr "上传文件" msgid "Upload new avatar" -msgstr "" +msgstr "上传新头像" msgid "UploadLink|click to upload" msgstr "点击上传" +msgid "Upvotes" +msgstr "顶" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "使用服务台在GitLab内部通过电子邮件与用户联系(例如提供客户支持)" @@ -3756,24 +4550,51 @@ msgstr "在安装过程中使用以下注册令牌:" msgid "Use your global notification setting" msgstr "使用全局通知设置" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." +msgstr "变量通过runner作用于环境中。可将变量限制为仅受保护的分支或标签可以访问。可以使用变量来保存密码、密钥或任何其他内容。" + +msgid "Various container registry settings." msgstr "" -msgid "View epics list" +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." msgstr "" +msgid "View and edit lines" +msgstr "查看和编辑行" + +msgid "View epics list" +msgstr "查看史诗故事列表" + msgid "View file @ " msgstr "浏览文件 @ " +msgid "View group labels" +msgstr "查看群组标记" + msgid "View labels" -msgstr "" +msgstr "查看标记" msgid "View open merge request" msgstr "查看待处理的合并请求" +msgid "View project labels" +msgstr "查看项目标记" + msgid "View replaced file @ " msgstr "查看替换文件 @ " +msgid "Visibility and access controls" +msgstr "可见性与访问控制" + msgid "VisibilityLevel|Internal" msgstr "内部" @@ -3790,7 +4611,7 @@ msgid "Want to see the data? Please ask an administrator for access." msgstr "权限不足。如需查看相关数据,请向管理员申请权限。" msgid "We could not verify that one of your projects on GCP has billing enabled. Please try again." -msgstr "" +msgstr "无法验证您在 GCP 上的某个项目是否启用了计费。请重试。" msgid "We don't have enough data to show this stage." msgstr "该阶段的数据不足,无法显示。" @@ -3799,6 +4620,9 @@ msgid "We want to be sure it is you, please confirm you are not a robot." msgstr "我们要确定你是不是机器人。" msgid "Web IDE" +msgstr "Web IDE" + +msgid "Web terminal" msgstr "" msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." @@ -3807,6 +4631,9 @@ msgstr "如果有新的推送或新的议题,Webhook将自动触发您设置UR msgid "Weight" msgstr "权重" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "将URL保留为空白时,仍可指定分类标签,而无需禁用跨项目功能或执行外部授权检查。" + msgid "Wiki" msgstr "Wiki" @@ -3826,10 +4653,10 @@ msgid "WikiClone|Start Gollum and edit locally" msgstr "启动 Gollum 并在本地编辑" msgid "WikiEditPageTip|Tip: You can move this page by adding the path to the beginning of the title." -msgstr "" +msgstr "提示:可以通过将路径添加到标题开头来移动此页面。" msgid "WikiEdit|There is already a page with the same title in that path." -msgstr "" +msgstr "在该路径中已经有一个具有相同标题的页面。" msgid "WikiEmptyPageError|You are not allowed to create wiki pages" msgstr "您不能创建 wiki 页面" @@ -3922,37 +4749,43 @@ msgid "Withdraw Access Request" msgstr "取消权限申请" msgid "Write a commit message..." -msgstr "" +msgstr "填写提交信息..." msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "即将删除 %{group_name}。已删除的群组无法恢复!确定继续吗?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "即将要删除 %{project_name_with_namespace}。已删除的项目无法恢复!确定继续吗?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "将要删除 %{project_full_name}。删除后将无法恢复!确定执行此操作?" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "即将删除与源项目 %{forked_from_project} 的派生关系。确定继续吗?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "即将 %{project_name_with_namespace} 转移给另一个所有者。确定继续吗?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "将要把 %{project_full_name} 转移给另一个所有者。确定执行此操作?" + +msgid "You are on a read-only GitLab instance." +msgstr "当前正在访问只读 GitLab 实例。" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "当前正在访问Geo次(只读)节点。如需进行任何写入操作,必须访问%{primary_node}。" msgid "You can also create a project from the command line." -msgstr "" +msgstr "可以使用命令行来创建项目。" msgid "You can also star a label to make it a priority label." -msgstr "" +msgstr "可以通过为标记设置星标来提高其优先级。" msgid "You can easily install a Runner on a Kubernetes cluster. %{link_to_help_page}" -msgstr "" +msgstr "可以轻松地在Kubernetes群集上安装Runner。 %{link_to_help_page}" msgid "You can move around the graph by using the arrow keys." -msgstr "" +msgstr "可以使用方向键移动图形。" msgid "You can only add files when you are on a branch" msgstr "只能在分支上添加文件" msgid "You can only edit files when you are on a branch" -msgstr "" +msgstr "只能在分支上编辑文件" msgid "You cannot write to a read-only secondary GitLab Geo instance. Please use %{link_to_primary_node} instead." msgstr "您不能写入只读的辅助 GitLab Geo 实例。请改用%{link_to_primary_node}。" @@ -3961,22 +4794,22 @@ msgid "You cannot write to this read-only GitLab instance." msgstr "您不能写入这个只读的 GitLab 实例。" msgid "You do not have the correct permissions to override the settings from the LDAP group sync." -msgstr "" +msgstr "没有足够权限来修改LDAP组同步中的设置。" msgid "You have no permissions" -msgstr "" +msgstr "没有权限" msgid "You have reached your project limit" msgstr "您已达到项目数量限制" msgid "You must have master access to force delete a lock" -msgstr "" +msgstr "必须拥有 master 权限才能强制解除锁定" msgid "You must sign in to star a project" msgstr "必须登录才能对项目加星标" msgid "You need a different license to enable FileLocks feature" -msgstr "" +msgstr "需要使用与当前不同的许可(license)才能启用FileLocks功能" msgid "You need permission." msgstr "需要相关的权限。" @@ -4006,13 +4839,31 @@ msgid "You won't be able to pull or push project code via SSH until you add an S msgstr "在您的个人资料中添加SSH密钥之前,您不能通过SSH来拉取或推送项目代码。" msgid "You'll need to use different branch names to get a valid comparison." -msgstr "" +msgstr "需要使用不同的分支才能进行有效的比较。" + +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "您收到这封电子邮件是因为你在 %{host} 拥有帐户。 %{manage_notifications_link} · %{help_link}" + +msgid "Your Groups" +msgstr "您的群组" msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" -msgstr "" +msgstr "在此页面上的Kubernetes群集信息仍可编辑,但建议您禁用并重新配置" + +msgid "Your Projects (default)" +msgstr "您的项目 (默认值)" + +msgid "Your Projects' Activity" +msgstr "您的项目活动" + +msgid "Your Todos" +msgstr "您的待办事项" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "合并请求已开启,可以提交变更到%{branch_name}。" msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" -msgstr "" +msgstr "更改已提交。提交 %{commitId} %{commitStats}" msgid "Your comment will not be visible to the public." msgstr "您的评论将不会公开显示。" @@ -4026,8 +4877,15 @@ msgstr "您的名字" msgid "Your projects" msgstr "您的项目" +msgid "among other things" +msgstr "除其他事项外" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "及%d个修复的漏洞" + msgid "assign yourself" -msgstr "" +msgstr "分配给自己" msgid "branch name" msgstr "分支名称" @@ -4035,253 +4893,321 @@ msgstr "分支名称" msgid "by" msgstr "来自" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "%{type} 未发现新的安全漏洞" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "%{type} 未发现安全漏洞" + msgid "ciReport|Code quality" -msgstr "" +msgstr "代码质量" msgid "ciReport|DAST detected no alerts by analyzing the review app" -msgstr "" +msgstr "DAST在审阅应用中未检测到告警" + +msgid "ciReport|Dependency scanning" +msgstr "依赖关系扫描" + +msgid "ciReport|Dependency scanning detected" +msgstr "依赖关系扫描检测到" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "依赖关系扫描未检测到新的安全漏洞" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "依赖关系扫描未检测到安全漏洞" msgid "ciReport|Failed to load %{reportName} report" -msgstr "" +msgstr "无法加载 %{reportName} 报告" msgid "ciReport|Fixed:" -msgstr "" +msgstr "失败:" msgid "ciReport|Instances" -msgstr "" +msgstr "实例" msgid "ciReport|Learn more about whitelisting" -msgstr "" +msgstr "进一步了解关于白名单的信息" msgid "ciReport|Loading %{reportName} report" -msgstr "" +msgstr "载入%{reportName} 报告" msgid "ciReport|No changes to code quality" -msgstr "" +msgstr "代码质量无变化" msgid "ciReport|No changes to performance metrics" -msgstr "" +msgstr "性能指标无变化" msgid "ciReport|Performance metrics" -msgstr "" +msgstr "性能指标" msgid "ciReport|SAST" -msgstr "" - -msgid "ciReport|SAST degraded on" -msgstr "" +msgstr "SAST" msgid "ciReport|SAST detected" -msgstr "" +msgstr "SAST检测到" msgid "ciReport|SAST detected no new security vulnerabilities" -msgstr "" +msgstr "SAST未发现新的安全漏洞" msgid "ciReport|SAST detected no security vulnerabilities" -msgstr "" +msgstr "SAST未发现安全漏洞" msgid "ciReport|SAST:container no vulnerabilities were found" -msgstr "" +msgstr "SAST:container未发现漏洞" + +msgid "ciReport|Security scanning" +msgstr "安全扫描" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "安全扫描无法加载任何结果" msgid "ciReport|Show complete code vulnerabilities report" -msgstr "" +msgstr "显示完整的代码漏洞报告" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" -msgstr "" +msgstr "未批准的漏洞 (红色) 可以标记为已批准。 %{helpLink}" -msgid "ciReport|no security vulnerabilities" -msgstr "" +msgid "ciReport|no vulnerabilities" +msgstr "未检测到安全漏洞" msgid "command line instructions" -msgstr "" - -msgid "commit" -msgstr "提交" +msgstr "命令行指南" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" +msgid "connecting" +msgstr "连接中" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." -msgstr "" +msgid "could not read private key, is the passphrase correct?" +msgstr "无法读取私钥,密码短语是否正确?" msgid "day" msgid_plural "days" msgstr[0] "天" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "检测到%d个安全漏洞已修复" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "检测到%d个新的安全漏洞" + +msgid "detected no vulnerabilities" +msgstr "未检测到安全漏洞" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." -msgstr "" +msgstr "最后一次%{slash_command} 命令将更新预计时间。" + +msgid "here" +msgstr "此处" + +msgid "importing" +msgstr "导入中" + +msgid "in progress" +msgstr "进行中" msgid "is invalid because there is downstream lock" -msgstr "" +msgstr "因下游锁定而无效" msgid "is invalid because there is upstream lock" -msgstr "" +msgstr "因上游锁定而无效" + +msgid "is not a valid X509 certificate." +msgstr "不是有效的X509证书。" msgid "locked by %{path_lock_user_name} %{created_at}" -msgstr "" +msgstr "被 %{path_lock_user_name} 于 %{created_at} 锁定" msgid "merge request" msgid_plural "merge requests" -msgstr[0] "" +msgstr[0] "合并请求" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" -msgstr "" +msgstr "请恢复此分支或使用其他的 %{missingBranchName} 分支" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "%{metricsLinkStart} 内存 %{metricsLinkEnd} 占用 %{emphasisStart} 下降 %{emphasisEnd},从 %{memoryFrom}MB 到 %{memoryTo}MB" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "%{metricsLinkStart} 内存 %{metricsLinkEnd} 占用 %{emphasisStart} 上升 %{emphasisEnd},从 %{memoryFrom}MB 到 %{memoryTo}MB" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "%{metricsLinkStart} 内存 %{metricsLinkEnd} 占用 %{emphasisStart} 无变化 %{emphasisEnd}, 保持在 %{memoryFrom}MB" msgid "mrWidget|Add approval" -msgstr "" +msgstr "增加批准" + +msgid "mrWidget|Allows edits from maintainers" +msgstr "允许上游项目维护人员进行编辑。" msgid "mrWidget|An error occured while removing your approval." -msgstr "" +msgstr "删除批准时发生错误。" msgid "mrWidget|An error occured while retrieving approval data for this merge request." -msgstr "" +msgstr "读取此合并请求的批准数据时发生错误。" msgid "mrWidget|An error occured while submitting your approval." -msgstr "" +msgstr "提交批准时发生错误。" msgid "mrWidget|Approve" +msgstr "批准" + +msgid "mrWidget|Approved" msgstr "" msgid "mrWidget|Approved by" -msgstr "" +msgstr "批准人:" msgid "mrWidget|Cancel automatic merge" -msgstr "" +msgstr "取消自动合并" msgid "mrWidget|Check out branch" -msgstr "" +msgstr "检出分支" msgid "mrWidget|Checking ability to merge automatically" -msgstr "" +msgstr "检查是否可以自动合并" msgid "mrWidget|Cherry-pick" -msgstr "" +msgstr "优选" msgid "mrWidget|Cherry-pick this merge request in a new merge request" -msgstr "" +msgstr "通过新的合并请求中优选此合并请求" msgid "mrWidget|Closed" -msgstr "" +msgstr "已关闭" msgid "mrWidget|Closed by" -msgstr "" +msgstr "关闭:" msgid "mrWidget|Closes" -msgstr "" +msgstr "关闭" + +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "部署统计信息当前不可用" msgid "mrWidget|Did not close" -msgstr "" +msgstr "没有关闭" msgid "mrWidget|Email patches" -msgstr "" +msgstr "通过电子邮件发出补丁" + +msgid "mrWidget|Failed to load deployment statistics" +msgstr "无法加载部署统计信息" msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" -msgstr "" +msgstr "如果 %{branch} 分支存在于本地仓库中,则可以手动合并该合并请求。需使用" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" -msgstr "" +msgstr "如果 %{missingBranchName} 分支存在于本地仓库中,则可以通过以下命令行手动合并该合并请求。" + +msgid "mrWidget|Loading deployment statistics" +msgstr "加载部署统计信息中" msgid "mrWidget|Mentions" -msgstr "" +msgstr "提及" msgid "mrWidget|Merge" -msgstr "" +msgstr "合并" msgid "mrWidget|Merge failed." -msgstr "" +msgstr "合并失败。" msgid "mrWidget|Merge locally" -msgstr "" +msgstr "本地合并" msgid "mrWidget|Merged by" -msgstr "" +msgstr "合并:" msgid "mrWidget|Plain diff" -msgstr "" +msgstr "文本差异" msgid "mrWidget|Refresh" -msgstr "" +msgstr "刷新" msgid "mrWidget|Refresh now" -msgstr "" +msgstr "立即刷新" msgid "mrWidget|Refreshing now" -msgstr "" +msgstr "立即刷新" msgid "mrWidget|Remove Source Branch" -msgstr "" +msgstr "删除源分支" msgid "mrWidget|Remove source branch" -msgstr "" +msgstr "删除源分支" msgid "mrWidget|Remove your approval" -msgstr "" +msgstr "删除您的批准" msgid "mrWidget|Request to merge" -msgstr "" +msgstr "请求合并" msgid "mrWidget|Resolve conflicts" -msgstr "" +msgstr "解决冲突" msgid "mrWidget|Revert" -msgstr "" +msgstr "还原" msgid "mrWidget|Revert this merge request in a new merge request" -msgstr "" +msgstr "通过新的合并请求中还原此合并请求" msgid "mrWidget|Set by" -msgstr "" +msgstr "设置:" msgid "mrWidget|The changes were merged into" -msgstr "" +msgstr "更改已合并到" msgid "mrWidget|The changes were not merged into" -msgstr "" +msgstr "更改未合并到" msgid "mrWidget|The changes will be merged into" -msgstr "" +msgstr "更改将被合并到" msgid "mrWidget|The source branch has been removed" -msgstr "" +msgstr "源分支已被删除" msgid "mrWidget|The source branch is being removed" -msgstr "" +msgstr "源分支正在被删除" msgid "mrWidget|The source branch will be removed" -msgstr "" +msgstr "源分支将被删除" msgid "mrWidget|The source branch will not be removed" -msgstr "" +msgstr "源分支不会被删除" msgid "mrWidget|There are merge conflicts" -msgstr "" +msgstr "存在合并冲突" msgid "mrWidget|This merge request failed to be merged automatically" -msgstr "" +msgstr "该合并请求未能自动合并" msgid "mrWidget|This merge request is in the process of being merged" -msgstr "" +msgstr "该合并请求正在被合并" msgid "mrWidget|This project is archived, write access has been disabled" +msgstr "该项目已存档,禁止写入" + +msgid "mrWidget|Web IDE" msgstr "" msgid "mrWidget|You can merge this merge request manually using the" -msgstr "" +msgstr "可以手动合并此合并请求,使用以下" msgid "mrWidget|You can remove source branch now" -msgstr "" +msgstr "当前已可以删除源分支" msgid "mrWidget|branch does not exist." -msgstr "" +msgstr "分支不存在" msgid "mrWidget|command line" -msgstr "" +msgstr "命令行" msgid "mrWidget|into" -msgstr "" +msgstr "入" msgid "mrWidget|to be merged automatically when the pipeline succeeds" -msgstr "" +msgstr "流水线成功时自动合并" msgid "new merge request" msgstr "新建合并请求" @@ -4290,7 +5216,7 @@ msgid "notification emails" msgstr "通知邮件" msgid "or" -msgstr "" +msgstr "或" msgid "parent" msgid_plural "parents" @@ -4302,14 +5228,20 @@ msgstr "密码" msgid "personal access token" msgstr "个人访问令牌" +msgid "private key does not match certificate." +msgstr "私钥与证书不匹配。" + msgid "remove due date" -msgstr "" +msgstr "删除截止日期" msgid "source" msgstr "源" msgid "spendCommand|%{slash_command} will update the sum of the time spent." -msgstr "" +msgstr "%{slash_command} 将会更新消耗的总时长。" + +msgid "this document" +msgstr "此文档" msgid "to help your contributors communicate effectively!" msgstr "帮助您的贡献者进行有效沟通!" @@ -4318,8 +5250,8 @@ msgid "username" msgstr "用户名" msgid "uses Kubernetes clusters to deploy your code!" -msgstr "" +msgstr "使用 Kubernetes 集群来部署代码!" msgid "with %{additions} additions, %{deletions} deletions." -msgstr "" +msgstr "共 %{additions} 条新增, %{deletions} 条删除." diff --git a/locale/zh_HK/gitlab.po b/locale/zh_HK/gitlab.po index 0174e945bab..6bfcae6aa91 100644 --- a/locale/zh_HK/gitlab.po +++ b/locale/zh_HK/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:22-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:39-0400\n" "Last-Translator: gitlab \n" "Language-Team: Chinese Traditional, Hong Kong\n" "Language: zh_HK\n" @@ -27,6 +27,10 @@ msgid "%d commit behind" msgid_plural "%d commits behind" msgstr[0] "" +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "" + msgid "%d issue" msgid_plural "%d issues" msgstr[0] "" @@ -39,6 +43,10 @@ msgid "%d merge request" msgid_plural "%d merge requests" msgstr[0] "" +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "" + msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." msgstr[0] "為提高頁面加載速度及性能,已省略了 %s 次提交。" @@ -53,6 +61,9 @@ msgid "%{count} participant" msgid_plural "%{count} participants" msgstr[0] "" +msgid "%{loadingIcon} Started" +msgstr "" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" msgstr "" @@ -94,15 +105,30 @@ msgstr "" msgid "2FA enabled" msgstr "" +msgid "Removes source branch" +msgstr "" + msgid "A collection of graphs regarding Continuous Integration" msgstr "相關持續集成的圖像集合" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "" + +msgid "A user with write access to the source branch selected this option" +msgstr "" + msgid "About auto deploy" msgstr "關於自動部署" msgid "Abuse Reports" msgstr "" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "" @@ -112,6 +138,9 @@ msgstr "因恢復安裝,訪問故障存儲已被暫時禁用。在問題解決 msgid "Account" msgstr "" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "啟用" @@ -208,9 +237,33 @@ msgstr "全部" msgid "All changes are committed" msgstr "" +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "" + +msgid "Allow edits from maintainers." +msgstr "" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." +msgstr "" + msgid "Allows you to add and manage Kubernetes clusters." msgstr "" +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" +msgstr "" + +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + msgid "An error occurred previewing the blob" msgstr "" @@ -289,6 +342,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "" +msgid "Any Label" +msgstr "" + msgid "Appearance" msgstr "" @@ -322,6 +378,9 @@ msgstr "確定嗎?" msgid "Artifacts" msgstr "" +msgid "Assertion consumer service URL" +msgstr "" + msgid "Assign custom color like #FF0000" msgstr "" @@ -334,6 +393,15 @@ msgstr "" msgid "Assign to" msgstr "" +msgid "Assigned Issues" +msgstr "" + +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" +msgstr "" + msgid "Assignee" msgstr "" @@ -358,6 +426,9 @@ msgstr "" msgid "Auto DevOps enabled" msgstr "" +msgid "Auto DevOps, runners and job artifacts" +msgstr "" + msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." msgstr "" @@ -400,6 +471,12 @@ msgstr "" msgid "Average per day: %{average}" msgstr "" +msgid "Background Color" +msgstr "" + +msgid "Background jobs" +msgstr "" + msgid "Begin with the selected commit" msgstr "" @@ -482,6 +559,15 @@ msgstr "切換分支" msgid "Branches" msgstr "分支" +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "" @@ -527,12 +613,39 @@ msgstr "" msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" msgstr "" msgid "Branches|Sort by" msgstr "" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -578,30 +691,45 @@ msgstr "瀏覽文件" msgid "Browse files" msgstr "瀏覽文件" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "作者:" msgid "CI / CD" msgstr "" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" msgstr "" +msgid "CI/CD for external repo" +msgstr "" + msgid "CICD|Jobs" msgstr "" msgid "Cancel" msgstr "取消" -msgid "Cancel edit" -msgstr "取消编辑" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "挑選到分支" @@ -656,6 +784,12 @@ msgstr "" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -758,6 +892,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "" @@ -857,6 +1000,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -866,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -884,6 +1033,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -917,6 +1069,9 @@ msgstr "" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "" @@ -977,6 +1132,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1004,6 +1162,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1126,6 +1287,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1141,9 +1308,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "" @@ -1189,6 +1392,12 @@ msgstr "" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "貢獻指南" @@ -1252,8 +1461,8 @@ msgstr "" msgid "Create directory" msgstr "創建目錄" -msgid "Create empty bare repository" -msgstr "創建空的存儲庫" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "" @@ -1261,6 +1470,9 @@ msgstr "" msgid "Create file" msgstr "" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1285,6 +1497,9 @@ msgstr "" msgid "Create new..." msgstr "創建..." +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "派生" @@ -1318,6 +1533,9 @@ msgstr "自定義通知事件" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "自定義通知級別繼承自參與級別。使用自定義通知級別,您會收到參與級別及選定事件的通知。想了解更多信息,請查看 %{notification_link}." +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "週期分析" @@ -1400,9 +1618,15 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "不再顯示" +msgid "Done" +msgstr "" + msgid "Download" msgstr "下載" @@ -1430,9 +1654,15 @@ msgstr "差異文件" msgid "DownloadSource|Download" msgstr "下載" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "編輯" @@ -1442,6 +1672,18 @@ msgstr "編輯 %{id} 流水線計劃" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "" @@ -1451,6 +1693,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1511,6 +1780,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1586,9 +1858,15 @@ msgstr "" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1598,6 +1876,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1631,6 +1912,9 @@ msgstr "文件" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "按提交消息過濾" @@ -1640,12 +1924,21 @@ msgstr "按路徑查找" msgid "Find file" msgstr "查找文件" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "首次推送" msgid "FirstPushedBy|pushed by" msgstr "推送者:" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "派生" @@ -1656,9 +1949,15 @@ msgstr "派生自" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "從創建議題到部署到生產環境" @@ -1677,12 +1976,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1728,21 +2033,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1755,9 +2087,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1788,6 +2132,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1797,12 +2144,30 @@ msgstr "Git 存儲健康信息已重置" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "GitLab Runner 介紹" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "跳轉到派生項目" @@ -1869,9 +2234,6 @@ msgstr "" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "" @@ -1902,6 +2264,9 @@ msgstr "" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "健康檢查 (Health Check)" @@ -1920,6 +2285,15 @@ msgstr "沒有檢測到健康問題" msgid "HealthCheck|Unhealthy" msgstr "不良" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1930,12 +2304,39 @@ msgstr "" msgid "Housekeeping successfully started" msgstr "已開始維護" -msgid "If you already have files you can push them using the %{link_to_cli} below." +msgid "Identity provider single sign on URL" msgstr "" -msgid "Import repository" +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + +msgid "If you already have files you can push them using the %{link_to_cli} below." +msgstr "" + +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + +msgid "Import repository" msgstr "導入存儲庫" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1958,6 +2359,9 @@ msgstr[0] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2012,6 +2416,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2042,12 +2449,30 @@ msgstr "停用" msgid "LFSStatus|Enabled" msgstr "啟用" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "最近 %d 天" @@ -2106,6 +2531,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2118,9 +2546,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "" @@ -2136,9 +2561,21 @@ msgstr "" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2160,6 +2597,9 @@ msgstr "中位數" msgid "Members" msgstr "" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "" @@ -2172,15 +2612,87 @@ msgstr "" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2196,6 +2708,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "添加壹個 SSH 公鑰" @@ -2208,6 +2729,9 @@ msgstr "" msgid "Monitoring" msgstr "" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2281,6 +2805,9 @@ msgstr "" msgid "New tag" msgstr "新增標籤" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2299,6 +2826,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "沒有存儲庫" @@ -2314,6 +2844,12 @@ msgstr "" msgid "Not available" msgstr "不可用" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2323,6 +2859,18 @@ msgstr "數據不足" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "通知事件" @@ -2407,6 +2955,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "篩選" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "" @@ -2428,12 +2982,18 @@ msgstr "操作" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "" msgid "Owner" msgstr "所有者" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "" @@ -2446,9 +3006,21 @@ msgstr "" msgid "Pagination|« First" msgstr "" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "流水線" @@ -2530,9 +3102,36 @@ msgstr "" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "" + +msgid "Pipelines|Clear Runner Caches" +msgstr "" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2563,6 +3162,9 @@ msgstr "於階段" msgid "Pipeline|with stages" msgstr "於階段" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2572,6 +3174,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "" @@ -2626,6 +3234,9 @@ msgstr "" msgid "Profiles|your account" msgstr "" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2650,9 +3261,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "專案詳情" @@ -2749,6 +3357,12 @@ msgstr "" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2761,9 +3375,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2776,19 +3402,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2797,6 +3417,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2806,7 +3429,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2842,6 +3474,9 @@ msgstr "了解更多" msgid "Readme" msgstr "自述文件" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "分支" @@ -2875,6 +3510,9 @@ msgstr "相關的合併請求" msgid "Related Merged Requests" msgstr "相關已合併的合併請求" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "稍後提醒" @@ -2890,12 +3528,24 @@ msgstr "刪除項目" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "存儲庫" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "申請權限" @@ -2911,6 +3561,9 @@ msgstr "重置 Runner 註冊令牌" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2921,9 +3574,36 @@ msgstr "還原此提交" msgid "Revert this merge request" msgstr "還原此合併請求" +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "" @@ -2939,6 +3619,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "新建流水線計劃" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "" @@ -2948,6 +3631,9 @@ msgstr "流水線計劃" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "搜索分支和標籤" @@ -3011,15 +3697,33 @@ msgstr "" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "為賬號添加壹個用於推送或拉取的 %{protocol} 密碼。" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "設置 Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "設置密碼" @@ -3029,6 +3733,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3063,40 +3770,40 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" -msgid "Snippets" +msgid "Sign-in restrictions" msgstr "" -msgid "Something went wrong on our end" +msgid "Sign-up restrictions" msgstr "" -msgid "Something went wrong on our end." +msgid "Size and domain settings for static websites" msgstr "" -msgid "Something went wrong trying to change the confidentiality of this issue" +msgid "Slack application" msgstr "" -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" +msgid "Snippets" msgstr "" -msgid "Something went wrong when toggling the button" +msgid "Something went wrong on our end" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong on our end." msgstr "" -msgid "Something went wrong while fetching SAST." +msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while fetching the projects." +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" -msgid "Something went wrong while fetching the registry list." +msgid "Something went wrong while fetching SAST." msgstr "" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" +msgid "Something went wrong while fetching the projects." msgstr "" -msgid "Something went wrong while resolving this discussion. Please try again." +msgid "Something went wrong while fetching the registry list." msgstr "" msgid "Something went wrong. Please try again." @@ -3216,12 +3923,21 @@ msgstr "" msgid "Spam Logs" msgstr "" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "在 Runner 設置時指定以下 URL:" msgid "StarProject|Star" msgstr "星標" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "" @@ -3231,6 +3947,15 @@ msgstr "由此更改 %{new_merge_request}" msgid "Start the Runner!" msgstr "運作 Runner!" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3243,9 +3968,15 @@ msgstr "" msgid "Switch branch/tag" msgstr "切換分支/標籤" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3325,6 +4056,9 @@ msgstr "" msgid "Target Branch" msgstr "目標分支" +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "團隊" @@ -3340,15 +4074,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "編碼階段概述了從第壹次提交到創建合併請求的時間。創建第壹個合併請求後,數據將自動添加到此處。" msgid "The collection of events added to the data gathered for that stage." msgstr "與該階段相關的事件。" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "派生關係已被刪除。" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "議題階段概述了從創建議題到將議題添加到裏程碑或議題看板所花費的時間。創建第壹個議題後,數據將自動添加到此處.。" @@ -3361,12 +4104,18 @@ msgstr "" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "項目生命週期中的各個階段。" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "計劃階段概述了從議題添加到日程到推送首次提交的時間。當首次推送提交後,數據將自動添加到此處。" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "生產階段概述了從創建議題到將代碼部署到生產環境的時間。當完成完整的想法到部署生產,數據將自動添加到此處。" @@ -3382,6 +4131,9 @@ msgstr "此項目的存儲庫不存在。" msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "評審階段概述了從創建合併請求到合併的時間。當創建第壹個合併請求後,數據將自動添加到此處。" @@ -3418,6 +4170,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "訪問 Git 存儲時出現問題:" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3490,6 +4245,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3502,6 +4260,12 @@ msgstr "開始進行編碼前的時間" msgid "Time between merge request creation and merge/close" msgstr "從創建合併請求到被合併或關閉的時間" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "" + msgid "Time tracking" msgstr "" @@ -3657,6 +4421,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3696,18 +4490,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "" @@ -3747,6 +4535,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "點擊上傳" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3756,24 +4550,51 @@ msgstr "在安裝過程中使用以下註冊令牌:" msgid "Use your global notification setting" msgstr "使用全局通知設置" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "" +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "查看開啟的合並請求" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "" +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "內部" @@ -3801,12 +4622,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "" @@ -3927,14 +4754,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "即將刪除 %{group_name}。已刪除的群組無法恢復!確定繼續嗎?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "即將要刪除 %{project_name_with_namespace}。已刪除的項目無法恢複!確定繼續嗎?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "即將刪除與源項目 %{forked_from_project} 的派生關系。確定繼續嗎?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "即將 %{project_name_with_namespace} 轉義給另壹個所有者。確定繼續嗎?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4008,9 +4841,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4026,6 +4877,13 @@ msgstr "您的名字" msgid "Your projects" msgstr "" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" + msgid "assign yourself" msgstr "" @@ -4035,12 +4893,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4068,9 +4944,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4083,40 +4956,66 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" -msgstr "" - -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" msgid_plural "days" msgstr[0] "天" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4127,9 +5026,21 @@ msgstr[0] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4142,6 +5053,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4169,18 +5083,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4265,6 +5188,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4302,6 +5228,9 @@ msgstr "" msgid "personal access token" msgstr "" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4311,6 +5240,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" diff --git a/locale/zh_TW/gitlab.po b/locale/zh_TW/gitlab.po index 025af6fa2d9..553050d06a1 100644 --- a/locale/zh_TW/gitlab.po +++ b/locale/zh_TW/gitlab.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: gitlab-ee\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-02 13:39+0100\n" -"PO-Revision-Date: 2018-03-05 03:23-0500\n" +"POT-Creation-Date: 2018-04-04 19:35+0200\n" +"PO-Revision-Date: 2018-04-05 03:39-0400\n" "Last-Translator: gitlab \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /master/locale/gitlab.pot\n" msgid " and" -msgstr "" +msgstr " 和" msgid "%d commit" msgid_plural "%d commits" @@ -25,11 +25,15 @@ msgstr[0] "%d 個更動 (commit)" msgid "%d commit behind" msgid_plural "%d commits behind" -msgstr[0] "" +msgstr[0] "落後 %d 個更動紀錄" + +msgid "%d exporter" +msgid_plural "%d exporters" +msgstr[0] "%d 導出" msgid "%d issue" msgid_plural "%d issues" -msgstr[0] "" +msgstr[0] "%d 個議題" msgid "%d layer" msgid_plural "%d layers" @@ -37,7 +41,11 @@ msgstr[0] "%d 個圖層" msgid "%d merge request" msgid_plural "%d merge requests" -msgstr[0] "" +msgstr[0] "%d 個合併請求" + +msgid "%d metric" +msgid_plural "%d metrics" +msgstr[0] "%d 指標" msgid "%s additional commit has been omitted to prevent performance issues." msgid_plural "%s additional commits have been omitted to prevent performance issues." @@ -47,14 +55,17 @@ msgid "%{actionText} & %{openOrClose} %{noteable}" msgstr "" msgid "%{commit_author_link} authored %{commit_timeago}" -msgstr "" +msgstr "由 %{commit_author_link} 提交於 %{commit_timeago}" msgid "%{count} participant" msgid_plural "%{count} participants" msgstr[0] "%{count} 參與者" +msgid "%{loadingIcon} Started" +msgstr "%{loadingIcon} 開始" + msgid "%{lock_path} is locked by GitLab User %{lock_user_id}" -msgstr "" +msgstr "%{lock_path} 被使用者 %{lock_user_id} 鎖定" msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead" msgstr "" @@ -66,14 +77,14 @@ msgid "%{number_of_failures} of %{maximum_failures} failures. GitLab will not re msgstr "已失敗 %{number_of_failures} / %{maximum_failures} 次,GitLab 將不再自動重試。請在確認問題解決後手動重置儲存空間資訊。" msgid "%{openOrClose} %{noteable}" -msgstr "" +msgstr "%{openOrClose} %{noteable}" msgid "%{storage_name}: failed storage access attempt on host:" msgid_plural "%{storage_name}: %{failed_attempts} failed storage access attempts:" msgstr[0] "%{storage_name}:已存取此主機失敗 %{failed_attempts} 次" msgid "%{text} is available" -msgstr "" +msgstr "%{text} 可用" msgid "(checkout the %{link} for information on how to install it)." msgstr "(如何安裝請參閱 %{link})" @@ -94,15 +105,30 @@ msgstr "第一次協作" msgid "2FA enabled" msgstr "已啟用雙重認證" +msgid "Removes source branch" +msgstr "刪除來源分支" + msgid "A collection of graphs regarding Continuous Integration" msgstr "持續整合 (CI) 相關的圖表" +msgid "A new branch will be created in your fork and a new merge request will be started." +msgstr "將會再創建一個新的分支,並建立一個新的合併請求。" + +msgid "A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}." +msgstr "一個專案提供了以下功能,存放你的文件(存儲庫),計劃你的工作(議題),並發布你的文件(維基), %{among_other_things_link}。" + +msgid "A user with write access to the source branch selected this option" +msgstr "一個有存取原始分支權限的使用者,選擇了此項目" + msgid "About auto deploy" msgstr "關於自動部署" msgid "Abuse Reports" msgstr "濫用報告" +msgid "Abuse reports" +msgstr "" + msgid "Access Tokens" msgstr "存取憑證 (access token)" @@ -112,6 +138,9 @@ msgstr "已暫時停用失敗的 Git 儲存空間。當儲存空間恢復正常 msgid "Account" msgstr "帳號" +msgid "Account and limit settings" +msgstr "" + msgid "Active" msgstr "啟用" @@ -119,7 +148,7 @@ msgid "Activity" msgstr "活動" msgid "Add" -msgstr "" +msgstr "增加" msgid "Add Changelog" msgstr "新增更新日誌" @@ -128,76 +157,76 @@ msgid "Add Contribution guide" msgstr "新增協作指南" msgid "Add Group Webhooks and GitLab Enterprise Edition." -msgstr "" +msgstr "啟用群組 Webhooks 及 GitLab 企業版。" msgid "Add Kubernetes cluster" -msgstr "" +msgstr "增加 Kubernetes 叢集" msgid "Add License" msgstr "新增授權條款" msgid "Add Readme" -msgstr "" +msgstr "增加說明檔案" msgid "Add new directory" msgstr "新增目錄" msgid "Add todo" -msgstr "" +msgstr "增加待辦事項" msgid "AdminArea|Stop all jobs" -msgstr "" +msgstr "停止所有任務" msgid "AdminArea|Stop all jobs?" -msgstr "" +msgstr "要停止所有任務嗎?" msgid "AdminArea|Stop jobs" -msgstr "" +msgstr "停止任務" msgid "AdminArea|Stopping jobs failed" -msgstr "" +msgstr "停止任務失敗" msgid "AdminArea|You’re about to stop all jobs.This will halt all current jobs that are running." -msgstr "" +msgstr "您將停止所有任務,這將會暫停所有正在運行的任務。" msgid "AdminHealthPageLink|health page" msgstr "系統狀態" msgid "AdminProjects|Delete" -msgstr "" +msgstr "刪除" msgid "AdminProjects|Delete Project %{projectName}?" -msgstr "" +msgstr "刪除專案 %{projectName} ?" msgid "AdminProjects|Delete project" -msgstr "" +msgstr "刪除專案" msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages." msgstr "" msgid "AdminUsers|Block user" -msgstr "" +msgstr "封鎖使用者" msgid "AdminUsers|Delete User %{username} and contributions?" -msgstr "" +msgstr "刪除使用者 %{username} 及其貢獻?" msgid "AdminUsers|Delete User %{username}?" -msgstr "" +msgstr "刪除使用者 %{username} ?" msgid "AdminUsers|Delete user" -msgstr "" +msgstr "刪除使用者" msgid "AdminUsers|Delete user and contributions" -msgstr "" +msgstr "刪除使用者及其貢獻" msgid "AdminUsers|To confirm, type %{projectName}" -msgstr "" +msgstr "請輸入 %{projectName} 以進行確認" msgid "AdminUsers|To confirm, type %{username}" -msgstr "" +msgstr "請輸入 %{username} 以進行確認" msgid "Advanced" -msgstr "" +msgstr "進階設置" msgid "Advanced settings" msgstr "進階設定" @@ -206,17 +235,41 @@ msgid "All" msgstr "全部" msgid "All changes are committed" +msgstr "所有改變都已經提交" + +msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." +msgstr "從模板建立或導入專案時將啟用所有功能,您可以在專案設置中將其關閉。" + +msgid "Allow edits from maintainers." +msgstr "允許維護人員編輯。" + +msgid "Allow rendering of PlantUML diagrams in Asciidoc documents." +msgstr "" + +msgid "Allow requests to the local network from hooks and services." msgstr "" msgid "Allows you to add and manage Kubernetes clusters." +msgstr "允許您增加和管理Kubernetes叢集。" + +msgid "Also called \"Issuer\" or \"Relying party trust identifier\"" msgstr "" -msgid "An error occurred previewing the blob" +msgid "Also called \"Relying party service URL\" or \"Reply URL\"" msgstr "" -msgid "An error occurred when toggling the notification subscription" +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "或者,你可以使用 %{personal_access_token_link}。當你建立你的個人存取權杖時,你將需要選擇檔案庫範圍,所以我們將會顯示你公開及私人的檔案庫清單進行連結。" + +msgid "Alternatively, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." msgstr "" +msgid "An error occurred previewing the blob" +msgstr "預覽 blob 檔案時發生錯誤" + +msgid "An error occurred when toggling the notification subscription" +msgstr "切換訂閱通知時發生錯誤" + msgid "An error occurred when updating the issue weight" msgstr "" @@ -227,7 +280,7 @@ msgid "An error occurred while detecting host keys" msgstr "" msgid "An error occurred while dismissing the feature highlight. Refresh the page and try dismissing again." -msgstr "" +msgstr "解除亮高顯示時發生錯誤,請重新整理頁面再次嘗試。" msgid "An error occurred while fetching markdown preview" msgstr "" @@ -281,7 +334,7 @@ msgid "An error occurred while saving LDAP override status. Please try again." msgstr "" msgid "An error occurred while saving assignees" -msgstr "" +msgstr "儲存被指派人時發生錯誤" msgid "An error occurred while validating username" msgstr "" @@ -289,6 +342,9 @@ msgstr "" msgid "An error occurred. Please try again." msgstr "發生錯誤,請再試一次。" +msgid "Any Label" +msgstr "任意標籤" + msgid "Appearance" msgstr "外觀" @@ -296,10 +352,10 @@ msgid "Applications" msgstr "應用程式" msgid "Apr" -msgstr "" +msgstr "四月" msgid "April" -msgstr "" +msgstr "四月" msgid "Archived project! Repository is read-only" msgstr "此專案已封存!檔案庫 (repository) 為唯讀狀態" @@ -320,31 +376,43 @@ msgid "Are you sure?" msgstr "確定嗎?" msgid "Artifacts" +msgstr "產物" + +msgid "Assertion consumer service URL" msgstr "" msgid "Assign custom color like #FF0000" -msgstr "" +msgstr "自定義顏色,例如 #FF0000" msgid "Assign labels" -msgstr "" +msgstr "指派標籤" msgid "Assign milestone" -msgstr "" +msgstr "指派里程碑" msgid "Assign to" +msgstr "指派給" + +msgid "Assigned Issues" msgstr "" -msgid "Assignee" +msgid "Assigned Merge Requests" +msgstr "" + +msgid "Assigned to :name" msgstr "" +msgid "Assignee" +msgstr "指派人" + msgid "Attach a file by drag & drop or %{upload_link}" msgstr "拖放檔案到此處或者 %{upload_link}" msgid "Aug" -msgstr "" +msgstr "八月" msgid "August" -msgstr "" +msgstr "八月" msgid "Authentication Log" msgstr "登入紀錄" @@ -353,9 +421,12 @@ msgid "Author" msgstr "作者" msgid "Authors: %{authors}" -msgstr "" +msgstr "作者:%{authors}" msgid "Auto DevOps enabled" +msgstr "啟動自動 DevOps" + +msgid "Auto DevOps, runners and job artifacts" msgstr "" msgid "Auto Review Apps and Auto Deploy need a %{kubernetes} to work correctly." @@ -389,22 +460,28 @@ msgid "AutoDevOps|add a Kubernetes cluster" msgstr "" msgid "AutoDevOps|enable Auto DevOps (Beta)" -msgstr "" +msgstr "啟用自動 DevOps (測試版)" msgid "Available" -msgstr "" +msgstr "能運做的" msgid "Avatar will be removed. Are you sure?" -msgstr "" +msgstr "大頭貼將被刪除。你確定嗎?" msgid "Average per day: %{average}" +msgstr "平均每天:%{average}" + +msgid "Background Color" msgstr "" -msgid "Begin with the selected commit" +msgid "Background jobs" msgstr "" +msgid "Begin with the selected commit" +msgstr "從選定的變更紀錄開始" + msgid "Billing" -msgstr "" +msgstr "帳單" msgid "BillingPlans|%{group_name} is currently on the %{plan_link} plan." msgstr "" @@ -482,6 +559,15 @@ msgstr "切換分支 (branch)" msgid "Branches" msgstr "分支 (branch) " +msgid "Branches|Active" +msgstr "" + +msgid "Branches|Active branches" +msgstr "" + +msgid "Branches|All" +msgstr "全部" + msgid "Branches|Cant find HEAD commit for this branch" msgstr "找不到此分支的 HEAD 更動。" @@ -527,12 +613,39 @@ msgstr "一旦你確認並按下 %{delete_protected_branch} 之後,此動作 msgid "Branches|Only a project master or owner can delete a protected branch" msgstr "只有專案管理者或擁有者才能刪除被保護的分支。" -msgid "Branches|Protected branches can be managed in %{project_settings_link}" -msgstr "在 %{project_settings_link} 管理受保護的分支" +msgid "Branches|Overview" +msgstr "" + +msgid "Branches|Protected branches can be managed in %{project_settings_link}." +msgstr "" + +msgid "Branches|Show active branches" +msgstr "" + +msgid "Branches|Show all branches" +msgstr "" + +msgid "Branches|Show more active branches" +msgstr "" + +msgid "Branches|Show more stale branches" +msgstr "" + +msgid "Branches|Show overview of the branches" +msgstr "" + +msgid "Branches|Show stale branches" +msgstr "" msgid "Branches|Sort by" msgstr "排序自" +msgid "Branches|Stale" +msgstr "" + +msgid "Branches|Stale branches" +msgstr "" + msgid "Branches|The branch could not be updated automatically because it has diverged from its upstream counterpart." msgstr "" @@ -578,13 +691,22 @@ msgstr "瀏覽檔案" msgid "Browse files" msgstr "瀏覽檔案" +msgid "Business" +msgstr "" + msgid "ByAuthor|by" msgstr "作者:" msgid "CI / CD" msgstr "CI / CD" +msgid "CI/CD" +msgstr "" + msgid "CI/CD configuration" +msgstr "CI/CD 設定" + +msgid "CI/CD for external repo" msgstr "" msgid "CICD|Jobs" @@ -593,15 +715,21 @@ msgstr "作業" msgid "Cancel" msgstr "取消" -msgid "Cancel edit" -msgstr "取消編輯" +msgid "Cannot be merged automatically" +msgstr "" msgid "Cannot modify managed Kubernetes cluster" msgstr "" +msgid "Certificate fingerprint" +msgstr "" + msgid "Change Weight" msgstr "" +msgid "Change this value to influence how frequently the GitLab UI polls for updates." +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "挑選到分支 (branch) " @@ -645,17 +773,23 @@ msgid "Cherry-pick this merge request" msgstr "挑選此合併請求 (merge request) " msgid "Choose File ..." -msgstr "" +msgstr "選擇檔案⋯" msgid "Choose a branch/tag (e.g. %{master}) or enter a commit (e.g. %{sha}) to see what's changed or to create a merge request." msgstr "" msgid "Choose file..." -msgstr "" +msgstr "選擇檔案⋯" msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" +msgid "Choose which repositories you want to connect and run CI/CD pipelines." +msgstr "" + +msgid "Choose which repositories you want to import." +msgstr "" + msgid "Choose which shards you wish to synchronize to this secondary node." msgstr "" @@ -758,6 +892,15 @@ msgstr "" msgid "Click to expand text" msgstr "" +msgid "Client authentication certificate" +msgstr "" + +msgid "Client authentication key" +msgstr "" + +msgid "Client authentication key password" +msgstr "" + msgid "Clone repository" msgstr "複製(clone)檔案庫(repository)" @@ -857,6 +1000,9 @@ msgstr "" msgid "ClusterIntegration|Helm Tiller" msgstr "" +msgid "ClusterIntegration|In order to show the health of the cluster, we'll need to provision your cluster with Prometheus to collect the required data." +msgstr "" + msgid "ClusterIntegration|Ingress" msgstr "" @@ -866,6 +1012,9 @@ msgstr "" msgid "ClusterIntegration|Install" msgstr "" +msgid "ClusterIntegration|Install Prometheus" +msgstr "" + msgid "ClusterIntegration|Installed" msgstr "" @@ -884,6 +1033,9 @@ msgstr "" msgid "ClusterIntegration|Kubernetes cluster details" msgstr "" +msgid "ClusterIntegration|Kubernetes cluster health" +msgstr "" + msgid "ClusterIntegration|Kubernetes cluster integration" msgstr "" @@ -917,6 +1069,9 @@ msgstr "學習更多有關於%{link_to_documentation}" msgid "ClusterIntegration|Learn more about environments" msgstr "" +msgid "ClusterIntegration|Learn more about security configuration" +msgstr "" + msgid "ClusterIntegration|Machine type" msgstr "機器型別" @@ -977,6 +1132,9 @@ msgstr "" msgid "ClusterIntegration|Save changes" msgstr "" +msgid "ClusterIntegration|Security" +msgstr "" + msgid "ClusterIntegration|See and edit the details for your Kubernetes cluster" msgstr "" @@ -1004,6 +1162,9 @@ msgstr "" msgid "ClusterIntegration|Something went wrong while installing %{title}" msgstr "" +msgid "ClusterIntegration|The default cluster configuration grants access to a wide set of functionalities needed to successfully build and deploy a containerised application." +msgstr "" + msgid "ClusterIntegration|This account must have permissions to create a Kubernetes cluster in the %{link_to_container_project} specified below" msgstr "" @@ -1126,6 +1287,12 @@ msgstr "" msgid "Compare Revisions" msgstr "" +msgid "Compare changes with the last commit" +msgstr "" + +msgid "Compare changes with the merge request target branch" +msgstr "" + msgid "CompareBranches|%{source_branch} and %{target_branch} are the same." msgstr "" @@ -1141,9 +1308,45 @@ msgstr "" msgid "CompareBranches|There isn't anything to compare." msgstr "" +msgid "Confidential" +msgstr "" + msgid "Confidentiality" msgstr "" +msgid "Configure Gitaly timeouts." +msgstr "" + +msgid "Configure Sidekiq job throttling." +msgstr "" + +msgid "Configure automatic git checks and housekeeping on repositories." +msgstr "" + +msgid "Configure limits for web and API requests." +msgstr "" + +msgid "Configure storage path and circuit breaker settings." +msgstr "" + +msgid "Configure the way a user creates a new account." +msgstr "" + +msgid "Connect" +msgstr "" + +msgid "Connect all repositories" +msgstr "" + +msgid "Connect repositories from GitHub" +msgstr "" + +msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." +msgstr "" + +msgid "Connecting..." +msgstr "" + msgid "Container Registry" msgstr "Container Registry" @@ -1189,6 +1392,12 @@ msgstr "使用不同的映像檔名稱" msgid "ContainerRegistry|With the Docker Container Registry integrated into GitLab, every project can have its own space to store its Docker images." msgstr "將 Docker Container Registry 整合到 GitLab 中後,每個專案都可以有自己的空間來儲存 Docker 的映像檔" +msgid "Continuous Integration and Deployment" +msgstr "" + +msgid "Contribution" +msgstr "" + msgid "Contribution guide" msgstr "協作指南" @@ -1252,8 +1461,8 @@ msgstr "" msgid "Create directory" msgstr "建立目錄" -msgid "Create empty bare repository" -msgstr "建立一個新的 bare repository" +msgid "Create empty repository" +msgstr "" msgid "Create epic" msgstr "" @@ -1261,6 +1470,9 @@ msgstr "" msgid "Create file" msgstr "新增檔案" +msgid "Create group label" +msgstr "" + msgid "Create lists from labels. Issues with that label appear in that list." msgstr "" @@ -1285,6 +1497,9 @@ msgstr "" msgid "Create new..." msgstr "建立..." +msgid "Create project label" +msgstr "" + msgid "CreateNewFork|Fork" msgstr "分支 (fork) " @@ -1318,6 +1533,9 @@ msgstr "自訂事件通知" msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}." msgstr "自訂通知的等級與參與度設定相同。使用自訂通知讓你只收到特定的事件通知。想了解更多資訊,請查閱 %{notification_link} 。" +msgid "Customize colors" +msgstr "" + msgid "Cycle Analytics" msgstr "週期分析" @@ -1400,9 +1618,15 @@ msgstr "關閉循環分析介紹視窗" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Documentation for popular identity providers" +msgstr "" + msgid "Don't show again" msgstr "不再顯示" +msgid "Done" +msgstr "" + msgid "Download" msgstr "下載" @@ -1430,9 +1654,15 @@ msgstr "差異檔 (diff)" msgid "DownloadSource|Download" msgstr "下載原始碼" +msgid "Downvotes" +msgstr "" + msgid "Due date" msgstr "" +msgid "During this process, you’ll be asked for URLs from GitLab’s side. Use the URLs shown below." +msgstr "" + msgid "Edit" msgstr "編輯" @@ -1442,6 +1672,18 @@ msgstr "編輯 %{id} 流水線 (pipeline) 排程" msgid "Edit files in the editor and commit changes here" msgstr "" +msgid "Editing" +msgstr "" + +msgid "Elasticsearch" +msgstr "" + +msgid "Elasticsearch intergration. Elasticsearch AWS IAM." +msgstr "" + +msgid "Email" +msgstr "" + msgid "Emails" msgstr "電子郵件" @@ -1451,6 +1693,33 @@ msgstr "" msgid "Enable Auto DevOps" msgstr "" +msgid "Enable SAML authentication for this group" +msgstr "" + +msgid "Enable Sentry for error reporting and logging." +msgstr "" + +msgid "Enable and configure InfluxDB metrics." +msgstr "" + +msgid "Enable and configure Prometheus metrics." +msgstr "" + +msgid "Enable classification control using an external service" +msgstr "" + +msgid "Enable or disable version check and usage ping." +msgstr "" + +msgid "Enable reCAPTCHA or Akismet and set IP limits." +msgstr "" + +msgid "Enable the Performance Bar for a given group." +msgstr "" + +msgid "Enabled" +msgstr "" + msgid "Environments|An error occurred while fetching the environments." msgstr "" @@ -1511,6 +1780,9 @@ msgstr "" msgid "Epics let you manage your portfolio of projects more efficiently and with less effort" msgstr "" +msgid "Error Reporting and Logging" +msgstr "" + msgid "Error checking branch data. Please try again." msgstr "" @@ -1586,9 +1858,15 @@ msgstr "搜尋公開的群組" msgid "External Classification Policy Authorization" msgstr "" +msgid "External authentication" +msgstr "" + msgid "External authorization denied access to this project" msgstr "" +msgid "External authorization request timeout" +msgstr "" + msgid "ExternalAuthorizationService|Classification Label" msgstr "" @@ -1598,6 +1876,9 @@ msgstr "" msgid "ExternalAuthorizationService|When no classification label is set the default label `%{default_label}` will be used." msgstr "" +msgid "Failed" +msgstr "" + msgid "Failed Jobs" msgstr "" @@ -1631,6 +1912,9 @@ msgstr "檔案" msgid "Files (%{human_size})" msgstr "" +msgid "Fill in the fields below, turn on %{enable_label}, and press %{save_changes}" +msgstr "" + msgid "Filter by commit message" msgstr "以更動說明篩選" @@ -1640,12 +1924,21 @@ msgstr "以路徑搜尋" msgid "Find file" msgstr "搜尋檔案" +msgid "Finished" +msgstr "" + msgid "FirstPushedBy|First" msgstr "首次推送 (push) " msgid "FirstPushedBy|pushed by" msgstr "推送者 (push) :" +msgid "Font Color" +msgstr "" + +msgid "Footer message" +msgstr "" + msgid "Fork" msgid_plural "Forks" msgstr[0] "分支 (fork) " @@ -1656,9 +1949,15 @@ msgstr "分支 (fork) 自" msgid "ForkedFromProjectPath|Forked from %{project_name} (deleted)" msgstr "從 %{project_name} Fork. (deleted)" +msgid "Forking in progress" +msgstr "" + msgid "Format" msgstr "格式" +msgid "From %{provider_title}" +msgstr "" + msgid "From issue creation until deploy to production" msgstr "從議題 (issue) 建立直到部署至營運環境" @@ -1677,12 +1976,18 @@ msgstr "" msgid "Geo Nodes" msgstr "" +msgid "Geo allows you to replicate your GitLab instance to other geographical locations." +msgstr "" + msgid "GeoNodeSyncStatus|Node is failing or broken." msgstr "" msgid "GeoNodeSyncStatus|Node is slow, overloaded, or it just recovered after an outage." msgstr "" +msgid "GeoNodes|Checksummed" +msgstr "" + msgid "GeoNodes|Database replication lag:" msgstr "" @@ -1728,21 +2033,48 @@ msgstr "" msgid "GeoNodes|New node" msgstr "" +msgid "GeoNodes|Node Authentication was successfully repaired." +msgstr "" + +msgid "GeoNodes|Node was successfully removed." +msgstr "" + +msgid "GeoNodes|Not checksummed" +msgstr "" + msgid "GeoNodes|Out of sync" msgstr "" +msgid "GeoNodes|Removing a node stops the sync process. Are you sure?" +msgstr "" + msgid "GeoNodes|Replication slot WAL:" msgstr "" msgid "GeoNodes|Replication slots:" msgstr "" +msgid "GeoNodes|Repositories checksummed:" +msgstr "" + msgid "GeoNodes|Repositories:" msgstr "" +msgid "GeoNodes|Repository checksums verified:" +msgstr "" + msgid "GeoNodes|Selective" msgstr "" +msgid "GeoNodes|Something went wrong while changing node status" +msgstr "" + +msgid "GeoNodes|Something went wrong while removing node" +msgstr "" + +msgid "GeoNodes|Something went wrong while repairing node" +msgstr "" + msgid "GeoNodes|Storage config:" msgstr "" @@ -1755,9 +2087,21 @@ msgstr "" msgid "GeoNodes|Unused slots" msgstr "" +msgid "GeoNodes|Unverified" +msgstr "" + msgid "GeoNodes|Used slots" msgstr "" +msgid "GeoNodes|Verified" +msgstr "" + +msgid "GeoNodes|Wiki checksums verified:" +msgstr "" + +msgid "GeoNodes|Wikis checksummed:" +msgstr "" + msgid "GeoNodes|Wikis:" msgstr "" @@ -1788,6 +2132,9 @@ msgstr "" msgid "Geo|Shards to synchronize" msgstr "" +msgid "Git repository URL" +msgstr "" + msgid "Git revision" msgstr "" @@ -1797,12 +2144,30 @@ msgstr "Git 儲存空間健康指數已重置" msgid "Git version" msgstr "" +msgid "GitHub import" +msgstr "" + +msgid "GitLab CI Linter has been moved" +msgstr "" + +msgid "GitLab Geo" +msgstr "" + msgid "GitLab Runner section" msgstr "GitLab Runner" +msgid "GitLab single sign on URL" +msgstr "" + +msgid "Gitaly" +msgstr "" + msgid "Gitaly Servers" msgstr "" +msgid "Go back" +msgstr "" + msgid "Go to your fork" msgstr "前往您的分支 (fork) " @@ -1869,9 +2234,6 @@ msgstr "找不到群組" msgid "GroupsEmptyState|You can manage your group member’s permissions and access to each project in the group." msgstr "你可以管理群組內所有成員的每個專案的存取權限" -msgid "GroupsTree|Are you sure you want to leave the \"${group.fullName}\" group?" -msgstr "" - msgid "GroupsTree|Create a project in this group." msgstr "在此群組建立新的專案" @@ -1902,6 +2264,9 @@ msgstr "不好意思,沒有搜尋到任何符合條件的群組或專案" msgid "Have your users email" msgstr "" +msgid "Header message" +msgstr "" + msgid "Health Check" msgstr "健康檢查" @@ -1920,6 +2285,15 @@ msgstr "沒有檢測到健康問題" msgid "HealthCheck|Unhealthy" msgstr "不良" +msgid "Help" +msgstr "" + +msgid "Help page" +msgstr "" + +msgid "Help page text and support page url." +msgstr "" + msgid "Hide value" msgid_plural "Hide values" msgstr[0] "" @@ -1930,12 +2304,39 @@ msgstr "歷史" msgid "Housekeeping successfully started" msgstr "已開始維護" +msgid "Identity provider single sign on URL" +msgstr "" + +msgid "If enabled, access to projects will be validated on an external service using their classification label." +msgstr "" + +msgid "If using GitHub, you’ll see pipeline statuses on GitHub for your commits and pull requests. %{more_info_link}" +msgstr "" + msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "" +msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." +msgstr "" + +msgid "Import" +msgstr "" + +msgid "Import all repositories" +msgstr "" + +msgid "Import in progress" +msgstr "" + +msgid "Import repositories from GitHub" +msgstr "" + msgid "Import repository" msgstr "匯入檔案庫 (repository)" +msgid "ImportButtons|Connect repositories from" +msgstr "" + msgid "Improve Issue boards with GitLab Enterprise Edition." msgstr "" @@ -1958,6 +2359,9 @@ msgstr[0] "" msgid "Instance does not support multiple Kubernetes clusters" msgstr "" +msgid "Integrations" +msgstr "" + msgid "Interested parties can even contribute by pushing commits if they want to." msgstr "" @@ -2012,6 +2416,9 @@ msgstr "" msgid "June" msgstr "" +msgid "Koding" +msgstr "" + msgid "Kubernetes" msgstr "" @@ -2042,12 +2449,30 @@ msgstr "停用" msgid "LFSStatus|Enabled" msgstr "啟用" +msgid "Label" +msgstr "" + +msgid "LabelSelect|%{firstLabelName} +%{remainingLabelCount} more" +msgstr "" + +msgid "LabelSelect|%{labelsString}, and %{remainingLabelCount} more" +msgstr "" + msgid "Labels" msgstr "標籤" +msgid "Labels can be applied to %{features}. Group labels are available for any project within the group." +msgstr "" + msgid "Labels can be applied to issues and merge requests to categorize them." msgstr "" +msgid "Labels|Promote label %{labelTitle} to Group Label?" +msgstr "" + +msgid "Labels|Promote Label" +msgstr "" + msgid "Last %d day" msgid_plural "Last %d days" msgstr[0] "最近 %d 天" @@ -2106,6 +2531,9 @@ msgstr "" msgid "List" msgstr "" +msgid "List your GitHub repositories" +msgstr "" + msgid "Loading the GitLab IDE..." msgstr "" @@ -2118,9 +2546,6 @@ msgstr "" msgid "Lock not found" msgstr "" -msgid "Lock this %{issuableDisplayName}? Only project members will be able to comment." -msgstr "" - msgid "Locked" msgstr "鎖定" @@ -2136,9 +2561,21 @@ msgstr "登入" msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Manage all notifications" +msgstr "" + +msgid "Manage group labels" +msgstr "" + msgid "Manage labels" msgstr "" +msgid "Manage project labels" +msgstr "" + +msgid "Manage your group’s membership while adding another level of security with SAML." +msgstr "" + msgid "Mar" msgstr "" @@ -2160,6 +2597,9 @@ msgstr "中位數" msgid "Members" msgstr "成員" +msgid "Members will be forwarded here when signing in to your group. Get this from your identity provider, where it can also be called \"SSO Service Location\", \"SAML Token Issuance Endpoint\", or \"SAML 2.0/W-Federation URL\"." +msgstr "" + msgid "Merge Requests" msgstr "合併請求 (merge request)" @@ -2172,15 +2612,87 @@ msgstr "合併請求" msgid "Merge requests are a place to propose changes you've made to a project and discuss those changes with others" msgstr "" -msgid "MergeRequest|Approved" -msgstr "" - msgid "Merged" msgstr "" msgid "Messages" msgstr "公告" +msgid "Metrics - Influx" +msgstr "" + +msgid "Metrics - Prometheus" +msgstr "" + +msgid "Metrics|Business" +msgstr "" + +msgid "Metrics|Create metric" +msgstr "" + +msgid "Metrics|Edit metric" +msgstr "" + +msgid "Metrics|For grouping similar metrics" +msgstr "" + +msgid "Metrics|Label of the chart's vertical axis. Usually the type of the unit being charted. The horizontal axis (X-axis) always represents time." +msgstr "" + +msgid "Metrics|Legend label (optional)" +msgstr "" + +msgid "Metrics|Must be a valid PromQL query." +msgstr "" + +msgid "Metrics|Name" +msgstr "" + +msgid "Metrics|New metric" +msgstr "" + +msgid "Metrics|Prometheus Query Documentation" +msgstr "" + +msgid "Metrics|Query" +msgstr "" + +msgid "Metrics|Response" +msgstr "" + +msgid "Metrics|System" +msgstr "" + +msgid "Metrics|Type" +msgstr "" + +msgid "Metrics|Unit label" +msgstr "" + +msgid "Metrics|Used as a title for the chart" +msgstr "" + +msgid "Metrics|Used if the query returns a single series. If it returns multiple series, their legend labels will be picked up from the response." +msgstr "" + +msgid "Metrics|Y-axis label" +msgstr "" + +msgid "Metrics|e.g. HTTP requests" +msgstr "" + +msgid "Metrics|e.g. Requests/second" +msgstr "" + +msgid "Metrics|e.g. Throughput" +msgstr "" + +msgid "Metrics|e.g. rate(http_requests_total[5m])" +msgstr "" + +msgid "Metrics|e.g. req/sec" +msgstr "" + msgid "Milestone" msgstr "" @@ -2196,6 +2708,15 @@ msgstr "" msgid "Milestones|Milestone %{milestoneTitle} was not found" msgstr "" +msgid "Milestones|Promote %{milestoneTitle} to group milestone?" +msgstr "" + +msgid "Milestones|Promote Milestone" +msgstr "" + +msgid "Milestones|This action cannot be reversed." +msgstr "" + msgid "MissingSSHKeyWarningLink|add an SSH key" msgstr "新增 SSH 金鑰" @@ -2208,6 +2729,9 @@ msgstr "" msgid "Monitoring" msgstr "監控" +msgid "More info" +msgstr "" + msgid "More information" msgstr "" @@ -2281,6 +2805,9 @@ msgstr "新子群組" msgid "New tag" msgstr "新增標籤" +msgid "No Label" +msgstr "" + msgid "No assignee" msgstr "" @@ -2299,6 +2826,9 @@ msgstr "" msgid "No file chosen" msgstr "" +msgid "No labels created yet." +msgstr "" + msgid "No repository" msgstr "找不到檔案庫 (repository)" @@ -2314,6 +2844,12 @@ msgstr "" msgid "Not available" msgstr "無法使用" +msgid "Not available for private projects" +msgstr "" + +msgid "Not available for protected branches" +msgstr "" + msgid "Not confidential" msgstr "" @@ -2323,6 +2859,18 @@ msgstr "資料不足" msgid "Note that the master branch is automatically protected. %{link_to_protected_branches}" msgstr "" +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: As an administrator you may like to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow connecting repositories without generating a Personal Access Token." +msgstr "" + +msgid "Note: Consider asking your GitLab administrator to configure %{github_integration_link}, which will allow login via GitHub and allow importing repositories without generating a Personal Access Token." +msgstr "" + msgid "Notification events" msgstr "事件通知" @@ -2407,6 +2955,12 @@ msgstr "" msgid "OfSearchInADropdown|Filter" msgstr "篩選" +msgid "Once imported, repositories can be mirrored over SSH. Read more %{ssh_link}" +msgstr "" + +msgid "Online IDE integration settings." +msgstr "" + msgid "Only project members can comment." msgstr "只有群組成員才能留言。" @@ -2428,12 +2982,18 @@ msgstr "選項" msgid "Otherwise it is recommended you start with one of the options below." msgstr "" +msgid "Outbound requests" +msgstr "" + msgid "Overview" msgstr "總覽" msgid "Owner" msgstr "所有權" +msgid "Pages" +msgstr "" + msgid "Pagination|Last »" msgstr "最末頁 »" @@ -2446,9 +3006,21 @@ msgstr "上一頁" msgid "Pagination|« First" msgstr "« 第一頁" +msgid "Part of merge request changes" +msgstr "" + msgid "Password" msgstr "密碼" +msgid "Pending" +msgstr "" + +msgid "Performance optimization" +msgstr "" + +msgid "Personal Access Token" +msgstr "" + msgid "Pipeline" msgstr "流水線 (pipeline) " @@ -2530,9 +3102,36 @@ msgstr "去年的流水線" msgid "Pipelines|Build with confidence" msgstr "" +msgid "Pipelines|CI Lint" +msgstr "CI Lint" + +msgid "Pipelines|Clear Runner Caches" +msgstr "清除運行器快取" + msgid "Pipelines|Get started with Pipelines" msgstr "" +msgid "Pipelines|Loading Pipelines" +msgstr "" + +msgid "Pipelines|Project cache successfully reset." +msgstr "" + +msgid "Pipelines|Run Pipeline" +msgstr "" + +msgid "Pipelines|Something went wrong while cleaning runners cache." +msgstr "" + +msgid "Pipelines|There are currently no %{scope} pipelines." +msgstr "" + +msgid "Pipelines|There are currently no pipelines." +msgstr "" + +msgid "Pipelines|This project is not currently set up to run pipelines." +msgstr "" + msgid "Pipeline|Retry pipeline" msgstr "" @@ -2563,6 +3162,9 @@ msgstr "於階段" msgid "Pipeline|with stages" msgstr "於階段" +msgid "PlantUML" +msgstr "" + msgid "Play" msgstr "" @@ -2572,6 +3174,12 @@ msgstr "" msgid "Please solve the reCAPTCHA" msgstr "" +msgid "Please wait while we connect to your repository. Refresh at will." +msgstr "" + +msgid "Please wait while we import the repository for you. Refresh at will." +msgstr "" + msgid "Preferences" msgstr "偏好設定" @@ -2626,6 +3234,9 @@ msgstr "你的帳號目前擁有這些群組:" msgid "Profiles|your account" msgstr "你的帳號" +msgid "Profiling - Performance bar" +msgstr "" + msgid "Programming languages used in this repository" msgstr "" @@ -2650,9 +3261,6 @@ msgstr "" msgid "Project avatar in repository: %{link}" msgstr "" -msgid "Project cache successfully reset." -msgstr "" - msgid "Project details" msgstr "專案細節" @@ -2749,6 +3357,12 @@ msgstr "抱歉,沒有符合搜尋條件的專案" msgid "ProjectsDropdown|This feature requires browser localStorage support" msgstr "此功能需要瀏覽器支援 localStorage" +msgid "PrometheusService|%{exporters} with %{metrics} were found" +msgstr "" + +msgid "PrometheusService|

No common metrics were found

" +msgstr "" + msgid "PrometheusService|Active" msgstr "" @@ -2761,9 +3375,21 @@ msgstr "" msgid "PrometheusService|By default, Prometheus listens on ‘http://localhost:9090’. It’s not recommended to change the default address and port as this might affect or conflict with other services running on the GitLab server." msgstr "" +msgid "PrometheusService|Common metrics" +msgstr "" + +msgid "PrometheusService|Common metrics are automatically monitored based on a library of metrics from popular exporters." +msgstr "" + +msgid "PrometheusService|Custom metrics" +msgstr "" + msgid "PrometheusService|Finding and configuring metrics..." msgstr "" +msgid "PrometheusService|Finding custom metrics..." +msgstr "" + msgid "PrometheusService|Install Prometheus on clusters" msgstr "" @@ -2776,19 +3402,13 @@ msgstr "" msgid "PrometheusService|Metrics" msgstr "" -msgid "PrometheusService|Metrics are automatically configured and monitored based on a library of metrics from popular exporters." -msgstr "" - msgid "PrometheusService|Missing environment variable" msgstr "" -msgid "PrometheusService|Monitored" -msgstr "" - msgid "PrometheusService|More information" msgstr "" -msgid "PrometheusService|No metrics are being monitored. To start monitoring, deploy to an environment." +msgid "PrometheusService|New metric" msgstr "" msgid "PrometheusService|Prometheus API Base URL, like http://prometheus.example.com/" @@ -2797,6 +3417,9 @@ msgstr "" msgid "PrometheusService|Prometheus is being automatically managed on your clusters" msgstr "" +msgid "PrometheusService|These metrics will only be monitored after your first deployment to an environment" +msgstr "" + msgid "PrometheusService|Time-series monitoring service" msgstr "" @@ -2806,7 +3429,16 @@ msgstr "" msgid "PrometheusService|To enable the installation of Prometheus on your clusters, deactivate the manual configuration below" msgstr "" -msgid "PrometheusService|View environments" +msgid "PrometheusService|Waiting for your first deployment to an environment to find common metrics" +msgstr "" + +msgid "Promote" +msgstr "" + +msgid "Promote to Group Label" +msgstr "" + +msgid "Promote to Group Milestone" msgstr "" msgid "Protip:" @@ -2842,6 +3474,9 @@ msgstr "瞭解更多" msgid "Readme" msgstr "說明檔" +msgid "Real-time features" +msgstr "" + msgid "RefSwitcher|Branches" msgstr "分支 (branch) " @@ -2875,6 +3510,9 @@ msgstr "相關的合併請求 (merge request) " msgid "Related Merged Requests" msgstr "相關已合併的請求" +msgid "Related merge requests" +msgstr "" + msgid "Remind later" msgstr "稍後提醒" @@ -2890,12 +3528,24 @@ msgstr "刪除專案" msgid "Repair authentication" msgstr "" +msgid "Repo by URL" +msgstr "" + msgid "Repository" msgstr "檔案庫 (repository)" msgid "Repository has no locks." msgstr "" +msgid "Repository maintenance" +msgstr "" + +msgid "Repository mirror settings" +msgstr "" + +msgid "Repository storage" +msgstr "" + msgid "Request Access" msgstr "申請權限" @@ -2911,6 +3561,9 @@ msgstr "重置 Runner 註冊憑證 (registration token)" msgid "Resolve discussion" msgstr "" +msgid "Response" +msgstr "" + msgid "Reveal value" msgid_plural "Reveal values" msgstr[0] "" @@ -2921,9 +3574,36 @@ msgstr "還原此更動記錄 (commit)" msgid "Revert this merge request" msgstr "還原此合併請求 (merge request) " +msgid "Review the process for configuring service providers in your identity provider — in this case, GitLab is the \"service provider\" or \"relying party\"." +msgstr "" + +msgid "Reviewing" +msgstr "" + +msgid "Reviewing (merge request !%{mergeRequestId})" +msgstr "" + msgid "Roadmap" msgstr "" +msgid "Run CI/CD pipelines for external repositories" +msgstr "" + +msgid "Runners" +msgstr "" + +msgid "Running" +msgstr "" + +msgid "SAML Single Sign On" +msgstr "" + +msgid "SAML Single Sign On Settings" +msgstr "" + +msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." +msgstr "" + msgid "SSH Keys" msgstr "SSH 金鑰" @@ -2939,6 +3619,9 @@ msgstr "" msgid "Schedule a new pipeline" msgstr "建立流水線 (pipeline) 排程" +msgid "Scheduled" +msgstr "" + msgid "Schedules" msgstr "排程" @@ -2948,6 +3631,9 @@ msgstr "流水線 (pipeline) 排程" msgid "Scoped issue boards" msgstr "" +msgid "Search" +msgstr "" + msgid "Search branches and tags" msgstr "搜尋分支 (branch) 和標籤" @@ -3011,15 +3697,33 @@ msgstr "服務範本" msgid "Service URL" msgstr "" +msgid "Session expiration, projects limit and attachment size." +msgstr "" + msgid "Set a password on your account to pull or push via %{protocol}." msgstr "請先設定密碼,才能使用 %{protocol} 來上傳 (push) 或下載 (pull) 。" +msgid "Set default and restrict visibility levels. Configure import sources and git access protocol." +msgstr "" + +msgid "Set max session time for web terminal." +msgstr "" + +msgid "Set notification email for abuse reports." +msgstr "" + +msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication." +msgstr "" + msgid "Set up CI/CD" msgstr "" msgid "Set up Koding" msgstr "設定 Koding" +msgid "Set up assertions/attributes/claims (email, first_name, last_name) and NameID according to %{docsLinkStart}the documentation %{icon}%{docsLinkEnd}" +msgstr "" + msgid "SetPasswordToCloneLink|set a password" msgstr "設定密碼" @@ -3029,6 +3733,9 @@ msgstr "設定" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Share the %{sso_label} with members so they can sign in to your group through your identity provider" +msgstr "" + msgid "SharedRunnersMinutesSettings|By resetting the pipeline minutes for this namespace, the currently used minutes will be set to zero." msgstr "" @@ -3063,6 +3770,18 @@ msgstr "" msgid "Sidebar|Weight" msgstr "" +msgid "Sign-in restrictions" +msgstr "" + +msgid "Sign-up restrictions" +msgstr "" + +msgid "Size and domain settings for static websites" +msgstr "" + +msgid "Slack application" +msgstr "" + msgid "Snippets" msgstr "文字片段" @@ -3070,18 +3789,12 @@ msgid "Something went wrong on our end" msgstr "" msgid "Something went wrong on our end." -msgstr "發生了錯誤。" - -msgid "Something went wrong trying to change the confidentiality of this issue" -msgstr "" - -msgid "Something went wrong trying to change the locked state of this ${this.issuableDisplayName}" msgstr "" msgid "Something went wrong when toggling the button" msgstr "" -msgid "Something went wrong while closing the %{issuable}. Please try again later" +msgid "Something went wrong while fetching Dependency Scanning." msgstr "" msgid "Something went wrong while fetching SAST." @@ -3093,12 +3806,6 @@ msgstr "讀取專案時發生錯誤。" msgid "Something went wrong while fetching the registry list." msgstr "讀取註冊列表時發生錯誤。" -msgid "Something went wrong while reopening the %{issuable}. Please try again later" -msgstr "" - -msgid "Something went wrong while resolving this discussion. Please try again." -msgstr "" - msgid "Something went wrong. Please try again." msgstr "" @@ -3216,12 +3923,21 @@ msgstr "" msgid "Spam Logs" msgstr "垃圾訊息記錄" +msgid "Spam and Anti-bot Protection" +msgstr "" + msgid "Specify the following URL during the Runner setup:" msgstr "在安裝 Runner 時指定以下 URL:" msgid "StarProject|Star" msgstr "收藏" +msgid "Starred Projects" +msgstr "" + +msgid "Starred Projects' Activity" +msgstr "" + msgid "Starred projects" msgstr "星標項目" @@ -3231,6 +3947,15 @@ msgstr "以這些改動建立一個新的 %{new_merge_request} " msgid "Start the Runner!" msgstr "啟動 Runner!" +msgid "Started" +msgstr "" + +msgid "State your message to activate" +msgstr "" + +msgid "Status" +msgstr "" + msgid "Stopped" msgstr "" @@ -3243,9 +3968,15 @@ msgstr "子群組" msgid "Switch branch/tag" msgstr "切換分支 (branch) 或標籤" +msgid "System" +msgstr "" + msgid "System Hooks" msgstr "系統鉤子" +msgid "System header and footer:" +msgstr "" + msgid "Tag (%{tag_count})" msgid_plural "Tags (%{tag_count})" msgstr[0] "" @@ -3325,6 +4056,9 @@ msgstr "" msgid "Target Branch" msgstr "目標分支 (branch) " +msgid "Target branch" +msgstr "" + msgid "Team" msgstr "團隊" @@ -3340,15 +4074,24 @@ msgstr "" msgid "The Issue Tracker is the place to add things that need to be improved or solved in a project. You can register or sign in to create issues for this project." msgstr "" +msgid "The X509 Certificate to use when mutual TLS is required to communicate with the external authorization service. If left blank, the server certificate is still validated when accessing over HTTPS." +msgstr "" + msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request." msgstr "程式開發階段顯示從第一次更動記錄 (commit) 到建立合併請求 (merge request) 的時間。建立第一個合併請求後,資料將自動填入。" msgid "The collection of events added to the data gathered for that stage." msgstr "該階段中的相關事件集合。" +msgid "The connection will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The fork relationship has been removed." msgstr "分支與主幹間的關聯 (fork relationship) 已被刪除。" +msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination." +msgstr "" + msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage." msgstr "議題 (issue) 階段顯示從議題建立到設定里程碑所花的時間,或是議題被分類到議題看板 (issue board) 中所花的時間。建立第一個議題後,資料將自動填入。" @@ -3361,12 +4104,18 @@ msgstr "GitLab 存取儲存空間的嘗試次數。" msgid "The number of failures of after which GitLab will completely prevent access to the storage. The number of failures can be reset in the admin interface: %{link_to_health_page} or using the %{api_documentation_link}." msgstr "GitLab 將阻擋存取失敗的次數。在管理者介面中可以重置失敗次數: %{link_to_health_page} 或使用 %{api_documentation_link}。" +msgid "The passphrase required to decrypt the private key. This is optional and the value is encrypted at rest." +msgstr "" + msgid "The phase of the development lifecycle." msgstr "專案開發週期的各個階段。" msgid "The planning stage shows the time from the previous step to pushing your first commit. This time will be added automatically once you push your first commit." msgstr "計劃階段顯示從更動記錄 (commit) 被排程至第一個推送的時間。第一次推送之後,資料將自動填入。" +msgid "The private key to use when a client certificate is provided. This value is encrypted at rest." +msgstr "" + msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle." msgstr "營運階段顯示從建立議題 (issue) 到部署程式上線所花的時間。完成從發想到上線的完整開發週期後,資料將自動填入。" @@ -3382,6 +4131,9 @@ msgstr "本專案沒有檔案庫 (repository) " msgid "The repository for this project is empty" msgstr "" +msgid "The repository must be accessible over http://, https:// or git://." +msgstr "" + msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request." msgstr "複閱階段顯示從合併請求 (merge request) 建立後至被合併的時間。當建立第一個合併請求 (merge request) 後,資料將自動填入。" @@ -3418,6 +4170,9 @@ msgstr "" msgid "There are problems accessing Git storage: " msgstr "存取 Git 儲存空間時出現問題:" +msgid "There was an error loading results" +msgstr "" + msgid "There was an error loading users activity calendar." msgstr "" @@ -3490,6 +4245,9 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This will delete the custom metric, Are you sure?" +msgstr "" + msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" @@ -3502,6 +4260,12 @@ msgstr "議題 (issue) 等待開始實作的時間" msgid "Time between merge request creation and merge/close" msgstr "合併請求 (merge request) 從建立到被合併或是關閉的時間" +msgid "Time between updates and capacity settings." +msgstr "" + +msgid "Time in seconds GitLab will wait for a response from the external service. When the service does not respond in time, access will be denied." +msgstr "GitLab 等待外部服務的回應時間(秒)。當服務沒有在時間內回應時,存取將被拒絕。" + msgid "Time tracking" msgstr "" @@ -3657,6 +4421,36 @@ msgstr "" msgid "Title" msgstr "" +msgid "To GitLab" +msgstr "" + +msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." +msgstr "" + +msgid "To connect GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To connect an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To import GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to import." +msgstr "" + +msgid "To import GitHub repositories, you first need to authorize GitLab to access the list of your GitHub repositories:" +msgstr "" + +msgid "To import an SVN repository, check out %{svn_link}." +msgstr "" + +msgid "To only use CI/CD features for an external repository, choose CI/CD for external repo." +msgstr "" + +msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" +msgstr "" + +msgid "To validate your GitLab CI configurations, go to 'CI/CD → Pipelines' inside your project, and click on the 'CI Lint' button." +msgstr "" + msgid "To view the roadmap, add a planned start or finish date to one of your epics in this group or its subgroups. Only epics in the past 3 months and the next 3 months are shown." msgstr "" @@ -3696,18 +4490,12 @@ msgstr "" msgid "Turn on Service Desk" msgstr "" -msgid "Unable to reset project cache." -msgstr "" - msgid "Unknown" msgstr "" msgid "Unlock" msgstr "解鎖" -msgid "Unlock this %{issuableDisplayName}? Everyone will be able to comment." -msgstr "" - msgid "Unlocked" msgstr "已解鎖" @@ -3747,6 +4535,12 @@ msgstr "" msgid "UploadLink|click to upload" msgstr "點擊上傳" +msgid "Upvotes" +msgstr "" + +msgid "Usage statistics" +msgstr "" + msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" @@ -3756,24 +4550,51 @@ msgstr "在安裝過程中使用此註冊憑證 (registration token):" msgid "Use your global notification setting" msgstr "使用全域通知設定" +msgid "Used by members to sign in to your group in GitLab" +msgstr "" + +msgid "User and IP Rate Limits" +msgstr "" + msgid "Variables are applied to environments via the runner. They can be protected by only exposing them to protected branches or tags. You can use variables for passwords, secret keys, or whatever you want." msgstr "" +msgid "Various container registry settings." +msgstr "" + +msgid "Various email settings." +msgstr "" + +msgid "Various settings that affect GitLab performance." +msgstr "" + +msgid "View and edit lines" +msgstr "" + msgid "View epics list" msgstr "" msgid "View file @ " msgstr "瀏覽檔案 @ " +msgid "View group labels" +msgstr "" + msgid "View labels" msgstr "" msgid "View open merge request" msgstr "查看此分支的合併請求 (merge request)" +msgid "View project labels" +msgstr "" + msgid "View replaced file @ " msgstr "瀏覽已替換檔案 @ " +msgid "Visibility and access controls" +msgstr "" + msgid "VisibilityLevel|Internal" msgstr "內部" @@ -3801,12 +4622,18 @@ msgstr "" msgid "Web IDE" msgstr "" +msgid "Web terminal" +msgstr "" + msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" msgid "Weight" msgstr "" +msgid "When leaving the URL blank, classification labels can still be specified whitout disabling cross project features or performing external authorization checks." +msgstr "" + msgid "Wiki" msgstr "Wiki" @@ -3927,14 +4754,20 @@ msgstr "" msgid "You are going to remove %{group_name}. Removed groups CANNOT be restored! Are you ABSOLUTELY sure?" msgstr "將要刪除 %{group_name}。被刪除的群組無法復原!真的「確定」要這麼做嗎?" -msgid "You are going to remove %{project_name_with_namespace}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" -msgstr "將要刪除 %{project_name_with_namespace}。被刪除的專案無法復原!真的「確定」要這麼做嗎?" +msgid "You are going to remove %{project_full_name}. Removed project CANNOT be restored! Are you ABSOLUTELY sure?" +msgstr "" msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?" msgstr "將要刪除本分支專案與主幹 %{forked_from_project} 的所有關聯。 真的「確定」要這麼做嗎?" -msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?" -msgstr "將要把 %{project_name_with_namespace} 的所有權轉移給另一個人。真的「確定」要這麼做嗎?" +msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?" +msgstr "" + +msgid "You are on a read-only GitLab instance." +msgstr "" + +msgid "You are on a secondary (read-only) Geo node. If you want to make any changes, you must visit the %{primary_node}." +msgstr "" msgid "You can also create a project from the command line." msgstr "" @@ -4008,9 +4841,27 @@ msgstr "" msgid "You'll need to use different branch names to get a valid comparison." msgstr "" +msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" +msgstr "" + +msgid "Your Groups" +msgstr "" + msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your Projects (default)" +msgstr "" + +msgid "Your Projects' Activity" +msgstr "" + +msgid "Your Todos" +msgstr "" + +msgid "Your changes can be committed to %{branch_name} because a merge request is open." +msgstr "" + msgid "Your changes have been committed. Commit %{commitId} %{commitStats}" msgstr "" @@ -4026,6 +4877,13 @@ msgstr "您的名字" msgid "Your projects" msgstr "你的計劃" +msgid "among other things" +msgstr "" + +msgid "and %d fixed vulnerability" +msgid_plural "and %d fixed vulnerabilities" +msgstr[0] "" + msgid "assign yourself" msgstr "" @@ -4035,12 +4893,30 @@ msgstr "" msgid "by" msgstr "" +msgid "ciReport|%{type} detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|%{type} detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Code quality" msgstr "" msgid "ciReport|DAST detected no alerts by analyzing the review app" msgstr "" +msgid "ciReport|Dependency scanning" +msgstr "" + +msgid "ciReport|Dependency scanning detected" +msgstr "" + +msgid "ciReport|Dependency scanning detected no new security vulnerabilities" +msgstr "" + +msgid "ciReport|Dependency scanning detected no security vulnerabilities" +msgstr "" + msgid "ciReport|Failed to load %{reportName} report" msgstr "" @@ -4068,9 +4944,6 @@ msgstr "" msgid "ciReport|SAST" msgstr "" -msgid "ciReport|SAST degraded on" -msgstr "" - msgid "ciReport|SAST detected" msgstr "" @@ -4083,40 +4956,66 @@ msgstr "" msgid "ciReport|SAST:container no vulnerabilities were found" msgstr "" +msgid "ciReport|Security scanning" +msgstr "" + +msgid "ciReport|Security scanning failed loading any results" +msgstr "" + msgid "ciReport|Show complete code vulnerabilities report" msgstr "" msgid "ciReport|Unapproved vulnerabilities (red) can be marked as approved. %{helpLink}" msgstr "" -msgid "ciReport|no security vulnerabilities" +msgid "ciReport|no vulnerabilities" msgstr "" msgid "command line instructions" msgstr "" -msgid "commit" +msgid "connecting" msgstr "" -msgid "confidentiality|You are going to turn off the confidentiality. This means everyone will be able to see and leave a comment on this issue." -msgstr "" - -msgid "confidentiality|You are going to turn on the confidentiality. This means that only team members with at least Reporter access are able to see and leave comments on the issue." +msgid "could not read private key, is the passphrase correct?" msgstr "" msgid "day" msgid_plural "days" msgstr[0] "天" +msgid "detected %d fixed vulnerability" +msgid_plural "detected %d fixed vulnerabilities" +msgstr[0] "" + +msgid "detected %d new vulnerability" +msgid_plural "detected %d new vulnerabilities" +msgstr[0] "" + +msgid "detected no vulnerabilities" +msgstr "" + msgid "estimateCommand|%{slash_command} will update the estimated time with the latest command." msgstr "" +msgid "here" +msgstr "" + +msgid "importing" +msgstr "" + +msgid "in progress" +msgstr "" + msgid "is invalid because there is downstream lock" msgstr "" msgid "is invalid because there is upstream lock" msgstr "" +msgid "is not a valid X509 certificate." +msgstr "" + msgid "locked by %{path_lock_user_name} %{created_at}" msgstr "" @@ -4127,9 +5026,21 @@ msgstr[0] "" msgid "mrWidget| Please restore it or use a different %{missingBranchName} branch" msgstr "" +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} decreased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage %{emphasisStart} increased %{emphasisEnd} from %{memoryFrom}MB to %{memoryTo}MB" +msgstr "" + +msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB" +msgstr "" + msgid "mrWidget|Add approval" msgstr "" +msgid "mrWidget|Allows edits from maintainers" +msgstr "" + msgid "mrWidget|An error occured while removing your approval." msgstr "" @@ -4142,6 +5053,9 @@ msgstr "" msgid "mrWidget|Approve" msgstr "" +msgid "mrWidget|Approved" +msgstr "" + msgid "mrWidget|Approved by" msgstr "" @@ -4169,18 +5083,27 @@ msgstr "" msgid "mrWidget|Closes" msgstr "" +msgid "mrWidget|Deployment statistics are not available currently" +msgstr "" + msgid "mrWidget|Did not close" msgstr "" msgid "mrWidget|Email patches" msgstr "" +msgid "mrWidget|Failed to load deployment statistics" +msgstr "" + msgid "mrWidget|If the %{branch} branch exists in your local repository, you can merge this merge request manually using the" msgstr "" msgid "mrWidget|If the %{missingBranchName} branch exists in your local repository, you can merge this merge request manually using the command line" msgstr "" +msgid "mrWidget|Loading deployment statistics" +msgstr "" + msgid "mrWidget|Mentions" msgstr "" @@ -4265,6 +5188,9 @@ msgstr "" msgid "mrWidget|This project is archived, write access has been disabled" msgstr "" +msgid "mrWidget|Web IDE" +msgstr "" + msgid "mrWidget|You can merge this merge request manually using the" msgstr "" @@ -4302,6 +5228,9 @@ msgstr "密碼" msgid "personal access token" msgstr "私人存取憑證 (access token)" +msgid "private key does not match certificate." +msgstr "" + msgid "remove due date" msgstr "" @@ -4311,6 +5240,9 @@ msgstr "" msgid "spendCommand|%{slash_command} will update the sum of the time spent." msgstr "" +msgid "this document" +msgstr "" + msgid "to help your contributors communicate effectively!" msgstr "" -- cgit v1.2.1 From 9750006b1a7e78785256cf669c336c0075584d3b Mon Sep 17 00:00:00 2001 From: Tomasz Maczukin Date: Thu, 5 Apr 2018 16:43:52 +0200 Subject: Update documentation --- .../admin_area/settings/visibility_and_access_controls.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/doc/user/admin_area/settings/visibility_and_access_controls.md b/doc/user/admin_area/settings/visibility_and_access_controls.md index 633f16a617c..3d38588a9ed 100644 --- a/doc/user/admin_area/settings/visibility_and_access_controls.md +++ b/doc/user/admin_area/settings/visibility_and_access_controls.md @@ -32,9 +32,15 @@ When you choose to allow only one of the protocols, a couple of things will happ On top of these UI restrictions, GitLab will deny all Git actions on the protocol not selected. +CAUTION: **Important:** +Starting with [GitLab 10.7][ce-18021], HTTP(s) protocol will be allowed for +git clone/fetch requests done by GitLab Runner from CI/CD Jobs, even if +_Only SSH_ was selected. + > **Note:** Please keep in mind that disabling an access protocol does not actually - block access to the server itself. The ports used for the protocol, be it SSH or - HTTP, will still be accessible. What GitLab does is restrict access on the - application level. +block access to the server itself. The ports used for the protocol, be it SSH or +HTTP, will still be accessible. What GitLab does is restrict access on the +application level. [ce-4696]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4696 +[ce-18021]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18021 -- cgit v1.2.1 From 99edc15127d9d23475c94079d53e2893f58c042a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20=C4=8Cupi=C4=87?= Date: Thu, 5 Apr 2018 17:32:03 +0200 Subject: Put Erased empty state at the beginning --- lib/gitlab/ci/status/build/factory.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb index 466a0a989ad..9d2d4170266 100644 --- a/lib/gitlab/ci/status/build/factory.rb +++ b/lib/gitlab/ci/status/build/factory.rb @@ -4,12 +4,12 @@ module Gitlab module Build class Factory < Status::Factory def self.extended_statuses - [[Status::Build::Manual, + [[Status::Build::Erased, + Status::Build::Manual, Status::Build::Canceled, Status::Build::Created, Status::Build::Pending, - Status::Build::Skipped, - Status::Build::Erased], + Status::Build::Skipped], [Status::Build::Cancelable, Status::Build::Retryable], [Status::Build::FailedAllowed, -- cgit v1.2.1 From 43a07e75b57049ccf2289ab4aa7978cfac1bd135 Mon Sep 17 00:00:00 2001 From: Tomasz Maczukin Date: Tue, 13 Mar 2018 19:33:46 +0100 Subject: Partition job_queue_duration_seconds with jobs_running_for_project --- app/services/ci/register_job_service.rb | 19 +++++- spec/factories/ci/builds.rb | 1 + spec/services/ci/register_job_service_spec.rb | 83 ++++++++++++++++++++++++++- 3 files changed, 99 insertions(+), 4 deletions(-) diff --git a/app/services/ci/register_job_service.rb b/app/services/ci/register_job_service.rb index e09b445636f..d46dcff34a1 100644 --- a/app/services/ci/register_job_service.rb +++ b/app/services/ci/register_job_service.rb @@ -4,6 +4,9 @@ module Ci class RegisterJobService attr_reader :runner + JOB_QUEUE_DURATION_SECONDS_BUCKETS = [1, 3, 10, 30].freeze + JOBS_RUNNING_FOR_PROJECT_MAX_BUCKET = 5.freeze + Result = Struct.new(:build, :valid?) def initialize(runner) @@ -104,10 +107,22 @@ module Ci end def register_success(job) - job_queue_duration_seconds.observe({ shared_runner: @runner.shared? }, Time.now - job.created_at) + labels = { shared_runner: runner.shared?, + jobs_running_for_project: jobs_running_for_project(job) } + + job_queue_duration_seconds.observe(labels, Time.now - job.queued_at) attempt_counter.increment end + def jobs_running_for_project(job) + return '+Inf' unless runner.shared? + + # excluding currently started job + running_jobs_count = job.project.builds.running.where(runner: Ci::Runner.shared) + .limit(JOBS_RUNNING_FOR_PROJECT_MAX_BUCKET + 1).count - 1 + running_jobs_count < JOBS_RUNNING_FOR_PROJECT_MAX_BUCKET ? running_jobs_count : "#{JOBS_RUNNING_FOR_PROJECT_MAX_BUCKET}+" + end + def failed_attempt_counter @failed_attempt_counter ||= Gitlab::Metrics.counter(:job_register_attempts_failed_total, "Counts the times a runner tries to register a job") end @@ -117,7 +132,7 @@ module Ci end def job_queue_duration_seconds - @job_queue_duration_seconds ||= Gitlab::Metrics.histogram(:job_queue_duration_seconds, 'Request handling execution time') + @job_queue_duration_seconds ||= Gitlab::Metrics.histogram(:job_queue_duration_seconds, 'Request handling execution time', {}, JOB_QUEUE_DURATION_SECONDS_BUCKETS) end end end diff --git a/spec/factories/ci/builds.rb b/spec/factories/ci/builds.rb index f6ba3a581ca..30235a3a876 100644 --- a/spec/factories/ci/builds.rb +++ b/spec/factories/ci/builds.rb @@ -62,6 +62,7 @@ FactoryBot.define do end trait :pending do + queued_at 'Di 29. Okt 09:50:59 CET 2013' status 'pending' end diff --git a/spec/services/ci/register_job_service_spec.rb b/spec/services/ci/register_job_service_spec.rb index 97a563c1ce1..aa7cc268dd7 100644 --- a/spec/services/ci/register_job_service_spec.rb +++ b/spec/services/ci/register_job_service_spec.rb @@ -370,10 +370,89 @@ module Ci it_behaves_like 'validation is not active' end end + end - def execute(runner) - described_class.new(runner).execute.build + describe '#register_success' do + let!(:current_time) { Time.new(2018, 4, 5, 14, 0, 0) } + let!(:attempt_counter) { double('Gitlab::Metrics::NullMetric') } + let!(:job_queue_duration_seconds) { double('Gitlab::Metrics::NullMetric') } + + before do + allow(Time).to receive(:now).and_return(current_time) + + # Stub defaults for any metrics other than the ones we're testing + allow(Gitlab::Metrics).to receive(:counter) + .with(any_args) + .and_return(Gitlab::Metrics::NullMetric.instance) + allow(Gitlab::Metrics).to receive(:histogram) + .with(any_args) + .and_return(Gitlab::Metrics::NullMetric.instance) + + # Stub tested metrics + allow(Gitlab::Metrics).to receive(:counter) + .with(:job_register_attempts_total, anything) + .and_return(attempt_counter) + allow(Gitlab::Metrics).to receive(:histogram) + .with(:job_queue_duration_seconds, anything, anything, anything) + .and_return(job_queue_duration_seconds) + + project.update(shared_runners_enabled: true) + pending_job.update(created_at: current_time - 3600, queued_at: current_time - 1800) end + + shared_examples 'metrics collector' do + it 'increments attempt counter' do + allow(job_queue_duration_seconds).to receive(:observe) + expect(attempt_counter).to receive(:increment) + + execute(runner) + end + + it 'counts job queuing time histogram with expected labels' do + allow(attempt_counter).to receive(:increment) + expect(job_queue_duration_seconds).to receive(:observe) + .with({ shared_runner: expected_shared_runner, + jobs_running_for_project: expected_jobs_running_for_project_first_job }, 1800) + + execute(runner) + end + + context 'when project already has running jobs' do + let!(:build2) { create( :ci_build, :running, pipeline: pipeline, runner: shared_runner) } + let!(:build3) { create( :ci_build, :running, pipeline: pipeline, runner: shared_runner) } + + it 'counts job queuing time histogram with expected labels' do + allow(attempt_counter).to receive(:increment) + expect(job_queue_duration_seconds).to receive(:observe) + .with({ shared_runner: expected_shared_runner, + jobs_running_for_project: expected_jobs_running_for_project_third_job }, 1800) + + execute(runner) + end + end + end + + context 'when shared runner is used' do + let(:runner) { shared_runner } + let(:expected_shared_runner) { true } + let(:expected_jobs_running_for_project_first_job) { 0 } + let(:expected_jobs_running_for_project_third_job) { 2 } + + it_behaves_like 'metrics collector' + end + + context 'when specific runner is used' do + let(:runner) { specific_runner } + let(:expected_shared_runner) { false } + let(:expected_jobs_running_for_project_first_job) { '+Inf' } + let(:expected_jobs_running_for_project_third_job) { '+Inf' } + + it_behaves_like 'metrics collector' + end + end + + def execute(runner) + described_class.new(runner).execute.build end end end -- cgit v1.2.1 From 65529bd049bd4b198f997a45b48bff24359eab6f Mon Sep 17 00:00:00 2001 From: Tomasz Maczukin Date: Thu, 5 Apr 2018 11:06:04 +0200 Subject: Add CHANGELOG entry --- changelogs/unreleased/improve-jobs-queuing-time-metric.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/improve-jobs-queuing-time-metric.yml diff --git a/changelogs/unreleased/improve-jobs-queuing-time-metric.yml b/changelogs/unreleased/improve-jobs-queuing-time-metric.yml new file mode 100644 index 00000000000..cee8b8523fd --- /dev/null +++ b/changelogs/unreleased/improve-jobs-queuing-time-metric.yml @@ -0,0 +1,5 @@ +--- +title: Partition job_queue_duration_seconds with jobs_running_for_project +merge_request: 17730 +author: +type: changed -- cgit v1.2.1 From 33c163b347ca37ae91240be40a05c881c89c7135 Mon Sep 17 00:00:00 2001 From: Nathan Jones Date: Mon, 10 Jul 2017 23:33:08 +0000 Subject: Update index.md to describe leaving out the host in prometheus['listen_address'] to allow public access. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rémy Coutable --- doc/administration/monitoring/prometheus/index.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/administration/monitoring/prometheus/index.md b/doc/administration/monitoring/prometheus/index.md index f43c89dad87..3d24812c66a 100644 --- a/doc/administration/monitoring/prometheus/index.md +++ b/doc/administration/monitoring/prometheus/index.md @@ -62,7 +62,14 @@ To change the address/port that Prometheus listens on: ``` Replace `localhost:9090` with the address/port you want Prometheus to - listen on. + listen on. If you would like to allow access to Prometheus to hosts other + than `localhost`, leave out the host, or use `0.0.0.0` to allow public access: + + ```ruby + prometheus['listen_address'] = ':9090' + # or + prometheus['listen_address'] = '0.0.0.0:9090' + ``` 1. Save the file and [reconfigure GitLab][reconfigure] for the changes to take effect -- cgit v1.2.1 From 373f6a9bb20497eebe4cdf41be18eb2399424a59 Mon Sep 17 00:00:00 2001 From: Shinya Maeda Date: Fri, 6 Apr 2018 01:44:24 +0900 Subject: Add change log --- app/controllers/projects/jobs_controller.rb | 2 -- changelogs/unreleased/44665-fix-db-trace-stream-by-raw-access.yml | 5 +++++ 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 changelogs/unreleased/44665-fix-db-trace-stream-by-raw-access.yml diff --git a/app/controllers/projects/jobs_controller.rb b/app/controllers/projects/jobs_controller.rb index 539bb9a14a7..ac9eb2047a0 100644 --- a/app/controllers/projects/jobs_controller.rb +++ b/app/controllers/projects/jobs_controller.rb @@ -127,8 +127,6 @@ class Projects::JobsController < Projects::ApplicationController build.trace.read do |stream| if stream.file? send_file stream.path, type: 'text/plain; charset=utf-8', disposition: 'inline' - elsif build.old_trace - send_data stream.raw, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' else send_data stream.raw, type: 'text/plain; charset=utf-8', disposition: 'inline', filename: 'job.log' end diff --git a/changelogs/unreleased/44665-fix-db-trace-stream-by-raw-access.yml b/changelogs/unreleased/44665-fix-db-trace-stream-by-raw-access.yml new file mode 100644 index 00000000000..4166d4fe320 --- /dev/null +++ b/changelogs/unreleased/44665-fix-db-trace-stream-by-raw-access.yml @@ -0,0 +1,5 @@ +--- +title: Fix `JobsController#raw` endpoint can not read traces in database +merge_request: 18101 +author: +type: fixed -- cgit v1.2.1 From a76313763bb1d5ee1375fc451970a976f4931ef5 Mon Sep 17 00:00:00 2001 From: Joshua Lambert Date: Thu, 5 Apr 2018 13:03:38 -0400 Subject: Override the Prometheus server name --- vendor/prometheus/values.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/vendor/prometheus/values.yaml b/vendor/prometheus/values.yaml index 859f2ad82a4..c432be72163 100644 --- a/vendor/prometheus/values.yaml +++ b/vendor/prometheus/values.yaml @@ -14,6 +14,7 @@ rbac: create: false server: + fullnameOverride: "prometheus-prometheus-server" image: tag: v2.1.0 -- cgit v1.2.1 From 22423d284704c3ec2f7715736a75155d14ff413d Mon Sep 17 00:00:00 2001 From: Felipe Artur Date: Wed, 4 Apr 2018 18:43:33 -0300 Subject: Show issues of subgroups in group-level issue board --- .../javascripts/boards/components/board_sidebar.js | 6 +----- .../boards/components/issue_card_inner.js | 13 ++--------- .../boards/components/sidebar/remove_issue.js | 6 +----- .../javascripts/boards/filtered_search_boards.js | 1 + app/assets/javascripts/boards/models/issue.js | 6 ++++-- app/controllers/boards/issues_controller.rb | 3 ++- app/controllers/groups/milestones_controller.rb | 2 +- app/models/issue.rb | 12 ++++++++--- app/services/boards/issues/list_service.rb | 5 +++++ app/services/issuable_base_service.rb | 3 ++- .../shared/boards/components/_sidebar.html.haml | 2 +- .../boards/components/sidebar/_assignee.html.haml | 3 +-- .../boards/components/sidebar/_due_date.html.haml | 3 +-- .../boards/components/sidebar/_labels.html.haml | 3 +-- .../boards/components/sidebar/_milestone.html.haml | 3 +-- changelogs/unreleased/issue_44270.yml | 5 +++++ spec/features/labels_hierarchy_spec.rb | 6 ++++-- spec/services/boards/issues/list_service_spec.rb | 25 +++++++++++++++++----- 18 files changed, 62 insertions(+), 45 deletions(-) create mode 100644 changelogs/unreleased/issue_44270.yml diff --git a/app/assets/javascripts/boards/components/board_sidebar.js b/app/assets/javascripts/boards/components/board_sidebar.js index a44969272a1..c4ee4f6c855 100644 --- a/app/assets/javascripts/boards/components/board_sidebar.js +++ b/app/assets/javascripts/boards/components/board_sidebar.js @@ -60,10 +60,6 @@ gl.issueBoards.BoardSidebar = Vue.extend({ this.issue = this.detail.issue; this.list = this.detail.list; - - this.$nextTick(() => { - this.endpoint = this.$refs.assigneeDropdown.dataset.issueUpdate; - }); }, deep: true }, @@ -91,7 +87,7 @@ gl.issueBoards.BoardSidebar = Vue.extend({ saveAssignees () { this.loadingAssignees = true; - gl.issueBoards.BoardsStore.detail.issue.update(this.endpoint) + gl.issueBoards.BoardsStore.detail.issue.update() .then(() => { this.loadingAssignees = false; }) diff --git a/app/assets/javascripts/boards/components/issue_card_inner.js b/app/assets/javascripts/boards/components/issue_card_inner.js index 8aee5b23c76..84fe9b1288a 100644 --- a/app/assets/javascripts/boards/components/issue_card_inner.js +++ b/app/assets/javascripts/boards/components/issue_card_inner.js @@ -68,15 +68,6 @@ gl.issueBoards.IssueCardInner = Vue.extend({ return this.issue.assignees.length > this.numberOverLimit; }, - cardUrl() { - let baseUrl = this.issueLinkBase; - - if (this.groupId && this.issue.project) { - baseUrl = this.issueLinkBase.replace(':project_path', this.issue.project.path); - } - - return `${baseUrl}/${this.issue.iid}`; - }, issueId() { if (this.issue.iid) { return `#${this.issue.iid}`; @@ -153,13 +144,13 @@ gl.issueBoards.IssueCardInner = Vue.extend({ /> {{ issue.title }} - {{ issueId }} + {{ issue.referencePath }}
diff --git a/app/assets/javascripts/boards/components/sidebar/remove_issue.js b/app/assets/javascripts/boards/components/sidebar/remove_issue.js index 09c683ff621..0a0820ec5fd 100644 --- a/app/assets/javascripts/boards/components/sidebar/remove_issue.js +++ b/app/assets/javascripts/boards/components/sidebar/remove_issue.js @@ -17,14 +17,10 @@ gl.issueBoards.RemoveIssueBtn = Vue.extend({ type: Object, required: true, }, - issueUpdate: { - type: String, - required: true, - }, }, computed: { updateUrl() { - return this.issueUpdate.replace(':project_path', this.issue.project.path); + return this.issue.path; }, }, methods: { diff --git a/app/assets/javascripts/boards/filtered_search_boards.js b/app/assets/javascripts/boards/filtered_search_boards.js index fb40b9f5565..70367c4f711 100644 --- a/app/assets/javascripts/boards/filtered_search_boards.js +++ b/app/assets/javascripts/boards/filtered_search_boards.js @@ -6,6 +6,7 @@ export default class FilteredSearchBoards extends FilteredSearchManager { constructor(store, updateUrl = false, cantEdit = []) { super({ page: 'boards', + isGroupDecendent: true, stateFiltersSelector: '.issues-state-filters', }); diff --git a/app/assets/javascripts/boards/models/issue.js b/app/assets/javascripts/boards/models/issue.js index 4c5079efc8b..85f98615cf4 100644 --- a/app/assets/javascripts/boards/models/issue.js +++ b/app/assets/javascripts/boards/models/issue.js @@ -23,6 +23,8 @@ class ListIssue { }; this.isLoading = {}; this.sidebarInfoEndpoint = obj.issue_sidebar_endpoint; + this.referencePath = obj.reference_path; + this.path = obj.real_path; this.toggleSubscriptionEndpoint = obj.toggle_subscription_endpoint; this.milestone_id = obj.milestone_id; this.project_id = obj.project_id; @@ -98,7 +100,7 @@ class ListIssue { this.isLoading[key] = value; } - update (url) { + update () { const data = { issue: { milestone_id: this.milestone ? this.milestone.id : null, @@ -113,7 +115,7 @@ class ListIssue { } const projectPath = this.project ? this.project.path : ''; - return Vue.http.patch(url.replace(':project_path', projectPath), data); + return Vue.http.patch(this.path + '.json', data); } } diff --git a/app/controllers/boards/issues_controller.rb b/app/controllers/boards/issues_controller.rb index 19dbee84c11..7d7ff217e5d 100644 --- a/app/controllers/boards/issues_controller.rb +++ b/app/controllers/boards/issues_controller.rb @@ -96,7 +96,8 @@ module Boards resource.as_json( only: [:id, :iid, :project_id, :title, :confidential, :due_date, :relative_position], labels: true, - sidebar_endpoints: true, + issue_endpoints: true, + include_full_project_path: board.group_board?, include: { project: { only: [:id, :path] }, assignees: { only: [:id, :name, :username], methods: [:avatar_url] }, diff --git a/app/controllers/groups/milestones_controller.rb b/app/controllers/groups/milestones_controller.rb index acf6aaf57f4..5903689dc62 100644 --- a/app/controllers/groups/milestones_controller.rb +++ b/app/controllers/groups/milestones_controller.rb @@ -12,7 +12,7 @@ class Groups::MilestonesController < Groups::ApplicationController @milestones = Kaminari.paginate_array(milestones).page(params[:page]) end format.json do - render json: milestones.map { |m| m.for_display.slice(:title, :name) } + render json: milestones.map { |m| m.for_display.slice(:id, :title, :name) } end end end diff --git a/app/models/issue.rb b/app/models/issue.rb index 13abc6c1a0d..13d9e42bcc8 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -272,11 +272,17 @@ class Issue < ActiveRecord::Base def as_json(options = {}) super(options).tap do |json| - if options.key?(:sidebar_endpoints) && project + if options.key?(:issue_endpoints) && project url_helper = Gitlab::Routing.url_helpers - json.merge!(issue_sidebar_endpoint: url_helper.project_issue_path(project, self, format: :json, serializer: 'sidebar'), - toggle_subscription_endpoint: url_helper.toggle_subscription_project_issue_path(project, self)) + issue_reference = options[:include_full_project_path] ? to_reference(full: true) : to_reference + + json.merge!( + reference_path: issue_reference, + real_path: url_helper.project_issue_path(project, self), + issue_sidebar_endpoint: url_helper.project_issue_path(project, self, format: :json, serializer: 'sidebar'), + toggle_subscription_endpoint: url_helper.toggle_subscription_project_issue_path(project, self) + ) end if options.key?(:labels) diff --git a/app/services/boards/issues/list_service.rb b/app/services/boards/issues/list_service.rb index ecd74b74f8a..8a1796a1096 100644 --- a/app/services/boards/issues/list_service.rb +++ b/app/services/boards/issues/list_service.rb @@ -35,6 +35,7 @@ module Boards def filter_params set_parent set_state + set_scope params end @@ -51,6 +52,10 @@ module Boards params[:state] = list && list.closed? ? 'closed' : 'opened' end + def set_scope + params[:include_subgroups] = true if board.group_board? + end + def board_label_ids @board_label_ids ||= board.lists.movable.pluck(:label_id) end diff --git a/app/services/issuable_base_service.rb b/app/services/issuable_base_service.rb index 91ec702fbc6..1f67e3ecf9d 100644 --- a/app/services/issuable_base_service.rb +++ b/app/services/issuable_base_service.rb @@ -51,9 +51,10 @@ class IssuableBaseService < BaseService return unless milestone_id params[:milestone_id] = '' if milestone_id == IssuableFinder::NONE + group_ids = project.group&.self_and_ancestors&.pluck(:id) milestone = - Milestone.for_projects_and_groups([project.id], [project.group&.id]).find_by_id(milestone_id) + Milestone.for_projects_and_groups([project.id], group_ids).find_by_id(milestone_id) params[:milestone_id] = '' unless milestone end diff --git a/app/views/shared/boards/components/_sidebar.html.haml b/app/views/shared/boards/components/_sidebar.html.haml index 8e5e32e9f16..b385cc3f962 100644 --- a/app/views/shared/boards/components/_sidebar.html.haml +++ b/app/views/shared/boards/components/_sidebar.html.haml @@ -22,6 +22,6 @@ = render "shared/boards/components/sidebar/labels" = render "shared/boards/components/sidebar/notifications" %remove-btn{ ":issue" => "issue", - ":issue-update" => "'#{build_issue_link_base}/' + issue.iid + '.json'", + ":issue-update" => "issue.sidebarInfoEndpoint", ":list" => "list", "v-if" => "canRemove" } diff --git a/app/views/shared/boards/components/sidebar/_assignee.html.haml b/app/views/shared/boards/components/sidebar/_assignee.html.haml index 3d2e8471a60..1374da9d82c 100644 --- a/app/views/shared/boards/components/sidebar/_assignee.html.haml +++ b/app/views/shared/boards/components/sidebar/_assignee.html.haml @@ -21,8 +21,7 @@ .dropdown - dropdown_options = issue_assignees_dropdown_options %button.dropdown-menu-toggle.js-user-search.js-author-search.js-multiselect.js-save-user-data.js-issue-board-sidebar{ type: 'button', ref: 'assigneeDropdown', data: board_sidebar_user_data, - ":data-issuable-id" => "issue.iid", - ":data-issue-update" => "'#{build_issue_link_base}/' + issue.iid + '.json'" } + ":data-issuable-id" => "issue.iid" } = dropdown_options[:title] = icon("chevron-down") .dropdown-menu.dropdown-select.dropdown-menu-user.dropdown-menu-selectable.dropdown-menu-author diff --git a/app/views/shared/boards/components/sidebar/_due_date.html.haml b/app/views/shared/boards/components/sidebar/_due_date.html.haml index db794d6f855..c1a97269954 100644 --- a/app/views/shared/boards/components/sidebar/_due_date.html.haml +++ b/app/views/shared/boards/components/sidebar/_due_date.html.haml @@ -22,8 +22,7 @@ ":value" => "issue.dueDate" } .dropdown %button.dropdown-menu-toggle.js-due-date-select.js-issue-boards-due-date{ type: 'button', - data: { toggle: 'dropdown', field_name: "issue[due_date]", ability_name: "issue" }, - ":data-issue-update" => "'#{build_issue_link_base}/' + issue.iid + '.json'" } + data: { toggle: 'dropdown', field_name: "issue[due_date]", ability_name: "issue" }} %span.dropdown-toggle-text Due date = icon('chevron-down') .dropdown-menu.dropdown-menu-due-date diff --git a/app/views/shared/boards/components/sidebar/_labels.html.haml b/app/views/shared/boards/components/sidebar/_labels.html.haml index dfc0f9be321..3c514ededc5 100644 --- a/app/views/shared/boards/components/sidebar/_labels.html.haml +++ b/app/views/shared/boards/components/sidebar/_labels.html.haml @@ -26,8 +26,7 @@ project_id: @project&.try(:id), labels: labels_filter_path(false), namespace_path: @namespace_path, - project_path: @project.try(:path) }, - ":data-issue-update" => "'#{build_issue_link_base}/' + issue.iid + '.json'" } + project_path: @project.try(:path) }} %span.dropdown-toggle-text Label = icon('chevron-down') diff --git a/app/views/shared/boards/components/sidebar/_milestone.html.haml b/app/views/shared/boards/components/sidebar/_milestone.html.haml index d09c7c218e0..f51c4a97f2b 100644 --- a/app/views/shared/boards/components/sidebar/_milestone.html.haml +++ b/app/views/shared/boards/components/sidebar/_milestone.html.haml @@ -18,8 +18,7 @@ .dropdown %button.dropdown-menu-toggle.js-milestone-select.js-issue-board-sidebar{ type: "button", data: { toggle: "dropdown", show_no: "true", field_name: "issue[milestone_id]", milestones: milestones_filter_path(format: :json), ability_name: "issue", use_id: "true", default_no: "true" }, ":data-selected" => "milestoneTitle", - ":data-issuable-id" => "issue.iid", - ":data-issue-update" => "'#{build_issue_link_base}/' + issue.iid + '.json'" } + ":data-issuable-id" => "issue.iid" } Milestone = icon("chevron-down") .dropdown-menu.dropdown-select.dropdown-menu-selectable diff --git a/changelogs/unreleased/issue_44270.yml b/changelogs/unreleased/issue_44270.yml new file mode 100644 index 00000000000..6234162be30 --- /dev/null +++ b/changelogs/unreleased/issue_44270.yml @@ -0,0 +1,5 @@ +--- +title: Show issues of subgroups in group-level issue board +merge_request: +author: +type: changed diff --git a/spec/features/labels_hierarchy_spec.rb b/spec/features/labels_hierarchy_spec.rb index 99e1fb30d5b..d4a49a1cbf4 100644 --- a/spec/features/labels_hierarchy_spec.rb +++ b/spec/features/labels_hierarchy_spec.rb @@ -116,10 +116,12 @@ feature 'Labels Hierarchy', :js, :nested_groups do wait_for_requests if board - pending("Waiting for https://gitlab.com/gitlab-org/gitlab-ce/issues/44270") - select_label_on_dropdown(group_label_3.title) + expect(page).to have_selector('.card-title') do |card| + expect(card).not_to have_selector('a', text: labeled_issue_2.title) + end + expect(page).to have_selector('.card-title') do |card| expect(card).to have_selector('a', text: labeled_issue_3.title) end diff --git a/spec/services/boards/issues/list_service_spec.rb b/spec/services/boards/issues/list_service_spec.rb index b4efa3e44b6..8d67bf67747 100644 --- a/spec/services/boards/issues/list_service_spec.rb +++ b/spec/services/boards/issues/list_service_spec.rb @@ -48,10 +48,8 @@ describe Boards::Issues::ListService do context 'when parent is a group' do let(:user) { create(:user) } - let(:group) { create(:group) } let(:project) { create(:project, :empty_repo, namespace: group) } let(:project1) { create(:project, :empty_repo, namespace: group) } - let(:board) { create(:board, group: group) } let(:m1) { create(:milestone, group: group) } let(:m2) { create(:milestone, group: group) } @@ -92,13 +90,30 @@ describe Boards::Issues::ListService do let!(:closed_issue4) { create(:labeled_issue, :closed, project: project1, labels: [p1, p1_project1]) } let!(:closed_issue5) { create(:labeled_issue, :closed, project: project1, labels: [development]) } - let(:parent) { group } - before do group.add_developer(user) end - it_behaves_like 'issues list service' + context 'and group has no parent' do + let(:parent) { group } + let(:group) { create(:group) } + let(:board) { create(:board, group: group) } + + it_behaves_like 'issues list service' + end + + context 'and group is an ancestor' do + let(:parent) { create(:group) } + let(:group) { create(:group, parent: parent) } + let!(:backlog) { create(:backlog_list, board: board) } + let(:board) { create(:board, group: parent) } + + before do + parent.add_developer(user) + end + + it_behaves_like 'issues list service' + end end end end -- cgit v1.2.1 From 62574be35d5a92c6c825912e1ab9969c5acdb7d9 Mon Sep 17 00:00:00 2001 From: Felipe Artur Date: Thu, 5 Apr 2018 12:28:49 -0300 Subject: Fix specs --- app/models/milestone.rb | 4 ++-- spec/features/labels_hierarchy_spec.rb | 6 ++---- spec/javascripts/boards/issue_card_spec.js | 2 ++ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/models/milestone.rb b/app/models/milestone.rb index dafae58d121..a66a0015827 100644 --- a/app/models/milestone.rb +++ b/app/models/milestone.rb @@ -34,8 +34,8 @@ class Milestone < ActiveRecord::Base scope :for_projects_and_groups, -> (project_ids, group_ids) do conditions = [] - conditions << arel_table[:project_id].in(project_ids) if project_ids.compact.any? - conditions << arel_table[:group_id].in(group_ids) if group_ids.compact.any? + conditions << arel_table[:project_id].in(project_ids) if project_ids&.compact&.any? + conditions << arel_table[:group_id].in(group_ids) if group_ids&.compact&.any? where(conditions.reduce(:or)) end diff --git a/spec/features/labels_hierarchy_spec.rb b/spec/features/labels_hierarchy_spec.rb index d4a49a1cbf4..3e05e7b7f38 100644 --- a/spec/features/labels_hierarchy_spec.rb +++ b/spec/features/labels_hierarchy_spec.rb @@ -115,9 +115,9 @@ feature 'Labels Hierarchy', :js, :nested_groups do it 'filters by descendant group labels' do wait_for_requests - if board - select_label_on_dropdown(group_label_3.title) + select_label_on_dropdown(group_label_3.title) + if board expect(page).to have_selector('.card-title') do |card| expect(card).not_to have_selector('a', text: labeled_issue_2.title) end @@ -126,8 +126,6 @@ feature 'Labels Hierarchy', :js, :nested_groups do expect(card).to have_selector('a', text: labeled_issue_3.title) end else - select_label_on_dropdown(group_label_3.title) - expect_issues_list_count(1) expect(page).to have_selector('span.issue-title-text', text: labeled_issue_3.title) end diff --git a/spec/javascripts/boards/issue_card_spec.js b/spec/javascripts/boards/issue_card_spec.js index 37088a6421c..aa01f7d6d09 100644 --- a/spec/javascripts/boards/issue_card_spec.js +++ b/spec/javascripts/boards/issue_card_spec.js @@ -41,6 +41,8 @@ describe('Issue card component', () => { confidential: false, labels: [list.label], assignees: [], + reference_path: '#1', + real_path: '/test/1' }); component = new Vue({ -- cgit v1.2.1 From 7c6f4adac9bc2f0bba46a4267f1081c7542e4dc4 Mon Sep 17 00:00:00 2001 From: Felipe Artur Date: Thu, 5 Apr 2018 14:57:48 -0300 Subject: Fix more specs --- app/assets/javascripts/boards/models/issue.js | 2 +- app/services/boards/issues/list_service.rb | 2 +- spec/fixtures/api/schemas/issue.json | 2 ++ spec/javascripts/boards/issue_card_spec.js | 2 +- spec/services/boards/issues/list_service_spec.rb | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/boards/models/issue.js b/app/assets/javascripts/boards/models/issue.js index 85f98615cf4..b381d48d625 100644 --- a/app/assets/javascripts/boards/models/issue.js +++ b/app/assets/javascripts/boards/models/issue.js @@ -115,7 +115,7 @@ class ListIssue { } const projectPath = this.project ? this.project.path : ''; - return Vue.http.patch(this.path + '.json', data); + return Vue.http.patch(`${this.path}.json`, data); } } diff --git a/app/services/boards/issues/list_service.rb b/app/services/boards/issues/list_service.rb index 8a1796a1096..ac70a99c2c5 100644 --- a/app/services/boards/issues/list_service.rb +++ b/app/services/boards/issues/list_service.rb @@ -53,7 +53,7 @@ module Boards end def set_scope - params[:include_subgroups] = true if board.group_board? + params[:include_subgroups] = board.group_board? end def board_label_ids diff --git a/spec/fixtures/api/schemas/issue.json b/spec/fixtures/api/schemas/issue.json index b579e32c9aa..8833825e3fb 100644 --- a/spec/fixtures/api/schemas/issue.json +++ b/spec/fixtures/api/schemas/issue.json @@ -15,6 +15,8 @@ "relative_position": { "type": "integer" }, "issue_sidebar_endpoint": { "type": "string" }, "toggle_subscription_endpoint": { "type": "string" }, + "reference_path": { "type": "string" }, + "real_path": { "type": "string" }, "project": { "id": { "type": "integer" }, "path": { "type": "string" } diff --git a/spec/javascripts/boards/issue_card_spec.js b/spec/javascripts/boards/issue_card_spec.js index aa01f7d6d09..be1ea0b57b4 100644 --- a/spec/javascripts/boards/issue_card_spec.js +++ b/spec/javascripts/boards/issue_card_spec.js @@ -42,7 +42,7 @@ describe('Issue card component', () => { labels: [list.label], assignees: [], reference_path: '#1', - real_path: '/test/1' + real_path: '/test/1', }); component = new Vue({ diff --git a/spec/services/boards/issues/list_service_spec.rb b/spec/services/boards/issues/list_service_spec.rb index 8d67bf67747..27a7bf0e605 100644 --- a/spec/services/boards/issues/list_service_spec.rb +++ b/spec/services/boards/issues/list_service_spec.rb @@ -102,7 +102,7 @@ describe Boards::Issues::ListService do it_behaves_like 'issues list service' end - context 'and group is an ancestor' do + context 'and group is an ancestor', :nested_groups do let(:parent) { create(:group) } let(:group) { create(:group, parent: parent) } let!(:backlog) { create(:backlog_list, board: board) } -- cgit v1.2.1 From b9c0cf1318d663edc3af593f88521e86e0614824 Mon Sep 17 00:00:00 2001 From: Felipe Artur Date: Thu, 5 Apr 2018 15:14:04 -0300 Subject: Improve specs and docs --- app/services/issues/update_service.rb | 2 +- doc/user/project/issue_board.md | 3 +-- spec/services/issues/update_service_spec.rb | 6 ++++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/services/issues/update_service.rb b/app/services/issues/update_service.rb index 4161932ad2a..1374f10c586 100644 --- a/app/services/issues/update_service.rb +++ b/app/services/issues/update_service.rb @@ -90,7 +90,7 @@ module Issues issue = if board_group_id - IssuesFinder.new(current_user, group_id: board_group_id).find_by(id: id) + IssuesFinder.new(current_user, group_id: board_group_id, include_subgroups: true).find_by(id: id) else project.issues.find(id) end diff --git a/doc/user/project/issue_board.md b/doc/user/project/issue_board.md index b4a842f33d6..7eab825fa32 100644 --- a/doc/user/project/issue_board.md +++ b/doc/user/project/issue_board.md @@ -240,8 +240,7 @@ Issue Board, that is create/delete lists and drag issues around. >Introduced in GitLab 10.6 Group issue board is analogous to project-level issue board and it is accessible at the group -navigation level. A group-level issue board allows you to view all issues from all projects in that group -(currently, it does not see issues from projects in subgroups). Similarly, you can only filter by group labels for these +navigation level. A group-level issue board allows you to view all issues from all projects in that group or descendant subgroups. Similarly, you can only filter by group labels for these boards. When updating milestones and labels for an issue through the sidebar update mechanism, again only group-level objects are available. diff --git a/spec/services/issues/update_service_spec.rb b/spec/services/issues/update_service_spec.rb index f95474208f3..23b1134b5a3 100644 --- a/spec/services/issues/update_service_spec.rb +++ b/spec/services/issues/update_service_spec.rb @@ -97,11 +97,13 @@ describe Issues::UpdateService, :mailer do expect(issue.relative_position).to be_between(issue1.relative_position, issue2.relative_position) end - context 'when moving issue between issues from different projects' do + context 'when moving issue between issues from different projects', :nested_groups do let(:group) { create(:group) } + let(:subgroup) { create(:group, parent: group) } + let(:project_1) { create(:project, namespace: group) } let(:project_2) { create(:project, namespace: group) } - let(:project_3) { create(:project, namespace: group) } + let(:project_3) { create(:project, namespace: subgroup) } let(:issue_1) { create(:issue, project: project_1) } let(:issue_2) { create(:issue, project: project_2) } -- cgit v1.2.1 From b099c6ff9fcbd81beb75fd12bff8d1d5b9c16083 Mon Sep 17 00:00:00 2001 From: m b Date: Fri, 23 Mar 2018 00:09:26 -0500 Subject: Deleting a MR you are assigned to should decrements counter The merge request counter in the UI was not decreasing when a merge request was deleting. This was just due to the cache not being refreshed on a delete action. fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/44458 --- app/models/user.rb | 5 ----- app/services/issuable/destroy_service.rb | 1 + changelogs/unreleased/ui-mr-counter-cache.yml | 5 +++++ spec/services/issuable/destroy_service_spec.rb | 14 ++++++++++++-- 4 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 changelogs/unreleased/ui-mr-counter-cache.yml diff --git a/app/models/user.rb b/app/models/user.rb index 7b6857a0d34..ce56b39b1c8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1046,11 +1046,6 @@ class User < ActiveRecord::Base end end - def update_cache_counts - assigned_open_merge_requests_count(force: true) - assigned_open_issues_count(force: true) - end - def update_todos_count_cache todos_done_count(force: true) todos_pending_count(force: true) diff --git a/app/services/issuable/destroy_service.rb b/app/services/issuable/destroy_service.rb index 7197a426a72..0b1a33518c6 100644 --- a/app/services/issuable/destroy_service.rb +++ b/app/services/issuable/destroy_service.rb @@ -4,6 +4,7 @@ module Issuable TodoService.new.destroy_target(issuable) do |issuable| if issuable.destroy issuable.update_project_counter_caches + issuable.assignees.each(&:invalidate_cache_counts) end end end diff --git a/changelogs/unreleased/ui-mr-counter-cache.yml b/changelogs/unreleased/ui-mr-counter-cache.yml new file mode 100644 index 00000000000..5e241bfe93f --- /dev/null +++ b/changelogs/unreleased/ui-mr-counter-cache.yml @@ -0,0 +1,5 @@ +--- +title: Deleting a MR you are assigned to should decrements counter +merge_request: 17951 +author: m b +type: fixed diff --git a/spec/services/issuable/destroy_service_spec.rb b/spec/services/issuable/destroy_service_spec.rb index 0a3647a814f..8ccbba7fa58 100644 --- a/spec/services/issuable/destroy_service_spec.rb +++ b/spec/services/issuable/destroy_service_spec.rb @@ -8,7 +8,7 @@ describe Issuable::DestroyService do describe '#execute' do context 'when issuable is an issue' do - let!(:issue) { create(:issue, project: project, author: user) } + let!(:issue) { create(:issue, project: project, author: user, assignees: [user]) } it 'destroys the issue' do expect { service.execute(issue) }.to change { project.issues.count }.by(-1) @@ -26,10 +26,15 @@ describe Issuable::DestroyService do expect { service.execute(issue) } .to change { user.todos_pending_count }.from(1).to(0) end + + it 'invalidates the issues count cache for the assignees' do + expect_any_instance_of(User).to receive(:invalidate_cache_counts).once + service.execute(issue) + end end context 'when issuable is a merge request' do - let!(:merge_request) { create(:merge_request, target_project: project, source_project: project, author: user) } + let!(:merge_request) { create(:merge_request, target_project: project, source_project: project, author: user, assignee: user) } it 'destroys the merge request' do expect { service.execute(merge_request) }.to change { project.merge_requests.count }.by(-1) @@ -41,6 +46,11 @@ describe Issuable::DestroyService do service.execute(merge_request) end + it 'invalidates the merge request caches for the MR assignee' do + expect_any_instance_of(User).to receive(:invalidate_cache_counts).once + service.execute(merge_request) + end + it 'updates the todo caches for users with todos on the merge request' do create(:todo, target: merge_request, user: user, author: user, project: project) -- cgit v1.2.1 From 0a111c91d22f7bfe52cb47f6ffa4ecbe622c6a5d Mon Sep 17 00:00:00 2001 From: Felipe Artur Date: Thu, 5 Apr 2018 15:31:46 -0300 Subject: Fix rubocop --- app/views/shared/boards/components/sidebar/_labels.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/shared/boards/components/sidebar/_labels.html.haml b/app/views/shared/boards/components/sidebar/_labels.html.haml index 3c514ededc5..87e6b52f46e 100644 --- a/app/views/shared/boards/components/sidebar/_labels.html.haml +++ b/app/views/shared/boards/components/sidebar/_labels.html.haml @@ -26,7 +26,7 @@ project_id: @project&.try(:id), labels: labels_filter_path(false), namespace_path: @namespace_path, - project_path: @project.try(:path) }} + project_path: @project.try(:path) } } %span.dropdown-toggle-text Label = icon('chevron-down') -- cgit v1.2.1 From b72da4e3d71a8b6ae022221453d7b4fa353ff6d9 Mon Sep 17 00:00:00 2001 From: Tomasz Maczukin Date: Thu, 5 Apr 2018 20:20:39 +0200 Subject: Update GitLab.com settings with current state --- doc/user/gitlab_com/index.md | 106 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 89 insertions(+), 17 deletions(-) diff --git a/doc/user/gitlab_com/index.md b/doc/user/gitlab_com/index.md index d5f77191938..7baccb796c6 100644 --- a/doc/user/gitlab_com/index.md +++ b/doc/user/gitlab_com/index.md @@ -72,15 +72,23 @@ The maximum size your Git repository is allowed to be including LFS. ## Shared Runners Shared Runners on GitLab.com run in [autoscale mode] and powered by -DigitalOcean. Autoscaling means reduced waiting times to spin up builds, -and isolated VMs for each project, thus maximizing security. +Google Cloud Platform and DigitalOcean. Autoscaling means reduced +waiting times to spin up CI/CD jobs, and isolated VMs for each project, +thus maximizing security. They're free to use for public open source projects and limited to 2000 CI minutes per month per group for private projects. Read about all [GitLab.com plans](https://about.gitlab.com/pricing/). -All your builds run on 2GB (RAM) ephemeral instances, with CoreOS and the latest -Docker Engine installed. The default region of the VMs is NYC. +In case of DigitalOcean based Runners, all your CI/CD jobs run on ephemeral +instances with 2GB of RAM, CoreOS and the latest Docker Engine installed. +Instances provide 2 vCPUs and 60GB of SSD disk space. The default region of the +VMs is NYC1. + +In case of Google Cloud Platform based Runners, all your CI/CD jobs run on +ephemeral instances with 3.75GB of RAM, CoreOS and the latest Docker Engine +installed. Instances provide 1 vCPU and 25GB of HDD disk space. The default +region of the VMs is US East1. Below are the shared Runners settings. @@ -88,52 +96,116 @@ Below are the shared Runners settings. | ----------- | ----------------- | ---------- | | [GitLab Runner] | [Runner versions dashboard][ci_version_dashboard] | - | | Executor | `docker+machine` | - | -| Default Docker image | `ruby:2.1` | - | +| Default Docker image | `ruby:2.5` | - | | `privileged` (run [Docker in Docker]) | `true` | `false` | -[ci_version_dashboard]: https://monitor.gitlab.net/dashboard/db/ci?refresh=5m&orgId=1&panelId=12&fullscreen&from=now-1h&to=now&var-runner_type=All&var-cache_server=All&var-gl_monitor_fqdn=postgres-01.db.prd.gitlab.com&var-has_minutes=yes&var-hanging_droplets_cleaner=All&var-droplet_zero_machines_cleaner=All&var-runner_job_failure_reason=All&theme=light +[ci_version_dashboard]: https://monitor.gitlab.net/dashboard/db/ci?from=now-1h&to=now&refresh=5m&orgId=1&panelId=12&fullscreen&theme=light ### `config.toml` The full contents of our `config.toml` are: +**DigitalOcean** + ```toml +concurrent = X +check_interval = 1 +metrics_server = "X" +sentry_dsn = "X" + [[runners]] name = "docker-auto-scale" - limit = X request_concurrency = X - url = "https://gitlab.com/ci" + url = "https://gitlab.com/" token = "SHARED_RUNNER_TOKEN" executor = "docker+machine" environment = [ "DOCKER_DRIVER=overlay2" ] + limit = X [runners.docker] - image = "ruby:2.1" + image = "ruby:2.5" privileged = true [runners.machine] - IdleCount = 40 + IdleCount = 20 IdleTime = 1800 + OffPeakPeriods = ["* * * * * sat,sun *"] + OffPeakTimezone = "UTC" + OffPeakIdleCount = 5 + OffPeakIdleTime = 1800 MaxBuilds = 1 + MachineName = "srm-%s" MachineDriver = "digitalocean" - MachineName = "machine-%s-digital-ocean-2gb" MachineOptions = [ - "digitalocean-image=coreos-stable", + "digitalocean-image=X", "digitalocean-ssh-user=core", - "digitalocean-access-token=DIGITAL_OCEAN_ACCESS_TOKEN", "digitalocean-region=nyc1", - "digitalocean-size=2gb", + "digitalocean-size=s-2vcpu-2gb", "digitalocean-private-networking", - "digitalocean-userdata=/etc/gitlab-runner/cloudinit.sh", - "engine-registry-mirror=http://IP_TO_OUR_REGISTRY_MIRROR" + "digitalocean-tags=shared_runners,gitlab_com", + "engine-registry-mirror=http://INTERNAL_IP_OF_OUR_REGISTRY_MIRROR", + "digitalocean-access-token=DIGITAL_OCEAN_ACCESS_TOKEN", ] [runners.cache] Type = "s3" - ServerAddress = "IP_TO_OUR_CACHE_SERVER" + BucketName = "runner" + Insecure = true + Shared = true + ServerAddress = "INTERNAL_IP_OF_OUR_CACHE_SERVER" AccessKey = "ACCESS_KEY" SecretKey = "ACCESS_SECRET_KEY" +``` + +**Google Cloud Platform** + +```toml +concurrent = X +check_interval = 1 +metrics_server = "X" +sentry_dsn = "X" + +[[runners]] + name = "docker-auto-scale" + request_concurrency = X + url = "https://gitlab.com/" + token = "SHARED_RUNNER_TOKEN" + executor = "docker+machine" + environment = [ + "DOCKER_DRIVER=overlay2" + ] + limit = X + [runners.docker] + image = "ruby:2.5" + privileged = true + [runners.machine] + IdleCount = 20 + IdleTime = 1800 + OffPeakPeriods = ["* * * * * sat,sun *"] + OffPeakTimezone = "UTC" + OffPeakIdleCount = 5 + OffPeakIdleTime = 1800 + MaxBuilds = 1 + MachineName = "srm-%s" + MachineDriver = "google" + MachineOptions = [ + "google-project=PROJECT", + "google-disk-size=25", + "google-machine-type=n1-standard-1", + "google-username=core", + "google-tags=gitlab-com,srm", + "google-use-internal-ip", + "google-zone=us-east1-d", + "google-machine-image=PROJECT/global/images/IMAGE", + "engine-registry-mirror=http://INTERNAL_IP_OF_OUR_REGISTRY_MIRROR" + ] + [runners.cache] + Type = "s3" BucketName = "runner" + Insecure = true Shared = true + ServerAddress = "INTERNAL_IP_OF_OUR_CACHE_SERVER" + AccessKey = "ACCESS_KEY" + SecretKey = "ACCESS_SECRET_KEY" ``` ## Sidekiq -- cgit v1.2.1 From 696daa7ef1d784dfd1521bd5b5cc2cc18d89e96e Mon Sep 17 00:00:00 2001 From: Felipe Artur Date: Thu, 5 Apr 2018 16:50:00 -0300 Subject: Fix rubocop --- app/views/shared/boards/components/sidebar/_due_date.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/shared/boards/components/sidebar/_due_date.html.haml b/app/views/shared/boards/components/sidebar/_due_date.html.haml index c1a97269954..d13b998e6f4 100644 --- a/app/views/shared/boards/components/sidebar/_due_date.html.haml +++ b/app/views/shared/boards/components/sidebar/_due_date.html.haml @@ -22,7 +22,7 @@ ":value" => "issue.dueDate" } .dropdown %button.dropdown-menu-toggle.js-due-date-select.js-issue-boards-due-date{ type: 'button', - data: { toggle: 'dropdown', field_name: "issue[due_date]", ability_name: "issue" }} + data: { toggle: 'dropdown', field_name: "issue[due_date]", ability_name: "issue" } } %span.dropdown-toggle-text Due date = icon('chevron-down') .dropdown-menu.dropdown-menu-due-date -- cgit v1.2.1 From d209a05486503f1dd6412c777c1fd29fe02f0a40 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Thu, 5 Apr 2018 12:52:20 -0700 Subject: Use the GitLab version as part of the appearances cache key This prevents us from having to manually flush the cache key in migrations every time a new column is added. Closes https://gitlab.com/gitlab-org/gitlab-ee/issues/5571 --- app/models/appearance.rb | 2 +- changelogs/unreleased/sh-appearance-cache-key-version.yml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/sh-appearance-cache-key-version.yml diff --git a/app/models/appearance.rb b/app/models/appearance.rb index 2a6406d63c7..fb66dd0b766 100644 --- a/app/models/appearance.rb +++ b/app/models/appearance.rb @@ -16,7 +16,7 @@ class Appearance < ActiveRecord::Base has_many :uploads, as: :model, dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent - CACHE_KEY = 'current_appearance'.freeze + CACHE_KEY = "current_appearance:#{Gitlab::VERSION}".freeze after_commit :flush_redis_cache diff --git a/changelogs/unreleased/sh-appearance-cache-key-version.yml b/changelogs/unreleased/sh-appearance-cache-key-version.yml new file mode 100644 index 00000000000..c17a3dc36cd --- /dev/null +++ b/changelogs/unreleased/sh-appearance-cache-key-version.yml @@ -0,0 +1,5 @@ +--- +title: Use the GitLab version as part of the appearances cache key +merge_request: +author: +type: fixed -- cgit v1.2.1 From b9dfd071ed7260e9a3f470317011bcdcfedd61ed Mon Sep 17 00:00:00 2001 From: Felipe Artur Date: Wed, 28 Mar 2018 17:39:12 -0300 Subject: Include subgroup issues when searching for group issues using the API --- changelogs/unreleased/issue_42443.yml | 5 +++++ lib/api/issues.rb | 2 +- spec/requests/api/issues_spec.rb | 24 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/issue_42443.yml diff --git a/changelogs/unreleased/issue_42443.yml b/changelogs/unreleased/issue_42443.yml new file mode 100644 index 00000000000..954fbd98a4b --- /dev/null +++ b/changelogs/unreleased/issue_42443.yml @@ -0,0 +1,5 @@ +--- +title: Include subgroup issues when searching for group issues using the API +merge_request: +author: +type: added diff --git a/lib/api/issues.rb b/lib/api/issues.rb index f74b3b26802..88e7f46c92c 100644 --- a/lib/api/issues.rb +++ b/lib/api/issues.rb @@ -97,7 +97,7 @@ module API get ":id/issues" do group = find_group!(params[:id]) - issues = paginate(find_issues(group_id: group.id)) + issues = paginate(find_issues(group_id: group.id, include_subgroups: true)) options = { with: Entities::IssueBasic, diff --git a/spec/requests/api/issues_spec.rb b/spec/requests/api/issues_spec.rb index 6614e8cea43..90f9c4ad214 100644 --- a/spec/requests/api/issues_spec.rb +++ b/spec/requests/api/issues_spec.rb @@ -384,6 +384,30 @@ describe API::Issues do end let(:base_url) { "/groups/#{group.id}/issues" } + context 'when group has subgroups', :nested_groups do + let(:subgroup_1) { create(:group, parent: group) } + let(:subgroup_2) { create(:group, parent: subgroup_1) } + + let(:subgroup_1_project) { create(:project, namespace: subgroup_1) } + let(:subgroup_2_project) { create(:project, namespace: subgroup_2) } + + let!(:issue_1) { create(:issue, project: subgroup_1_project) } + let!(:issue_2) { create(:issue, project: subgroup_2_project) } + + before do + group.add_developer(user) + end + + it 'also returns subgroups projects issues' do + get api(base_url, user) + + issue_ids = json_response.map { |issue| issue['id'] } + + expect_paginated_array_response(size: 5) + expect(issue_ids).to include(issue_1.id, issue_2.id) + end + end + it 'returns all group issues (including opened and closed)' do get api(base_url, admin) -- cgit v1.2.1 From d54cf868f81ca957c8322661b11e6755d9ea5a85 Mon Sep 17 00:00:00 2001 From: Mayra Cabrera Date: Thu, 5 Apr 2018 21:04:42 +0000 Subject: Resolve "Show `failure_reason` and upgrade tooltips of jobs" --- .../pipelines/components/graph/job_component.vue | 9 +- app/assets/stylesheets/pages/builds.scss | 2 +- app/controllers/projects/jobs_controller.rb | 8 +- app/models/concerns/presentable.rb | 8 ++ app/presenters/ci/build_presenter.rb | 16 ++++ app/serializers/status_entity.rb | 2 +- app/views/ci/status/_badge.html.haml | 4 +- .../ci/status/_dropdown_graph_badge.html.haml | 7 +- app/views/projects/jobs/_sidebar.html.haml | 8 +- app/views/projects/jobs/show.html.haml | 2 +- ...w-failure-reason-on-upgrade-tooltip-of-jobs.yml | 5 ++ lib/gitlab/ci/status/build/factory.rb | 4 +- lib/gitlab/ci/status/build/failed.rb | 40 +++++++++ lib/gitlab/ci/status/build/failed_allowed.rb | 12 ++- lib/gitlab/ci/status/build/retried.rb | 17 ++++ lib/gitlab/ci/status/core.rb | 10 +++ spec/factories/ci/builds.rb | 5 ++ .../projects/jobs/user_browses_job_spec.rb | 22 +++++ .../projects/jobs/user_browses_jobs_spec.rb | 11 +++ spec/features/projects/pipelines/pipeline_spec.rb | 16 ++++ spec/features/projects/pipelines/pipelines_spec.rb | 17 ++++ .../pipelines/graph/job_component_spec.js | 2 + spec/lib/gitlab/ci/status/build/action_spec.rb | 10 +++ spec/lib/gitlab/ci/status/build/cancelable_spec.rb | 18 ++++ spec/lib/gitlab/ci/status/build/factory_spec.rb | 8 +- .../gitlab/ci/status/build/failed_allowed_spec.rb | 23 ++++++ spec/lib/gitlab/ci/status/build/failed_spec.rb | 83 +++++++++++++++++++ spec/lib/gitlab/ci/status/build/play_spec.rb | 16 ++++ spec/lib/gitlab/ci/status/build/retried_spec.rb | 96 ++++++++++++++++++++++ spec/lib/gitlab/ci/status/build/retryable_spec.rb | 18 ++++ spec/lib/gitlab/ci/status/build/stop_spec.rb | 20 +++++ spec/lib/gitlab/ci/status/success_warning_spec.rb | 4 +- spec/presenters/ci/build_presenter_spec.rb | 93 +++++++++++++++++++-- spec/serializers/build_serializer_spec.rb | 22 ++++- spec/serializers/job_entity_spec.rb | 26 +++++- spec/serializers/pipeline_entity_spec.rb | 2 +- spec/serializers/stage_entity_spec.rb | 2 +- spec/serializers/status_entity_spec.rb | 2 +- spec/views/projects/jobs/show.html.haml_spec.rb | 3 + 39 files changed, 635 insertions(+), 38 deletions(-) create mode 100644 changelogs/unreleased/44269-show-failure-reason-on-upgrade-tooltip-of-jobs.yml create mode 100644 lib/gitlab/ci/status/build/failed.rb create mode 100644 lib/gitlab/ci/status/build/retried.rb create mode 100644 spec/lib/gitlab/ci/status/build/failed_spec.rb create mode 100644 spec/lib/gitlab/ci/status/build/retried_spec.rb diff --git a/app/assets/javascripts/pipelines/components/graph/job_component.vue b/app/assets/javascripts/pipelines/components/graph/job_component.vue index 9b136573135..d501c465a96 100644 --- a/app/assets/javascripts/pipelines/components/graph/job_component.vue +++ b/app/assets/javascripts/pipelines/components/graph/job_component.vue @@ -17,6 +17,7 @@ * "text": "passed", * "label": "passed", * "group": "success", + * "tooltip": "passed", * "details_path": "/root/ci-mock/builds/4256", * "action": { * "icon": "retry", @@ -69,12 +70,12 @@ textBuilder.push(this.job.name); } - if (this.job.name && this.status.label) { + if (this.job.name && this.status.tooltip) { textBuilder.push('-'); } - if (this.status.label) { - textBuilder.push(`${this.job.status.label}`); + if (this.status.tooltip) { + textBuilder.push(`${this.job.status.tooltip}`); } return textBuilder.join(' '); @@ -100,6 +101,7 @@ :title="tooltipText" :class="cssClassJobName" data-container="body" + data-html="true" class="js-pipeline-graph-job-link" > @@ -115,6 +117,7 @@ class="js-job-component-tooltip" :title="tooltipText" :class="cssClassJobName" + data-html="true" data-container="body" > diff --git a/app/assets/stylesheets/pages/builds.scss b/app/assets/stylesheets/pages/builds.scss index 98d460339cd..7a6352e45f1 100644 --- a/app/assets/stylesheets/pages/builds.scss +++ b/app/assets/stylesheets/pages/builds.scss @@ -391,7 +391,7 @@ } &:hover { - background-color: $row-hover; + background-color: $dropdown-item-hover-bg; } .icon-retry { diff --git a/app/controllers/projects/jobs_controller.rb b/app/controllers/projects/jobs_controller.rb index ac9eb2047a0..dd12d30a085 100644 --- a/app/controllers/projects/jobs_controller.rb +++ b/app/controllers/projects/jobs_controller.rb @@ -2,7 +2,6 @@ class Projects::JobsController < Projects::ApplicationController include SendFileUpload before_action :build, except: [:index, :cancel_all] - before_action :authorize_read_build!, only: [:index, :show, :status, :raw, :trace] before_action :authorize_update_build!, @@ -45,8 +44,11 @@ class Projects::JobsController < Projects::ApplicationController end def show - @builds = @project.pipelines.find_by_sha(@build.sha).builds.order('id DESC') - @builds = @builds.where("id not in (?)", @build.id) + @builds = @project.pipelines + .find_by_sha(@build.sha) + .builds + .order('id DESC') + .present(current_user: current_user) @pipeline = @build.pipeline respond_to do |format| diff --git a/app/models/concerns/presentable.rb b/app/models/concerns/presentable.rb index 7b33b837004..bc4fbd19a02 100644 --- a/app/models/concerns/presentable.rb +++ b/app/models/concerns/presentable.rb @@ -1,4 +1,12 @@ module Presentable + extend ActiveSupport::Concern + + class_methods do + def present(attributes) + all.map { |klass_object| klass_object.present(attributes) } + end + end + def present(**attributes) Gitlab::View::Presenter::Factory .new(self, attributes) diff --git a/app/presenters/ci/build_presenter.rb b/app/presenters/ci/build_presenter.rb index 255475e1fe6..9afebda19be 100644 --- a/app/presenters/ci/build_presenter.rb +++ b/app/presenters/ci/build_presenter.rb @@ -15,6 +15,8 @@ module Ci def status_title if auto_canceled? "Job is redundant and is auto-canceled by Pipeline ##{auto_canceled_by_id}" + else + tooltip_for_badge end end @@ -28,5 +30,19 @@ module Ci trigger_request.user_variables end end + + def tooltip_message + "#{subject.name} - #{detailed_status.status_tooltip}" + end + + private + + def tooltip_for_badge + detailed_status.badge_tooltip.capitalize + end + + def detailed_status + @detailed_status ||= subject.detailed_status(user) + end end end diff --git a/app/serializers/status_entity.rb b/app/serializers/status_entity.rb index a7c2e21e92b..8e8bda2f9df 100644 --- a/app/serializers/status_entity.rb +++ b/app/serializers/status_entity.rb @@ -2,7 +2,7 @@ class StatusEntity < Grape::Entity include RequestAwareEntity expose :icon, :text, :label, :group - + expose :status_tooltip, as: :tooltip expose :has_details?, as: :has_details expose :details_path diff --git a/app/views/ci/status/_badge.html.haml b/app/views/ci/status/_badge.html.haml index 35a3563dff1..5114387984b 100644 --- a/app/views/ci/status/_badge.html.haml +++ b/app/views/ci/status/_badge.html.haml @@ -4,10 +4,10 @@ - css_classes = "ci-status ci-#{status.group} #{'has-tooltip' if title.present?}" - if link && status.has_details? - = link_to status.details_path, class: css_classes, title: title do + = link_to status.details_path, class: css_classes, title: title, data: { html: title.present? } do = sprite_icon(status.icon) = status.text - else - %span{ class: css_classes, title: title } + %span{ class: css_classes, title: title, data: { html: title.present? } } = sprite_icon(status.icon) = status.text diff --git a/app/views/ci/status/_dropdown_graph_badge.html.haml b/app/views/ci/status/_dropdown_graph_badge.html.haml index c5b4439e273..db2040110fa 100644 --- a/app/views/ci/status/_dropdown_graph_badge.html.haml +++ b/app/views/ci/status/_dropdown_graph_badge.html.haml @@ -3,14 +3,15 @@ - subject = local_assigns.fetch(:subject) - status = subject.detailed_status(current_user) - klass = "ci-status-icon ci-status-icon-#{status.group}" -- tooltip = "#{subject.name} - #{status.label}" +- tooltip = "#{subject.name} - #{status.status_tooltip}" - if status.has_details? - = link_to status.details_path, class: 'mini-pipeline-graph-dropdown-item', data: { toggle: 'tooltip', title: tooltip, container: 'body' } do + = link_to status.details_path, class: 'mini-pipeline-graph-dropdown-item', data: { toggle: 'tooltip', title: tooltip, html: true, container: 'body' } do %span{ class: klass }= sprite_icon(status.icon) %span.ci-build-text= subject.name + - else - .menu-item.mini-pipeline-graph-dropdown-item{ data: { toggle: 'tooltip', title: tooltip, container: 'body' } } + .menu-item.mini-pipeline-graph-dropdown-item{ data: { toggle: 'tooltip', html: true, title: tooltip, container: 'body' } } %span{ class: klass }= sprite_icon(status.icon) %span.ci-build-text= subject.name diff --git a/app/views/projects/jobs/_sidebar.html.haml b/app/views/projects/jobs/_sidebar.html.haml index ecf186e3dc8..0b57ebedebd 100644 --- a/app/views/projects/jobs/_sidebar.html.haml +++ b/app/views/projects/jobs/_sidebar.html.haml @@ -1,5 +1,3 @@ -- builds = @build.pipeline.builds.to_a - %aside.right-sidebar.right-sidebar-expanded.build-sidebar.js-build-sidebar.js-right-sidebar{ data: { "offset-top" => "101", "spy" => "affix" } } .sidebar-container .blocks-container @@ -91,7 +89,8 @@ - HasStatus::ORDERED_STATUSES.each do |build_status| - builds.select{|build| build.status == build_status}.each do |build| .build-job{ class: sidebar_build_class(build, @build), data: { stage: build.stage } } - = link_to project_job_path(@project, build) do + - tooltip = build.tooltip_message + = link_to(project_job_path(@project, build), data: { toggle: 'tooltip', html: true, title: tooltip, container: 'body' }) do = sprite_icon('arrow-right', size:16, css_class: 'icon-arrow-right') %span{ class: "ci-status-icon-#{build.status}" } = ci_icon_for_status(build.status) @@ -101,5 +100,4 @@ - else = build.id - if build.retried? - %span.has-tooltip{ data: { container: 'body', placement: 'bottom' }, title: 'Job was retried' } - = sprite_icon('retry', size:16, css_class: 'icon-retry') + = sprite_icon('retry', size:16, css_class: 'icon-retry') diff --git a/app/views/projects/jobs/show.html.haml b/app/views/projects/jobs/show.html.haml index fa27ded7cc2..dece4dfe167 100644 --- a/app/views/projects/jobs/show.html.haml +++ b/app/views/projects/jobs/show.html.haml @@ -107,7 +107,7 @@ illustration_size: 'svg-430', title: _('This job has not started yet'), content: _('This job is in pending state and is waiting to be picked by a runner') - = render "sidebar" + = render "sidebar", builds: @builds .js-build-options{ data: javascript_build_options } diff --git a/changelogs/unreleased/44269-show-failure-reason-on-upgrade-tooltip-of-jobs.yml b/changelogs/unreleased/44269-show-failure-reason-on-upgrade-tooltip-of-jobs.yml new file mode 100644 index 00000000000..b3ae8ca7340 --- /dev/null +++ b/changelogs/unreleased/44269-show-failure-reason-on-upgrade-tooltip-of-jobs.yml @@ -0,0 +1,5 @@ +--- +title: Display error message on job's tooltip if this one fails +merge_request: 17782 +author: +type: added diff --git a/lib/gitlab/ci/status/build/factory.rb b/lib/gitlab/ci/status/build/factory.rb index c852d607373..20a319caf86 100644 --- a/lib/gitlab/ci/status/build/factory.rb +++ b/lib/gitlab/ci/status/build/factory.rb @@ -6,10 +6,12 @@ module Gitlab def self.extended_statuses [[Status::Build::Cancelable, Status::Build::Retryable], + [Status::Build::Failed], [Status::Build::FailedAllowed, Status::Build::Play, Status::Build::Stop], - [Status::Build::Action]] + [Status::Build::Action], + [Status::Build::Retried]] end def self.common_helpers diff --git a/lib/gitlab/ci/status/build/failed.rb b/lib/gitlab/ci/status/build/failed.rb new file mode 100644 index 00000000000..155f4fc1343 --- /dev/null +++ b/lib/gitlab/ci/status/build/failed.rb @@ -0,0 +1,40 @@ +module Gitlab + module Ci + module Status + module Build + class Failed < Status::Extended + REASONS = { + 'unknown_failure' => 'unknown failure', + 'script_failure' => 'script failure', + 'api_failure' => 'API failure', + 'stuck_or_timeout_failure' => 'stuck or timeout failure', + 'runner_system_failure' => 'runner system failure', + 'missing_dependency_failure' => 'missing dependency failure' + }.freeze + + def status_tooltip + base_message + end + + def badge_tooltip + base_message + end + + def self.matches?(build, user) + build.failed? + end + + private + + def base_message + "#{s_('CiStatusLabel|failed')} #{description}" + end + + def description + "
(#{REASONS[subject.failure_reason]})" + end + end + end + end + end +end diff --git a/lib/gitlab/ci/status/build/failed_allowed.rb b/lib/gitlab/ci/status/build/failed_allowed.rb index dc90f398c7e..ca0046fb1f7 100644 --- a/lib/gitlab/ci/status/build/failed_allowed.rb +++ b/lib/gitlab/ci/status/build/failed_allowed.rb @@ -4,7 +4,7 @@ module Gitlab module Build class FailedAllowed < Status::Extended def label - 'failed (allowed to fail)' + "failed #{allowed_to_fail_title}" end def icon @@ -15,9 +15,19 @@ module Gitlab 'failed_with_warnings' end + def status_tooltip + "#{@status.status_tooltip} #{allowed_to_fail_title}" + end + def self.matches?(build, user) build.failed? && build.allow_failure? end + + private + + def allowed_to_fail_title + "(allowed to fail)" + end end end end diff --git a/lib/gitlab/ci/status/build/retried.rb b/lib/gitlab/ci/status/build/retried.rb new file mode 100644 index 00000000000..6e190e4ee3c --- /dev/null +++ b/lib/gitlab/ci/status/build/retried.rb @@ -0,0 +1,17 @@ +module Gitlab + module Ci + module Status + module Build + class Retried < Status::Extended + def status_tooltip + @status.status_tooltip + " (retried)" + end + + def self.matches?(build, user) + build.retried? + end + end + end + end + end +end diff --git a/lib/gitlab/ci/status/core.rb b/lib/gitlab/ci/status/core.rb index d4fd83b93f8..daab6bb2de5 100644 --- a/lib/gitlab/ci/status/core.rb +++ b/lib/gitlab/ci/status/core.rb @@ -57,6 +57,16 @@ module Gitlab def action_title raise NotImplementedError end + + # Hint that appears on all the pipeline graph tooltips and builds on the right sidebar in Job detail view + def status_tooltip + label + end + + # Hint that appears on the build badges + def badge_tooltip + subject.status + end end end end diff --git a/spec/factories/ci/builds.rb b/spec/factories/ci/builds.rb index 30235a3a876..fdacbe6c3f1 100644 --- a/spec/factories/ci/builds.rb +++ b/spec/factories/ci/builds.rb @@ -238,5 +238,10 @@ FactoryBot.define do trait :protected do protected true end + + trait :script_failure do + failed + failure_reason 1 + end end end diff --git a/spec/features/projects/jobs/user_browses_job_spec.rb b/spec/features/projects/jobs/user_browses_job_spec.rb index 4c49cff30d4..b7eee39052a 100644 --- a/spec/features/projects/jobs/user_browses_job_spec.rb +++ b/spec/features/projects/jobs/user_browses_job_spec.rb @@ -34,4 +34,26 @@ describe 'User browses a job', :js do expect(build.project.running_or_pending_build_count).to eq(build.project.builds.running_or_pending.count(:all)) end + + context 'with a failed job' do + let!(:build) { create(:ci_build, :failed, pipeline: pipeline) } + + it 'displays the failure reason' do + within('.builds-container') do + build_link = first('.build-job > a') + expect(build_link['data-title']).to eq('test - failed
(unknown failure)') + end + end + end + + context 'when a failed job has been retried' do + let!(:build) { create(:ci_build, :failed, :retried, pipeline: pipeline) } + + it 'displays the failure reason and retried label' do + within('.builds-container') do + build_link = first('.build-job > a') + expect(build_link['data-title']).to eq('test - failed
(unknown failure) (retried)') + end + end + end end diff --git a/spec/features/projects/jobs/user_browses_jobs_spec.rb b/spec/features/projects/jobs/user_browses_jobs_spec.rb index 767777f3bf9..36ebbeadd4a 100644 --- a/spec/features/projects/jobs/user_browses_jobs_spec.rb +++ b/spec/features/projects/jobs/user_browses_jobs_spec.rb @@ -29,4 +29,15 @@ describe 'User browses jobs' do expect(ci_lint_tool_link[:href]).to end_with(ci_lint_path) end end + + context 'with a failed job' do + let!(:build) { create(:ci_build, :coverage, :failed, pipeline: pipeline) } + + it 'displays a tooltip with the failure reason' do + page.within('.ci-table') do + failed_job_link = page.find('.ci-failed') + expect(failed_job_link[:title]).to eq('Failed
(unknown failure)') + end + end + end end diff --git a/spec/features/projects/pipelines/pipeline_spec.rb b/spec/features/projects/pipelines/pipeline_spec.rb index 266ef693d0b..990e5c4d9df 100644 --- a/spec/features/projects/pipelines/pipeline_spec.rb +++ b/spec/features/projects/pipelines/pipeline_spec.rb @@ -115,6 +115,13 @@ describe 'Pipeline', :js do expect(page).not_to have_content('Retry job') end + + it 'should include the failure reason' do + page.within('#ci-badge-test') do + build_link = page.find('.js-pipeline-graph-job-link') + expect(build_link['data-original-title']).to eq('test - failed
(unknown failure)') + end + end end context 'when pipeline has manual jobs' do @@ -289,6 +296,15 @@ describe 'Pipeline', :js do it { expect(build_manual.reload).to be_pending } end + + context 'failed jobs' do + it 'displays a tooltip with the failure reason' do + page.within('.ci-table') do + failed_job_link = page.find('.ci-failed') + expect(failed_job_link[:title]).to eq('Failed
(unknown failure)') + end + end + end end describe 'GET /:project/pipelines/:id/failures' do diff --git a/spec/features/projects/pipelines/pipelines_spec.rb b/spec/features/projects/pipelines/pipelines_spec.rb index 0e81c6c629a..6e63e0f0b49 100644 --- a/spec/features/projects/pipelines/pipelines_spec.rb +++ b/spec/features/projects/pipelines/pipelines_spec.rb @@ -394,6 +394,23 @@ describe 'Pipelines', :js do expect(build.reload).to be_canceled end end + + context 'for a failed pipeline' do + let!(:build) do + create(:ci_build, :failed, pipeline: pipeline, + stage: 'build', + name: 'build') + end + + it 'should display the failure reason' do + find('.js-builds-dropdown-button').click + + within('.js-builds-dropdown-list') do + build_element = page.find('.mini-pipeline-graph-dropdown-item') + expect(build_element['data-title']).to eq('build - failed
(unknown failure)') + end + end + end end context 'with pagination' do diff --git a/spec/javascripts/pipelines/graph/job_component_spec.js b/spec/javascripts/pipelines/graph/job_component_spec.js index ce181a1e515..c9677ae209a 100644 --- a/spec/javascripts/pipelines/graph/job_component_spec.js +++ b/spec/javascripts/pipelines/graph/job_component_spec.js @@ -13,6 +13,7 @@ describe('pipeline graph job component', () => { icon: 'icon_status_success', text: 'passed', label: 'passed', + tooltip: 'passed', group: 'success', details_path: '/root/ci-mock/builds/4256', has_details: true, @@ -137,6 +138,7 @@ describe('pipeline graph job component', () => { status: { icon: 'icon_status_success', label: 'success', + tooltip: 'success', }, }, }); diff --git a/spec/lib/gitlab/ci/status/build/action_spec.rb b/spec/lib/gitlab/ci/status/build/action_spec.rb index d612d29e3e0..bdec582b57b 100644 --- a/spec/lib/gitlab/ci/status/build/action_spec.rb +++ b/spec/lib/gitlab/ci/status/build/action_spec.rb @@ -53,4 +53,14 @@ describe Gitlab::Ci::Status::Build::Action do end end end + + describe '#badge_tooltip' do + let(:user) { create(:user) } + let(:build) { create(:ci_build, :non_playable) } + let(:status) { Gitlab::Ci::Status::Core.new(build, user) } + + it 'returns the status' do + expect(subject.badge_tooltip).to eq('created') + end + end end diff --git a/spec/lib/gitlab/ci/status/build/cancelable_spec.rb b/spec/lib/gitlab/ci/status/build/cancelable_spec.rb index 9cdebaa5cf2..3ef0b6817e9 100644 --- a/spec/lib/gitlab/ci/status/build/cancelable_spec.rb +++ b/spec/lib/gitlab/ci/status/build/cancelable_spec.rb @@ -40,6 +40,24 @@ describe Gitlab::Ci::Status::Build::Cancelable do end end + describe '#status_tooltip' do + it 'does not override status status_tooltip' do + expect(status).to receive(:status_tooltip) + + subject.status_tooltip + end + end + + describe '#badge_tooltip' do + let(:user) { create(:user) } + let(:build) { create(:ci_build) } + let(:status) { Gitlab::Ci::Status::Core.new(build, user) } + + it 'returns the status' do + expect(subject.badge_tooltip).to eq('pending') + end + end + describe 'action details' do let(:user) { create(:user) } let(:build) { create(:ci_build) } diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb index d196bc6a4c2..bbfa60169a1 100644 --- a/spec/lib/gitlab/ci/status/build/factory_spec.rb +++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb @@ -48,11 +48,11 @@ describe Gitlab::Ci::Status::Build::Factory do it 'matches correct extended statuses' do expect(factory.extended_statuses) - .to eq [Gitlab::Ci::Status::Build::Retryable] + .to eq [Gitlab::Ci::Status::Build::Retryable, Gitlab::Ci::Status::Build::Failed] end - it 'fabricates a retryable build status' do - expect(status).to be_a Gitlab::Ci::Status::Build::Retryable + it 'fabricates a failed build status' do + expect(status).to be_a Gitlab::Ci::Status::Build::Failed end it 'fabricates status with correct details' do @@ -60,6 +60,7 @@ describe Gitlab::Ci::Status::Build::Factory do expect(status.icon).to eq 'status_failed' expect(status.favicon).to eq 'favicon_status_failed' expect(status.label).to eq 'failed' + expect(status.status_tooltip).to eq 'failed
(unknown failure)' expect(status).to have_details expect(status).to have_action end @@ -75,6 +76,7 @@ describe Gitlab::Ci::Status::Build::Factory do it 'matches correct extended statuses' do expect(factory.extended_statuses) .to eq [Gitlab::Ci::Status::Build::Retryable, + Gitlab::Ci::Status::Build::Failed, Gitlab::Ci::Status::Build::FailedAllowed] end diff --git a/spec/lib/gitlab/ci/status/build/failed_allowed_spec.rb b/spec/lib/gitlab/ci/status/build/failed_allowed_spec.rb index 99a5a7e4aca..bfaa508785e 100644 --- a/spec/lib/gitlab/ci/status/build/failed_allowed_spec.rb +++ b/spec/lib/gitlab/ci/status/build/failed_allowed_spec.rb @@ -3,6 +3,7 @@ require 'spec_helper' describe Gitlab::Ci::Status::Build::FailedAllowed do let(:status) { double('core status') } let(:user) { double('user') } + let(:build) { create(:ci_build, :failed, :allowed_to_fail) } subject do described_class.new(status) @@ -68,6 +69,28 @@ describe Gitlab::Ci::Status::Build::FailedAllowed do end end + describe '#badge_tooltip' do + let(:user) { create(:user) } + let(:failed_status) { Gitlab::Ci::Status::Failed.new(build, user) } + let(:build_status) { Gitlab::Ci::Status::Build::Failed.new(failed_status) } + let(:status) { described_class.new(build_status) } + + it 'does override badge_tooltip' do + expect(status.badge_tooltip).to eq('failed
(unknown failure)') + end + end + + describe '#status_tooltip' do + let(:user) { create(:user) } + let(:failed_status) { Gitlab::Ci::Status::Failed.new(build, user) } + let(:build_status) { Gitlab::Ci::Status::Build::Failed.new(failed_status) } + let(:status) { described_class.new(build_status) } + + it 'does override status_tooltip' do + expect(status.status_tooltip).to eq 'failed
(unknown failure) (allowed to fail)' + end + end + describe '.matches?' do subject { described_class.matches?(build, user) } diff --git a/spec/lib/gitlab/ci/status/build/failed_spec.rb b/spec/lib/gitlab/ci/status/build/failed_spec.rb new file mode 100644 index 00000000000..cadb424ea2c --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/failed_spec.rb @@ -0,0 +1,83 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Failed do + let(:build) { create(:ci_build, :script_failure) } + let(:status) { double('core status') } + let(:user) { double('user') } + + subject { described_class.new(status) } + + describe '#text' do + it 'does not override status text' do + expect(status).to receive(:text) + + subject.text + end + end + + describe '#icon' do + it 'does not override status icon' do + expect(status).to receive(:icon) + + subject.icon + end + end + + describe '#group' do + it 'does not override status group' do + expect(status).to receive(:group) + + subject.group + end + end + + describe '#favicon' do + it 'does not override status label' do + expect(status).to receive(:favicon) + + subject.favicon + end + end + + describe '#label' do + it 'does not override label' do + expect(status).to receive(:label) + + subject.label + end + end + + describe '#badge_tooltip' do + let(:user) { create(:user) } + let(:status) { Gitlab::Ci::Status::Failed.new(build, user) } + + it 'does override badge_tooltip' do + expect(subject.badge_tooltip).to eq 'failed
(script failure)' + end + end + + describe '#status_tooltip' do + let(:user) { create(:user) } + let(:status) { Gitlab::Ci::Status::Failed.new(build, user) } + + it 'does override status_tooltip' do + expect(subject.status_tooltip).to eq 'failed
(script failure)' + end + end + + describe '.matches?' do + context 'with a failed build' do + it 'returns true' do + expect(described_class.matches?(build, user)).to be_truthy + end + end + + context 'with any other type of build' do + let(:build) { create(:ci_build, :success) } + + it 'returns false' do + expect(described_class.matches?(build, user)).to be_falsy + end + end + end +end diff --git a/spec/lib/gitlab/ci/status/build/play_spec.rb b/spec/lib/gitlab/ci/status/build/play_spec.rb index 81d5f553fd1..35e47cd2526 100644 --- a/spec/lib/gitlab/ci/status/build/play_spec.rb +++ b/spec/lib/gitlab/ci/status/build/play_spec.rb @@ -14,6 +14,22 @@ describe Gitlab::Ci::Status::Build::Play do end end + describe '#status_tooltip' do + it 'does not override status status_tooltip' do + expect(status).to receive(:status_tooltip) + + subject.status_tooltip + end + end + + describe '#badge_tooltip' do + it 'does not override status badge_tooltip' do + expect(status).to receive(:badge_tooltip) + + subject.badge_tooltip + end + end + describe '#has_action?' do context 'when user is allowed to update build' do context 'when user is allowed to trigger protected action' do diff --git a/spec/lib/gitlab/ci/status/build/retried_spec.rb b/spec/lib/gitlab/ci/status/build/retried_spec.rb new file mode 100644 index 00000000000..ee9acaf1c21 --- /dev/null +++ b/spec/lib/gitlab/ci/status/build/retried_spec.rb @@ -0,0 +1,96 @@ +require 'spec_helper' + +describe Gitlab::Ci::Status::Build::Retried do + let(:build) { create(:ci_build, :retried) } + let(:status) { double('core status') } + let(:user) { double('user') } + + subject { described_class.new(status) } + + describe '#text' do + it 'does not override status text' do + expect(status).to receive(:text) + + subject.text + end + end + + describe '#icon' do + it 'does not override status icon' do + expect(status).to receive(:icon) + + subject.icon + end + end + + describe '#group' do + it 'does not override status group' do + expect(status).to receive(:group) + + subject.group + end + end + + describe '#favicon' do + it 'does not override status label' do + expect(status).to receive(:favicon) + + subject.favicon + end + end + + describe '#label' do + it 'does not override status label' do + expect(status).to receive(:label) + + subject.label + end + end + + describe '#badge_tooltip' do + let(:user) { create(:user) } + let(:build) { create(:ci_build, :retried) } + let(:status) { Gitlab::Ci::Status::Success.new(build, user) } + + it 'returns status' do + expect(status.badge_tooltip).to eq('pending') + end + end + + describe '#status_tooltip' do + let(:user) { create(:user) } + + context 'with a failed build' do + let(:build) { create(:ci_build, :failed, :retried) } + let(:failed_status) { Gitlab::Ci::Status::Failed.new(build, user) } + let(:status) { Gitlab::Ci::Status::Build::Failed.new(failed_status) } + + it 'does override status_tooltip' do + expect(subject.status_tooltip).to eq 'failed
(unknown failure) (retried)' + end + end + + context 'with another build' do + let(:build) { create(:ci_build, :retried) } + let(:status) { Gitlab::Ci::Status::Success.new(build, user) } + + it 'does override status_tooltip' do + expect(subject.status_tooltip).to eq 'passed (retried)' + end + end + end + + describe '.matches?' do + subject { described_class.matches?(build, user) } + + context 'with a retried build' do + it { is_expected.to be_truthy } + end + + context 'with a build that has not been retried' do + let(:build) { create(:ci_build, :success) } + + it { is_expected.to be_falsy } + end + end +end diff --git a/spec/lib/gitlab/ci/status/build/retryable_spec.rb b/spec/lib/gitlab/ci/status/build/retryable_spec.rb index 14d42e0d70f..0c5099b7da5 100644 --- a/spec/lib/gitlab/ci/status/build/retryable_spec.rb +++ b/spec/lib/gitlab/ci/status/build/retryable_spec.rb @@ -40,6 +40,24 @@ describe Gitlab::Ci::Status::Build::Retryable do end end + describe '#status_tooltip' do + it 'does not override status status_tooltip' do + expect(status).to receive(:status_tooltip) + + subject.status_tooltip + end + end + + describe '#badge_tooltip' do + let(:user) { create(:user) } + let(:build) { create(:ci_build) } + let(:status) { Gitlab::Ci::Status::Core.new(build, user) } + + it 'does return status' do + expect(status.badge_tooltip).to eq('pending') + end + end + describe 'action details' do let(:user) { create(:user) } let(:build) { create(:ci_build) } diff --git a/spec/lib/gitlab/ci/status/build/stop_spec.rb b/spec/lib/gitlab/ci/status/build/stop_spec.rb index 18e250772f0..f16fc5c9205 100644 --- a/spec/lib/gitlab/ci/status/build/stop_spec.rb +++ b/spec/lib/gitlab/ci/status/build/stop_spec.rb @@ -77,4 +77,24 @@ describe Gitlab::Ci::Status::Build::Stop do end end end + + describe '#status_tooltip' do + it 'does not override status status_tooltip' do + expect(status).to receive(:status_tooltip) + + subject.status_tooltip + end + end + + describe '#badge_tooltip' do + let(:user) { create(:user) } + let(:build) { create(:ci_build, :playable) } + let(:status) { Gitlab::Ci::Status::Core.new(build, user) } + + it 'does not override status badge_tooltip' do + expect(status).to receive(:badge_tooltip) + + subject.badge_tooltip + end + end end diff --git a/spec/lib/gitlab/ci/status/success_warning_spec.rb b/spec/lib/gitlab/ci/status/success_warning_spec.rb index 4582354e739..6d05545d1d8 100644 --- a/spec/lib/gitlab/ci/status/success_warning_spec.rb +++ b/spec/lib/gitlab/ci/status/success_warning_spec.rb @@ -1,8 +1,10 @@ require 'spec_helper' describe Gitlab::Ci::Status::SuccessWarning do + let(:status) { double('status') } + subject do - described_class.new(double('status')) + described_class.new(status) end describe '#test' do diff --git a/spec/presenters/ci/build_presenter_spec.rb b/spec/presenters/ci/build_presenter_spec.rb index 1a8001be6ab..cc16d0f156b 100644 --- a/spec/presenters/ci/build_presenter_spec.rb +++ b/spec/presenters/ci/build_presenter_spec.rb @@ -72,13 +72,44 @@ describe Ci::BuildPresenter do end end - context 'when build is not auto-canceled' do - before do - expect(build).to receive(:auto_canceled?).and_return(false) + context 'when build failed' do + let(:build) { create(:ci_build, :failed, pipeline: pipeline) } + + it 'returns the reason of failure' do + status_title = presenter.status_title + + expect(status_title).to eq('Failed
(unknown failure)') end + end + + context 'when build has failed && retried' do + let(:build) { create(:ci_build, :failed, :retried, pipeline: pipeline) } - it 'does not have a status title' do - expect(presenter.status_title).to be_nil + it 'does not include retried title' do + status_title = presenter.status_title + + expect(status_title).not_to include('(retried)') + expect(status_title).to eq('Failed
(unknown failure)') + end + end + + context 'when build has failed and is allowed to' do + let(:build) { create(:ci_build, :failed, :allowed_to_fail, pipeline: pipeline) } + + it 'returns the reason of failure' do + status_title = presenter.status_title + + expect(status_title).to eq('Failed
(unknown failure)') + end + end + + context 'For any other build' do + let(:build) { create(:ci_build, :success, pipeline: pipeline) } + + it 'returns the status' do + tooltip_description = presenter.status_title + + expect(tooltip_description).to eq('Success') end end end @@ -134,4 +165,56 @@ describe Ci::BuildPresenter do end end end + + describe '#tooltip_message' do + context 'When build has failed' do + let(:build) { create(:ci_build, :script_failure, pipeline: pipeline) } + + it 'returns the reason of failure' do + tooltip = subject.tooltip_message + + expect(tooltip).to eq("#{build.name} - failed
(script failure)") + end + end + + context 'When build has failed and retried' do + let(:build) { create(:ci_build, :script_failure, :retried, pipeline: pipeline) } + + it 'should include the reason of failure and the retried title' do + tooltip = subject.tooltip_message + + expect(tooltip).to eq("#{build.name} - failed
(script failure) (retried)") + end + end + + context 'When build has failed and is allowed to' do + let(:build) { create(:ci_build, :script_failure, :allowed_to_fail, pipeline: pipeline) } + + it 'should include the reason of failure' do + tooltip = subject.tooltip_message + + expect(tooltip).to eq("#{build.name} - failed
(script failure) (allowed to fail)") + end + end + + context 'For any other build (no retried)' do + let(:build) { create(:ci_build, :success, pipeline: pipeline) } + + it 'should include build name and status' do + tooltip = subject.tooltip_message + + expect(tooltip).to eq("#{build.name} - passed") + end + end + + context 'For any other build (retried)' do + let(:build) { create(:ci_build, :success, :retried, pipeline: pipeline) } + + it 'should include build name and status' do + tooltip = subject.tooltip_message + + expect(tooltip).to eq("#{build.name} - passed (retried)") + end + end + end end diff --git a/spec/serializers/build_serializer_spec.rb b/spec/serializers/build_serializer_spec.rb index 9673b11c2a2..98cd15e248b 100644 --- a/spec/serializers/build_serializer_spec.rb +++ b/spec/serializers/build_serializer_spec.rb @@ -28,15 +28,31 @@ describe BuildSerializer do end describe '#represent_status' do - context 'when represents only status' do - let(:resource) { create(:ci_build) } + context 'for a failed build' do + let(:resource) { create(:ci_build, :failed) } + let(:status) { resource.detailed_status(double('user')) } + + subject { serializer.represent_status(resource) } + + it 'serializes only status' do + expect(subject[:text]).to eq(status.text) + expect(subject[:label]).to eq('failed') + expect(subject[:tooltip]).to eq('failed
(unknown failure)') + expect(subject[:icon]).to eq(status.icon) + expect(subject[:favicon]).to match_asset_path("/assets/ci_favicons/#{status.favicon}.ico") + end + end + + context 'for any other type of build' do + let(:resource) { create(:ci_build, :success) } let(:status) { resource.detailed_status(double('user')) } subject { serializer.represent_status(resource) } it 'serializes only status' do expect(subject[:text]).to eq(status.text) - expect(subject[:label]).to eq(status.label) + expect(subject[:label]).to eq('passed') + expect(subject[:tooltip]).to eq('passed') expect(subject[:icon]).to eq(status.icon) expect(subject[:favicon]).to match_asset_path("/assets/ci_favicons/#{status.favicon}.ico") end diff --git a/spec/serializers/job_entity_spec.rb b/spec/serializers/job_entity_spec.rb index 026360e91a3..24a6f1a2a8a 100644 --- a/spec/serializers/job_entity_spec.rb +++ b/spec/serializers/job_entity_spec.rb @@ -38,7 +38,7 @@ describe JobEntity do it 'contains details' do expect(subject).to include :status - expect(subject[:status]).to include :icon, :favicon, :text, :label + expect(subject[:status]).to include :icon, :favicon, :text, :label, :tooltip end context 'when job is retryable' do @@ -126,7 +126,29 @@ describe JobEntity do it 'contains details' do expect(subject).to include :status - expect(subject[:status]).to include :icon, :favicon, :text, :label + expect(subject[:status]).to include :icon, :favicon, :text, :label, :tooltip + end + end + + context 'when job failed' do + let(:job) { create(:ci_build, :script_failure) } + + describe 'status' do + it 'should contain the failure reason inside label' do + expect(subject[:status]).to include :icon, :favicon, :text, :label, :tooltip + expect(subject[:status][:label]).to eq('failed') + expect(subject[:status][:tooltip]).to eq('failed
(script failure)') + end + end + end + + context 'when job passed' do + let(:job) { create(:ci_build, :success) } + + describe 'status' do + it 'should not contain the failure reason inside label' do + expect(subject[:status][:label]).to eq('passed') + end end end end diff --git a/spec/serializers/pipeline_entity_spec.rb b/spec/serializers/pipeline_entity_spec.rb index 248552d1858..2473c561f4b 100644 --- a/spec/serializers/pipeline_entity_spec.rb +++ b/spec/serializers/pipeline_entity_spec.rb @@ -30,7 +30,7 @@ describe PipelineEntity do expect(subject).to include :details expect(subject[:details]) .to include :duration, :finished_at - expect(subject[:details][:status]).to include :icon, :favicon, :text, :label + expect(subject[:details][:status]).to include :icon, :favicon, :text, :label, :tooltip end it 'contains flags' do diff --git a/spec/serializers/stage_entity_spec.rb b/spec/serializers/stage_entity_spec.rb index 40e303f7b89..2034c7891ef 100644 --- a/spec/serializers/stage_entity_spec.rb +++ b/spec/serializers/stage_entity_spec.rb @@ -26,7 +26,7 @@ describe StageEntity do end it 'contains detailed status' do - expect(subject[:status]).to include :text, :label, :group, :icon + expect(subject[:status]).to include :text, :label, :group, :icon, :tooltip expect(subject[:status][:label]).to eq 'passed' end diff --git a/spec/serializers/status_entity_spec.rb b/spec/serializers/status_entity_spec.rb index 70402bac2e2..559475e571c 100644 --- a/spec/serializers/status_entity_spec.rb +++ b/spec/serializers/status_entity_spec.rb @@ -16,7 +16,7 @@ describe StatusEntity do subject { entity.as_json } it 'contains status details' do - expect(subject).to include :text, :icon, :favicon, :label, :group + expect(subject).to include :text, :icon, :favicon, :label, :group, :tooltip expect(subject).to include :has_details, :details_path expect(subject[:favicon]).to match_asset_path('/assets/ci_favicons/favicon_status_success.ico') end diff --git a/spec/views/projects/jobs/show.html.haml_spec.rb b/spec/views/projects/jobs/show.html.haml_spec.rb index 6a67da79ec5..9e692159bd0 100644 --- a/spec/views/projects/jobs/show.html.haml_spec.rb +++ b/spec/views/projects/jobs/show.html.haml_spec.rb @@ -1,8 +1,10 @@ require 'spec_helper' describe 'projects/jobs/show' do + let(:user) { create(:user) } let(:project) { create(:project, :repository) } let(:build) { create(:ci_build, pipeline: pipeline) } + let(:builds) { project.builds.present(current_user: user) } let(:pipeline) do create(:ci_pipeline, project: project, sha: project.commit.id) @@ -11,6 +13,7 @@ describe 'projects/jobs/show' do before do assign(:build, build.present) assign(:project, project) + assign(:builds, builds) allow(view).to receive(:can?).and_return(true) end -- cgit v1.2.1 From 8fd61a7e44614a2e4ab24a52d43fe2b676d6532e Mon Sep 17 00:00:00 2001 From: Joshua Lambert Date: Thu, 5 Apr 2018 17:14:08 -0400 Subject: Add changelog item --- .../45070-prometheus-integration-via-kubernetes-is-broken.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/45070-prometheus-integration-via-kubernetes-is-broken.yml diff --git a/changelogs/unreleased/45070-prometheus-integration-via-kubernetes-is-broken.yml b/changelogs/unreleased/45070-prometheus-integration-via-kubernetes-is-broken.yml new file mode 100644 index 00000000000..046785deb3f --- /dev/null +++ b/changelogs/unreleased/45070-prometheus-integration-via-kubernetes-is-broken.yml @@ -0,0 +1,5 @@ +--- +title: Work around Prometheus Helm chart name changes to fix integration +merge_request: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18206/ +author: joshlambert +type: fixed -- cgit v1.2.1 From 78ff68a2108bb78a9fa488ff995b2111ad837c72 Mon Sep 17 00:00:00 2001 From: Lukas Eipert Date: Fri, 6 Apr 2018 08:22:57 +0000 Subject: Polish design of domain verification for Gitlab Pages --- app/assets/stylesheets/framework/lists.scss | 13 +++-- app/assets/stylesheets/framework/typography.scss | 5 ++ app/assets/stylesheets/pages/pages.scss | 60 ++++++++++++++++++++++ app/views/projects/pages/_list.html.haml | 37 ++++++------- app/views/projects/pages/show.html.haml | 3 +- app/views/projects/pages_domains/edit.html.haml | 2 +- app/views/projects/pages_domains/new.html.haml | 2 +- app/views/projects/pages_domains/show.html.haml | 54 +++++++++++-------- .../43215-update-design-for-verifying-domains.yml | 5 ++ 9 files changed, 134 insertions(+), 47 deletions(-) create mode 100644 app/assets/stylesheets/pages/pages.scss create mode 100644 changelogs/unreleased/43215-update-design-for-verifying-domains.yml diff --git a/app/assets/stylesheets/framework/lists.scss b/app/assets/stylesheets/framework/lists.scss index 7e829826eba..f1a8a46dda4 100644 --- a/app/assets/stylesheets/framework/lists.scss +++ b/app/assets/stylesheets/framework/lists.scss @@ -24,6 +24,10 @@ color: $list-text-disabled-color; } + &:not(.ui-sort-disabled):hover { + background: $row-hover; + } + &.unstyled { &:hover { background: none; @@ -34,14 +38,15 @@ background-color: $list-warning-row-bg; border-color: $list-warning-row-border; color: $list-warning-row-color; - } - &.smoke { background-color: $gray-light; } + &:hover { + background: $list-warning-row-bg; + } - &:not(.ui-sort-disabled):hover { - background: $row-hover; } + &.smoke { background-color: $gray-light; } + &:last-child { border-bottom: 0; diff --git a/app/assets/stylesheets/framework/typography.scss b/app/assets/stylesheets/framework/typography.scss index 294c59f037f..9e1371648ed 100644 --- a/app/assets/stylesheets/framework/typography.scss +++ b/app/assets/stylesheets/framework/typography.scss @@ -289,6 +289,11 @@ body { &:last-child { margin-bottom: 0; } + + &.with-button { + line-height: 34px; + } + } .page-title-empty { diff --git a/app/assets/stylesheets/pages/pages.scss b/app/assets/stylesheets/pages/pages.scss new file mode 100644 index 00000000000..fb42dee66d2 --- /dev/null +++ b/app/assets/stylesheets/pages/pages.scss @@ -0,0 +1,60 @@ +.pages-domain-list { + &-item { + position: relative; + display: flex; + align-items: center; + + .domain-status { + display: inline-flex; + left: $gl-padding; + position: absolute; + } + + .domain-name { + flex-grow: 1; + } + + } + + &.has-verification-status > li { + padding-left: 3 * $gl-padding; + } + +} + +.status-badge { + + display: inline-flex; + margin-bottom: $gl-padding-8; + + // Most of the following settings "stolen" from btn-sm + // Border radius is overwritten for both + .label, + .btn { + padding: $gl-padding-4 $gl-padding-8; + font-size: $gl-font-size; + line-height: $gl-btn-line-height; + border-radius: 0; + display: flex; + align-items: center; + } + + .btn svg { + top: auto; + } + + :first-child { + border-bottom-left-radius: $border-radius-default; + border-top-left-radius: $border-radius-default; + } + + :not(:first-child) { + border-left: 0; + } + + :last-child { + border-bottom-right-radius: $border-radius-default; + border-top-right-radius: $border-radius-default; + } + +} diff --git a/app/views/projects/pages/_list.html.haml b/app/views/projects/pages/_list.html.haml index 75df92b05a7..27bbe52a714 100644 --- a/app/views/projects/pages/_list.html.haml +++ b/app/views/projects/pages/_list.html.haml @@ -1,28 +1,29 @@ +- verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled? + - if can?(current_user, :update_pages, @project) && @domains.any? .panel.panel-default .panel-heading Domains (#{@domains.count}) - %ul.well-list - - verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled? + %ul.well-list.pages-domain-list{ class: ("has-verification-status" if verification_enabled) } - @domains.each do |domain| - %li - .pull-right + %li.pages-domain-list-item.unstyled + - if verification_enabled + - tooltip, status = domain.unverified? ? [_('Unverified'), 'failed'] : [_('Verified'), 'success'] + .domain-status.ci-status-icon.has-tooltip{ class: "ci-status-icon-#{status}", title: tooltip } + = sprite_icon("status_#{status}", size: 16 ) + .domain-name + = link_to domain.url do + = domain.url + = icon('external-link') + - if domain.subject + %p + %span.label.label-gray Certificate: #{domain.subject} + - if domain.expired? + %span.label.label-danger Expired + %div = link_to 'Details', project_pages_domain_path(@project, domain), class: "btn btn-sm btn-grouped" = link_to 'Remove', project_pages_domain_path(@project, domain), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-remove btn-sm btn-grouped" - .clearfix - - if verification_enabled - - tooltip, status = domain.unverified? ? ['Unverified', 'failed'] : ['Verified', 'success'] - = link_to domain.url, title: tooltip, class: 'has-tooltip' do - = sprite_icon("status_#{status}", size: 16, css_class: "has-tooltip ci-status-icon ci-status-icon-#{status}") - = domain.domain - - else - = link_to domain.domain, domain.url - %p - - if domain.subject - %span.label.label-gray Certificate: #{domain.subject} - - if domain.expired? - %span.label.label-danger Expired - if verification_enabled && domain.unverified? %li.warning-row #{domain.domain} is not verified. To learn how to verify ownership, visit your - = link_to 'domain details', project_pages_domain_path(@project, domain) + #{link_to 'domain details', project_pages_domain_path(@project, domain)}. diff --git a/app/views/projects/pages/show.html.haml b/app/views/projects/pages/show.html.haml index f17d9d24db6..6adaea799b2 100644 --- a/app/views/projects/pages/show.html.haml +++ b/app/views/projects/pages/show.html.haml @@ -1,11 +1,10 @@ - page_title 'Pages' -%h3.page_title +%h3.page-title.with-button Pages - if can?(current_user, :update_pages, @project) && (Gitlab.config.pages.external_http || Gitlab.config.pages.external_https) = link_to new_project_pages_domain_path(@project), class: 'btn btn-new pull-right', title: 'New Domain' do - %i.fa.fa-plus New Domain %p.light diff --git a/app/views/projects/pages_domains/edit.html.haml b/app/views/projects/pages_domains/edit.html.haml index 5645a4604bf..6c404990492 100644 --- a/app/views/projects/pages_domains/edit.html.haml +++ b/app/views/projects/pages_domains/edit.html.haml @@ -1,7 +1,7 @@ - add_to_breadcrumbs "Pages", project_pages_path(@project) - breadcrumb_title @domain.domain - page_title @domain.domain -%h3.page_title +%h3.page-title = @domain.domain %hr.clearfix %div diff --git a/app/views/projects/pages_domains/new.html.haml b/app/views/projects/pages_domains/new.html.haml index e49163880c7..269df803a2b 100644 --- a/app/views/projects/pages_domains/new.html.haml +++ b/app/views/projects/pages_domains/new.html.haml @@ -1,6 +1,6 @@ - add_to_breadcrumbs "Pages", project_pages_path(@project) - page_title 'New Pages Domain' -%h3.page_title +%h3.page-title New Pages Domain %hr.clearfix %div diff --git a/app/views/projects/pages_domains/show.html.haml b/app/views/projects/pages_domains/show.html.haml index ba0713daee9..44d66f3b2d0 100644 --- a/app/views/projects/pages_domains/show.html.haml +++ b/app/views/projects/pages_domains/show.html.haml @@ -1,17 +1,19 @@ - add_to_breadcrumbs "Pages", project_pages_path(@project) - breadcrumb_title @domain.domain - page_title "#{@domain.domain}", 'Pages Domains' +- dns_record = "#{@domain.domain} CNAME #{@domain.project.pages_subdomain}.#{Settings.pages.host}." - verification_enabled = Gitlab::CurrentSettings.pages_domain_verification_enabled? + - if verification_enabled && @domain.unverified? - %p.alert.alert-warning - %strong - This domain is not verified. You will need to verify ownership before - access is enabled. + = content_for :flash_message do + .alert.alert-warning + .container-fluid.container-limited + This domain is not verified. You will need to verify ownership before access is enabled. -%h3.page-title - Pages Domain +%h3.page-title.with-button = link_to 'Edit', edit_project_pages_domain_path(@project, @domain), class: 'btn btn-success pull-right' + Pages Domain .table-holder %table.table @@ -19,31 +21,41 @@ %td Domain %td - = link_to @domain.domain, @domain.url + = link_to @domain.url do + = @domain.url + = icon('external-link') %tr %td DNS %td - %p - To access this domain create a new DNS record: - %pre - #{@domain.domain} CNAME #{@domain.project.pages_subdomain}.#{Settings.pages.host}. + .input-group + = text_field_tag :domain_dns, dns_record , class: "monospace js-select-on-focus form-control", readonly: true + .input-group-btn + = clipboard_button(target: '#domain_dns', class: 'btn-default hidden-xs') + %p.help-block + To access this domain create a new DNS record + - if verification_enabled + - verification_record = "#{@domain.verification_domain} TXT #{@domain.keyed_verification_code}" %tr %td Verification status %td - %p + = form_tag verify_project_pages_domain_path(@project, @domain) do + .status-badge + - text, status = @domain.unverified? ? [_('Unverified'), 'label-danger'] : [_('Verified'), 'label-success'] + .label{ class: status } + = text + %button.btn.has-tooltip{ type: "submit", data: { container: 'body' }, title: _("Retry verification") } + = sprite_icon('redo') + .input-group + = text_field_tag :domain_verification, verification_record, class: "monospace js-select-on-focus form-control", readonly: true + .input-group-btn + = clipboard_button(target: '#domain_verification', class: 'btn-default hidden-xs') + %p.help-block - help_link = help_page_path('user/project/pages/getting_started_part_three.md', anchor: 'dns-txt-record') - To #{link_to 'verify ownership', help_link} of your domain, create - this DNS record: - %pre - #{@domain.verification_domain} TXT #{@domain.keyed_verification_code} - %p - - if @domain.verified? - #{@domain.domain} has been successfully verified. - - else - = button_to 'Verify ownership', verify_project_pages_domain_path(@project, @domain), class: 'btn btn-save btn-sm' + To #{link_to 'verify ownership', help_link} of your domain, + add the above key to a TXT record within to your DNS configuration. %tr %td diff --git a/changelogs/unreleased/43215-update-design-for-verifying-domains.yml b/changelogs/unreleased/43215-update-design-for-verifying-domains.yml new file mode 100644 index 00000000000..8326540f7b2 --- /dev/null +++ b/changelogs/unreleased/43215-update-design-for-verifying-domains.yml @@ -0,0 +1,5 @@ +--- +title: Polish design for verifying domains +merge_request: 17767 +author: +type: changed -- cgit v1.2.1 From 847f1667c89831213859d62ca66fbd55181fb129 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Fri, 6 Apr 2018 10:41:58 +0200 Subject: Document unsupported variables for dynamic environments --- doc/ci/environments.md | 15 ++++++++++++--- doc/ci/variables/README.md | 4 ++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/doc/ci/environments.md b/doc/ci/environments.md index 58c4a71cef9..b3d9f0bc96c 100644 --- a/doc/ci/environments.md +++ b/doc/ci/environments.md @@ -247,10 +247,19 @@ declaring their names dynamically in `.gitlab-ci.yml`. Dynamic environments is the basis of [Review apps](review_apps/index.md). >**Note:** -The `name` and `url` parameters can use any of the defined CI variables, +The `name` and `url` parameters can use most of the defined CI variables, including predefined, secure variables and `.gitlab-ci.yml` -[`variables`](yaml/README.md#variables). -You however cannot use variables defined under `script` or on the Runner's side. +[`variables`](yaml/README.md#variables). You however cannot use variables +defined under `script` or on the Runner's side. There are other variables that +are unsupported in environment name context: +- `CI_JOB_ID` +- `CI_JOB_TOKEN` +- `CI_BUILD_ID` +- `CI_BUILD_TOKEN` +- `CI_REGISTRY_USER` +- `CI_REGISTRY_PASSWORD` +- `CI_REPOSITORY_URL` +- `CI_ENVIRONMENT_URL` GitLab Runner exposes various [environment variables][variables] when a job runs, and as such, you can use them as environment names. Let's add another job in diff --git a/doc/ci/variables/README.md b/doc/ci/variables/README.md index 381405a9db9..4a504a98902 100644 --- a/doc/ci/variables/README.md +++ b/doc/ci/variables/README.md @@ -547,6 +547,9 @@ You can find a full list of unsupported variables below: - `CI_REPOSITORY_URL` - `CI_ENVIRONMENT_URL` +These variables are also not supported in a contex of a +[dynamic environment name][dynamic-environments]. + [ce-13784]: https://gitlab.com/gitlab-org/gitlab-ce/issues/13784 "Simple protection of CI secret variables" [eep]: https://about.gitlab.com/products/ "Available only in GitLab Premium" [envs]: ../environments.md @@ -558,3 +561,4 @@ You can find a full list of unsupported variables below: [triggers]: ../triggers/README.md#pass-job-variables-to-a-trigger [subgroups]: ../../user/group/subgroups/index.md [builds-policies]: ../yaml/README.md#only-and-except-complex +[dynamic-environments]: ../environments.md#dynamic-environments -- cgit v1.2.1 From 388f43b6111bf35561988d327c462ab75afc34f6 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Thu, 5 Apr 2018 13:55:55 +0530 Subject: Add map for supported noteable types --- app/assets/javascripts/notes/constants.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/assets/javascripts/notes/constants.js b/app/assets/javascripts/notes/constants.js index 68f8cb1cf1e..c4de4826eda 100644 --- a/app/assets/javascripts/notes/constants.js +++ b/app/assets/javascripts/notes/constants.js @@ -14,3 +14,9 @@ export const EPIC_NOTEABLE_TYPE = 'epic'; export const MERGE_REQUEST_NOTEABLE_TYPE = 'merge_request'; export const UNRESOLVE_NOTE_METHOD_NAME = 'delete'; export const RESOLVE_NOTE_METHOD_NAME = 'post'; + +export const NOTEABLE_TYPE_MAPPING = { + Issue: ISSUE_NOTEABLE_TYPE, + MergeRequest: MERGE_REQUEST_NOTEABLE_TYPE, + Epic: EPIC_NOTEABLE_TYPE, +}; -- cgit v1.2.1 From 15195f67840cd5369d776938b62b02aa939a4270 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Thu, 5 Apr 2018 13:56:15 +0530 Subject: Use noteable type map from constants --- app/assets/javascripts/notes/mixins/noteable.js | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/app/assets/javascripts/notes/mixins/noteable.js b/app/assets/javascripts/notes/mixins/noteable.js index 5bf8216a1f3..b68543d71c8 100644 --- a/app/assets/javascripts/notes/mixins/noteable.js +++ b/app/assets/javascripts/notes/mixins/noteable.js @@ -9,16 +9,7 @@ export default { }, computed: { noteableType() { - switch (this.note.noteable_type) { - case 'MergeRequest': - return constants.MERGE_REQUEST_NOTEABLE_TYPE; - case 'Issue': - return constants.ISSUE_NOTEABLE_TYPE; - case 'Epic': - return constants.EPIC_NOTEABLE_TYPE; - default: - return ''; - } + return constants.NOTEABLE_TYPE_MAPPING[this.note.noteable_type]; }, }, }; -- cgit v1.2.1 From 223eeae1a774df4f8d7f132040ba10547184ec68 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Thu, 5 Apr 2018 13:56:54 +0530 Subject: Return noteableType from app initial config --- app/assets/javascripts/notes/components/notes_app.vue | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/app/assets/javascripts/notes/components/notes_app.vue b/app/assets/javascripts/notes/components/notes_app.vue index 5bd81c7cad6..ebfc827ac57 100644 --- a/app/assets/javascripts/notes/components/notes_app.vue +++ b/app/assets/javascripts/notes/components/notes_app.vue @@ -49,16 +49,7 @@ export default { computed: { ...mapGetters(['notes', 'getNotesDataByProp', 'discussionCount']), noteableType() { - // FIXME -- @fatihacet Get this from JSON data. - const { ISSUE_NOTEABLE_TYPE, MERGE_REQUEST_NOTEABLE_TYPE, EPIC_NOTEABLE_TYPE } = constants; - - if (this.noteableData.noteableType === EPIC_NOTEABLE_TYPE) { - return EPIC_NOTEABLE_TYPE; - } - - return this.noteableData.merge_params - ? MERGE_REQUEST_NOTEABLE_TYPE - : ISSUE_NOTEABLE_TYPE; + return this.noteableData.noteableType; }, allNotes() { if (this.isLoading) { -- cgit v1.2.1 From a983583ae8f3dd3e8cafb13d3934636cb095cfcc Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Thu, 5 Apr 2018 13:57:26 +0530 Subject: Set `noteable_type` to use in notesApp --- app/views/projects/issues/_discussion.html.haml | 1 + app/views/projects/merge_requests/show.html.haml | 1 + 2 files changed, 2 insertions(+) diff --git a/app/views/projects/issues/_discussion.html.haml b/app/views/projects/issues/_discussion.html.haml index cdfc3e232c5..816f2fa816d 100644 --- a/app/views/projects/issues/_discussion.html.haml +++ b/app/views/projects/issues/_discussion.html.haml @@ -8,4 +8,5 @@ %section.js-vue-notes-event #js-vue-notes{ data: { notes_data: notes_data(@issue), noteable_data: serialize_issuable(@issue), + noteable_type: 'issue', current_user_data: UserSerializer.new.represent(current_user, only_path: true).to_json } } diff --git a/app/views/projects/merge_requests/show.html.haml b/app/views/projects/merge_requests/show.html.haml index 9866cc716ee..15a0e4d7ef5 100644 --- a/app/views/projects/merge_requests/show.html.haml +++ b/app/views/projects/merge_requests/show.html.haml @@ -80,6 +80,7 @@ - if has_vue_discussions_cookie? #js-vue-mr-discussions{ data: { notes_data: notes_data(@merge_request), noteable_data: serialize_issuable(@merge_request), + noteable_type: 'merge_request', current_user_data: UserSerializer.new.represent(current_user).to_json} } #commits.commits.tab-pane -- cgit v1.2.1 From 7544a555aafc4bd021e5ae73bef6a650e6144b38 Mon Sep 17 00:00:00 2001 From: Kushal Pandya Date: Thu, 5 Apr 2018 14:57:22 +0530 Subject: Add noteableType to mock data object --- spec/javascripts/notes/mock_data.js | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/javascripts/notes/mock_data.js b/spec/javascripts/notes/mock_data.js index 2d88cee61f1..24388fba219 100644 --- a/spec/javascripts/notes/mock_data.js +++ b/spec/javascripts/notes/mock_data.js @@ -52,6 +52,7 @@ export const noteableDataMock = { updated_at: '2017-08-04T09:53:01.226Z', updated_by_id: 1, web_url: '/gitlab-org/gitlab-ce/issues/26', + noteableType: 'issue', }; export const lastFetchedAt = '1501862675'; -- cgit v1.2.1 From bf54baa73bb648be3e13a74c14641e3916b54269 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Fri, 6 Apr 2018 09:17:35 +0000 Subject: Add note about contributing back to GitLab to plugins.md --- doc/administration/plugins.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/administration/plugins.md b/doc/administration/plugins.md index c91ac3012b9..dedb1f913d7 100644 --- a/doc/administration/plugins.md +++ b/doc/administration/plugins.md @@ -1,5 +1,9 @@ # Plugins +**Note:** Instead of writing and supporting your own plugin you can make changes +directly to the GitLab source code and contribute it back to the upstream. This way we can +ensure functionality is preserved across versions and covered by tests. + **Note:** Plugins must be configured on the filesystem of the GitLab server. Only GitLab server administrators will be able to complete these tasks. Please explore [system hooks] or [webhooks] as an option if you do not -- cgit v1.2.1 From 43ef375e084884ed4260ac9c9de8f601d5594c90 Mon Sep 17 00:00:00 2001 From: Shah El-Rahman Date: Fri, 6 Apr 2018 09:36:22 +0000 Subject: Add confirmation modal to "Change username" --- .../profile/account/components/update_username.vue | 121 +++++++++++++++ app/assets/javascripts/profile/account/index.js | 15 ++ .../javascripts/vue_shared/components/gl_modal.vue | 77 +++++---- app/controllers/profiles_controller.rb | 18 ++- app/views/profiles/accounts/show.html.haml | 16 +- ...g-username-url-still-redirects-to-old-route.yml | 5 + spec/controllers/profiles_controller_spec.rb | 22 +++ spec/features/profile_spec.rb | 8 +- spec/features/profiles/account_spec.rb | 12 +- .../account/components/update_username_spec.js | 172 +++++++++++++++++++++ 10 files changed, 400 insertions(+), 66 deletions(-) create mode 100644 app/assets/javascripts/profile/account/components/update_username.vue create mode 100644 changelogs/unreleased/41758-after-changing-username-url-still-redirects-to-old-route.yml create mode 100644 spec/javascripts/profile/account/components/update_username_spec.js diff --git a/app/assets/javascripts/profile/account/components/update_username.vue b/app/assets/javascripts/profile/account/components/update_username.vue new file mode 100644 index 00000000000..e5de3f69b01 --- /dev/null +++ b/app/assets/javascripts/profile/account/components/update_username.vue @@ -0,0 +1,121 @@ + + diff --git a/app/assets/javascripts/profile/account/index.js b/app/assets/javascripts/profile/account/index.js index 84049a1f0b7..59c13e1a042 100644 --- a/app/assets/javascripts/profile/account/index.js +++ b/app/assets/javascripts/profile/account/index.js @@ -1,10 +1,25 @@ import Vue from 'vue'; import Translate from '~/vue_shared/translate'; +import UpdateUsername from './components/update_username.vue'; import deleteAccountModal from './components/delete_account_modal.vue'; export default () => { Vue.use(Translate); + const updateUsernameElement = document.getElementById('update-username'); + // eslint-disable-next-line no-new + new Vue({ + el: updateUsernameElement, + components: { + UpdateUsername, + }, + render(createElement) { + return createElement('update-username', { + props: { ...updateUsernameElement.dataset }, + }); + }, + }); + const deleteAccountButton = document.getElementById('delete-account-button'); const deleteAccountModalEl = document.getElementById('delete-account-modal'); // eslint-disable-next-line no-new diff --git a/app/assets/javascripts/vue_shared/components/gl_modal.vue b/app/assets/javascripts/vue_shared/components/gl_modal.vue index 67c9181c7b1..f28e5e2715d 100644 --- a/app/assets/javascripts/vue_shared/components/gl_modal.vue +++ b/app/assets/javascripts/vue_shared/components/gl_modal.vue @@ -1,47 +1,42 @@